files.sunxi revision 1.42
1# $NetBSD: files.sunxi,v 1.42 2018/02/18 10:28:37 jmcneill Exp $ 2# 3# Configuration info for Allwinner sunxi family SoCs 4# 5# 6 7include "arch/arm/pic/files.pic" 8include "arch/arm/cortex/files.cortex" 9 10file arch/arm/arm32/arm32_boot.c 11file arch/arm/arm32/arm32_kvminit.c 12file arch/arm/arm32/arm32_reboot.c 13file arch/arm/arm32/irq_dispatch.S 14file arch/arm/arm32/armv7_generic_space.c 15file arch/arm/arm32/armv7_generic_dma.c 16file arch/arm/arm/bus_space_a4x.S 17 18file arch/arm/sunxi/sunxi_platform.c soc_sunxi 19 20# CCU 21define sunxi_ccu 22file arch/arm/sunxi/sunxi_ccu.c sunxi_ccu 23file arch/arm/sunxi/sunxi_ccu_div.c sunxi_ccu 24file arch/arm/sunxi/sunxi_ccu_fixed_factor.c sunxi_ccu 25file arch/arm/sunxi/sunxi_ccu_gate.c sunxi_ccu 26file arch/arm/sunxi/sunxi_ccu_nm.c sunxi_ccu 27file arch/arm/sunxi/sunxi_ccu_nkmp.c sunxi_ccu 28file arch/arm/sunxi/sunxi_ccu_phase.c sunxi_ccu 29file arch/arm/sunxi/sunxi_ccu_prediv.c sunxi_ccu 30 31# CCU (A10/A20) 32device sun4ia10ccu: sunxi_ccu 33attach sun4ia10ccu at fdt with sunxi_a10_ccu 34file arch/arm/sunxi/sun4i_a10_ccu.c sunxi_a10_ccu 35 36# CCU (A13) 37device sun5ia13ccu: sunxi_ccu 38attach sun5ia13ccu at fdt with sunxi_a13_ccu 39file arch/arm/sunxi/sun5i_a13_ccu.c sunxi_a13_ccu 40 41# CCU (A31) 42device sun6ia31ccu: sunxi_ccu 43attach sun6ia31ccu at fdt with sunxi_a31_ccu 44file arch/arm/sunxi/sun6i_a31_ccu.c sunxi_a31_ccu 45 46# CCU (A83T) 47device sun8ia83tccu: sunxi_ccu 48attach sun8ia83tccu at fdt with sunxi_a83t_ccu 49file arch/arm/sunxi/sun8i_a83t_ccu.c sunxi_a83t_ccu 50 51# CCU (H3) 52device sun8ih3ccu: sunxi_ccu 53attach sun8ih3ccu at fdt with sunxi_h3_ccu 54file arch/arm/sunxi/sun8i_h3_ccu.c sunxi_h3_ccu 55 56# CCU (H3 PRCM) 57device sun8ih3rccu: sunxi_ccu 58attach sun8ih3rccu at fdt with sunxi_h3_r_ccu 59file arch/arm/sunxi/sun8i_h3_r_ccu.c sunxi_h3_r_ccu 60 61# CCU (A80) 62device sun9ia80ccu: sunxi_ccu 63attach sun9ia80ccu at fdt with sunxi_a80_ccu 64file arch/arm/sunxi/sun9i_a80_ccu.c sunxi_a80_ccu 65 66# CCU (A64) 67device sun50ia64ccu: sunxi_ccu 68attach sun50ia64ccu at fdt with sunxi_a64_ccu 69file arch/arm/sunxi/sun50i_a64_ccu.c sunxi_a64_ccu 70 71# Misc. clock resets 72device sunxiresets 73attach sunxiresets at fdt with sunxi_resets 74file arch/arm/sunxi/sunxi_resets.c sunxi_resets 75 76# Misc. clock gates 77device sunxigates 78attach sunxigates at fdt with sunxi_gates 79file arch/arm/sunxi/sunxi_gates.c sunxi_gates 80 81# GMAC MII/RGMII clock mux 82device sunxigmacclk 83attach sunxigmacclk at fdt with sunxi_gmacclk 84file arch/arm/sunxi/sunxi_gmacclk.c sunxi_gmacclk 85 86# SD/MMC-COMM (A80) 87device sun9immcclk 88attach sun9immcclk at fdt with sunxi_a80_mmcclk 89file arch/arm/sunxi/sun9i_a80_mmcclk.c sunxi_a80_mmcclk 90 91# Interrupt controller 92device sunxiintc: pic, pic_splfuncs 93attach sunxiintc at fdt with sunxi_intc 94file arch/arm/sunxi/sunxi_intc.c sunxi_intc 95 96# GPIO 97device sunxigpio: gpiobus 98attach sunxigpio at fdt with sunxi_gpio 99file arch/arm/sunxi/sunxi_gpio.c sunxi_gpio 100file arch/arm/sunxi/sun4i_a10_gpio.c sunxi_gpio & soc_sun4i_a10 101file arch/arm/sunxi/sun5i_a13_gpio.c sunxi_gpio & soc_sun5i_a13 102file arch/arm/sunxi/sun6i_a31_gpio.c sunxi_gpio & soc_sun6i_a31 103file arch/arm/sunxi/sun7i_a20_gpio.c sunxi_gpio & soc_sun7i_a20 104file arch/arm/sunxi/sun8i_a83t_gpio.c sunxi_gpio & soc_sun8i_a83t 105file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & (soc_sun8i_h3 | soc_sun50i_h5) 106file arch/arm/sunxi/sun9i_a80_gpio.c sunxi_gpio & soc_sun9i_a80 107file arch/arm/sunxi/sun50i_a64_gpio.c sunxi_gpio & soc_sun50i_a64 108file arch/arm/sunxi/sun50i_h6_gpio.c sunxi_gpio & soc_sun50i_h6 109 110# UART 111attach com at fdt with sunxi_com 112file arch/arm/sunxi/sunxi_com.c sunxi_com needs-flag 113 114# SD/MMC 115device sunximmc: sdmmcbus 116attach sunximmc at fdt with sunxi_mmc 117file arch/arm/sunxi/sunxi_mmc.c sunxi_mmc 118defparam opt_sunximmc.h SUNXI_MMC_DEBUG 119 120# USB PHY 121device sunxiusbphy 122attach sunxiusbphy at fdt with sunxi_usbphy 123file arch/arm/sunxi/sunxi_usbphy.c sunxi_usbphy 124 125# EHCI 126attach ehci at fdt with ehci_fdt 127file dev/fdt/ehci_fdt.c ehci_fdt 128 129# OHCI 130attach ohci at fdt with ohci_fdt 131file dev/fdt/ohci_fdt.c ohci_fdt 132 133# TWI 134device sunxitwi: i2cbus, i2cexec, mvi2c 135attach sunxitwi at fdt with sunxi_twi 136file arch/arm/sunxi/sunxi_twi.c sunxi_twi 137 138# P2WI/RSB 139device sunxirsb: i2cbus, i2cexec 140attach sunxirsb at fdt with sunxi_rsb 141file arch/arm/sunxi/sunxi_rsb.c sunxi_rsb 142 143# RTC 144device sunxirtc 145attach sunxirtc at fdt with sunxi_rtc 146file arch/arm/sunxi/sunxi_rtc.c sunxi_rtc 147 148# EMAC (common) 149device emac: arp, ether, ifnet, mii 150 151# EMAC (sun4i/sun5i/sun7i) 152ifdef arm 153attach emac at fdt with sun4i_emac 154file arch/arm/sunxi/sun4i_emac.c sun4i_emac 155endif 156 157# EMAC (sun8i/sun50i) 158attach emac at fdt with sunxi_emac 159file arch/arm/sunxi/sunxi_emac.c sunxi_emac 160 161# GMAC 162attach awge at fdt with sunxi_gmac 163file arch/arm/sunxi/sunxi_gmac.c sunxi_gmac 164 165# Timer 166device sunxitimer 167attach sunxitimer at fdt with sunxi_timer 168file arch/arm/sunxi/sunxi_timer.c sunxi_timer 169 170# Watchdog 171device sunxiwdt: sysmon_wdog 172attach sunxiwdt at fdt with sunxi_wdt 173file arch/arm/sunxi/sunxi_wdt.c sunxi_wdt 174 175# DMA controller (sun4i) 176device sun4idma 177attach sun4idma at fdt with sun4i_dma 178file arch/arm/sunxi/sun4i_dma.c sun4i_dma 179 180# DMA controller (sun6i) 181device sun6idma 182attach sun6idma at fdt with sun6i_dma 183file arch/arm/sunxi/sun6i_dma.c sun6i_dma 184 185# Audio codec 186device sunxicodec: audiobus, auconv, mulaw, aurateconv 187attach sunxicodec at fdt with sunxi_codec 188file arch/arm/sunxi/sunxi_codec.c sunxi_codec 189file arch/arm/sunxi/sun4i_a10_codec.c sunxi_codec 190file arch/arm/sunxi/sun6i_a31_codec.c sunxi_codec 191 192# H3 Audio codec (analog part) 193device h3codec 194attach h3codec at fdt with h3_codec 195file arch/arm/sunxi/sun8i_h3_codec.c h3_codec needs-flag 196 197# Display controller 198attach genfb at fdt with simplefb 199file dev/fdt/simplefb.c simplefb 200 201# Touch Screen controller 202device sunxits: wsmousedev, tpcalib, sysmon_envsys 203attach sunxits at fdt with sunxi_ts 204file arch/arm/sunxi/sunxi_ts.c sunxi_ts 205 206# USB OTG 207attach motg at fdt with sunxi_musb 208file arch/arm/sunxi/sunxi_musb.c sunxi_musb 209 210# Security ID EFUSE 211device sunxisid 212attach sunxisid at fdt with sunxi_sid 213file arch/arm/sunxi/sunxi_sid.c sunxi_sid 214 215# Thermal sensor controller 216device sunxithermal: sysmon_envsys, sysmon_taskq 217attach sunxithermal at fdt with sunxi_thermal 218file arch/arm/sunxi/sunxi_thermal.c sunxi_thermal 219 220# SATA 221attach ahcisata at fdt with sunxi_sata 222file arch/arm/sunxi/sunxi_sata.c sunxi_sata 223 224# SRAM Controller 225device sunxisramc 226attach sunxisramc at fdt with sunxi_sramc 227file arch/arm/sunxi/sunxi_sramc.c sunxi_sramc 228 229# NAND Flash Controller 230device sunxinand: nandbus 231attach sunxinand at fdt with sunxi_nand 232file arch/arm/sunxi/sunxi_nand.c sunxi_nand 233 234# SPI Controller (sun6i-compatible) 235device sun6ispi: spibus 236attach sun6ispi at fdt with sun6i_spi 237file arch/arm/sunxi/sun6i_spi.c sun6i_spi 238 239# SOC parameters 240defflag opt_soc.h SOC_SUNXI 241defflag opt_soc.h SOC_SUN4I: SOC_SUNXI 242defflag opt_soc.h SOC_SUN4I_A10: SOC_SUN4I 243defflag opt_soc.h SOC_SUN5I: SOC_SUNXI 244defflag opt_soc.h SOC_SUN5I_A13: SOC_SUN5I 245defflag opt_soc.h SOC_SUN6I: SOC_SUNXI 246defflag opt_soc.h SOC_SUN6I_A31: SOC_SUN6I 247defflag opt_soc.h SOC_SUN7I: SOC_SUNXI 248defflag opt_soc.h SOC_SUN7I_A20: SOC_SUN7I 249defflag opt_soc.h SOC_SUN8I: SOC_SUNXI 250defflag opt_soc.h SOC_SUN8I_A83T: SOC_SUN8I 251defflag opt_soc.h SOC_SUN8I_H3: SOC_SUN8I 252defflag opt_soc.h SOC_SUN9I: SOC_SUNXI 253defflag opt_soc.h SOC_SUN9I_A80: SOC_SUN9I 254defflag opt_soc.h SOC_SUN50I: SOC_SUNXI 255defflag opt_soc.h SOC_SUN50I_A64: SOC_SUN50I 256defflag opt_soc.h SOC_SUN50I_H5: SOC_SUN50I 257defflag opt_soc.h SOC_SUN50I_H6: SOC_SUN50I 258