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