files.sunxi revision 1.56
1#	$NetBSD: files.sunxi,v 1.56 2018/05/27 17:14:23 jmcneill Exp $
2#
3# Configuration info for Allwinner sunxi family SoCs
4#
5#
6
7file	arch/arm/sunxi/sunxi_platform.c		soc_sunxi
8
9# CCU
10define	sunxi_ccu
11file	arch/arm/sunxi/sunxi_ccu.c		sunxi_ccu
12file	arch/arm/sunxi/sunxi_ccu_div.c		sunxi_ccu
13file	arch/arm/sunxi/sunxi_ccu_fixed_factor.c	sunxi_ccu
14file	arch/arm/sunxi/sunxi_ccu_fractional.c	sunxi_ccu
15file	arch/arm/sunxi/sunxi_ccu_gate.c		sunxi_ccu
16file	arch/arm/sunxi/sunxi_ccu_nm.c		sunxi_ccu
17file	arch/arm/sunxi/sunxi_ccu_nkmp.c		sunxi_ccu
18file	arch/arm/sunxi/sunxi_ccu_phase.c	sunxi_ccu
19file	arch/arm/sunxi/sunxi_ccu_prediv.c	sunxi_ccu
20file	arch/arm/sunxi/sunxi_ccu_display.c	sunxi_ccu
21
22# CCU (A10/A20)
23device	sun4ia10ccu: sunxi_ccu
24attach	sun4ia10ccu at fdt with sunxi_a10_ccu
25file	arch/arm/sunxi/sun4i_a10_ccu.c		sunxi_a10_ccu
26
27# CCU (A13)
28device	sun5ia13ccu: sunxi_ccu
29attach	sun5ia13ccu at fdt with sunxi_a13_ccu
30file	arch/arm/sunxi/sun5i_a13_ccu.c		sunxi_a13_ccu
31
32# CCU (A31)
33device	sun6ia31ccu: sunxi_ccu
34attach	sun6ia31ccu at fdt with sunxi_a31_ccu
35file	arch/arm/sunxi/sun6i_a31_ccu.c		sunxi_a31_ccu
36
37# CCU (A83T)
38device	sun8ia83tccu: sunxi_ccu
39attach	sun8ia83tccu at fdt with sunxi_a83t_ccu
40file	arch/arm/sunxi/sun8i_a83t_ccu.c		sunxi_a83t_ccu
41
42# CCU (H3)
43device	sun8ih3ccu: sunxi_ccu
44attach	sun8ih3ccu at fdt with sunxi_h3_ccu
45file	arch/arm/sunxi/sun8i_h3_ccu.c		sunxi_h3_ccu
46
47# CCU (H3 PRCM)
48device	sun8ih3rccu: sunxi_ccu
49attach	sun8ih3rccu at fdt with sunxi_h3_r_ccu
50file	arch/arm/sunxi/sun8i_h3_r_ccu.c		sunxi_h3_r_ccu
51
52# CCU (A80)
53device	sun9ia80ccu: sunxi_ccu
54attach	sun9ia80ccu at fdt with sunxi_a80_ccu
55file	arch/arm/sunxi/sun9i_a80_ccu.c		sunxi_a80_ccu
56
57# CCU (A64)
58device	sun50ia64ccu: sunxi_ccu
59attach	sun50ia64ccu at fdt with sunxi_a64_ccu
60file	arch/arm/sunxi/sun50i_a64_ccu.c		sunxi_a64_ccu
61
62# CCU (A64 PRCM)
63device	sun50ia64rccu: sunxi_ccu
64attach	sun50ia64rccu at fdt with sunxi_a64_r_ccu
65file	arch/arm/sunxi/sun50i_a64_r_ccu.c	sunxi_a64_r_ccu
66
67# CCU (H6)
68device	sun50ih6ccu: sunxi_ccu
69attach	sun50ih6ccu at fdt with sunxi_h6_ccu
70file	arch/arm/sunxi/sun50i_h6_ccu.c		sunxi_h6_ccu
71
72# CCU (H6 PRCM)
73device	sun50ih6rccu: sunxi_ccu
74attach	sun50ih6rccu at fdt with sunxi_h6_r_ccu
75file	arch/arm/sunxi/sun50i_h6_r_ccu.c	sunxi_h6_r_ccu
76
77# Misc. clock resets
78device	sunxiresets
79attach	sunxiresets at fdt with sunxi_resets
80file	arch/arm/sunxi/sunxi_resets.c		sunxi_resets
81
82# Misc. clock gates
83device	sunxigates
84attach	sunxigates at fdt with sunxi_gates
85file	arch/arm/sunxi/sunxi_gates.c		sunxi_gates
86
87# GMAC MII/RGMII clock mux
88device	sunxigmacclk
89attach	sunxigmacclk at fdt with sunxi_gmacclk
90file	arch/arm/sunxi/sunxi_gmacclk.c		sunxi_gmacclk
91
92# SD/MMC-COMM (A80)
93device	sun9immcclk
94attach	sun9immcclk at fdt with sunxi_a80_mmcclk
95file	arch/arm/sunxi/sun9i_a80_mmcclk.c	sunxi_a80_mmcclk
96
97# Interrupt controller
98device	sunxiintc: pic, pic_splfuncs
99attach	sunxiintc at fdt with sunxi_intc
100file	arch/arm/sunxi/sunxi_intc.c		sunxi_intc
101
102device	sunxinmi
103attach	sunxinmi at fdt with sunxi_nmi
104file	arch/arm/sunxi/sunxi_nmi.c		sunxi_nmi
105
106# GPIO
107device	sunxigpio: gpiobus
108attach	sunxigpio at fdt with sunxi_gpio
109file	arch/arm/sunxi/sunxi_gpio.c		sunxi_gpio
110file	arch/arm/sunxi/sun4i_a10_gpio.c		sunxi_gpio & soc_sun4i_a10
111file	arch/arm/sunxi/sun5i_a13_gpio.c		sunxi_gpio & soc_sun5i_a13
112file	arch/arm/sunxi/sun6i_a31_gpio.c		sunxi_gpio & soc_sun6i_a31
113file	arch/arm/sunxi/sun7i_a20_gpio.c		sunxi_gpio & soc_sun7i_a20
114file	arch/arm/sunxi/sun8i_a83t_gpio.c	sunxi_gpio & soc_sun8i_a83t
115file	arch/arm/sunxi/sun8i_h3_gpio.c		sunxi_gpio & soc_sun8i_h3
116file	arch/arm/sunxi/sun9i_a80_gpio.c		sunxi_gpio & soc_sun9i_a80
117file	arch/arm/sunxi/sun50i_a64_gpio.c	sunxi_gpio & soc_sun50i_a64
118file	arch/arm/sunxi/sun50i_h6_gpio.c		sunxi_gpio & soc_sun50i_h6
119
120# PWM
121device	sunxipwm: pwm
122attach	sunxipwm at fdt with sunxi_pwm
123file	arch/arm/sunxi/sunxi_pwm.c		sunxi_pwm
124
125# SD/MMC
126device	sunximmc: sdmmcbus
127attach	sunximmc at fdt with sunxi_mmc
128file	arch/arm/sunxi/sunxi_mmc.c		sunxi_mmc
129defparam opt_sunximmc.h				SUNXI_MMC_DEBUG
130
131# USB PHY
132device	sunxiusbphy
133attach	sunxiusbphy at fdt with sunxi_usbphy
134file	arch/arm/sunxi/sunxi_usbphy.c		sunxi_usbphy
135
136device	sunxiusb3phy
137attach	sunxiusb3phy at fdt with sunxi_usb3phy
138file	arch/arm/sunxi/sunxi_usb3phy.c		sunxi_usb3phy
139
140# EHCI
141attach	ehci at fdt with ehci_fdt
142file	dev/fdt/ehci_fdt.c			ehci_fdt	
143
144# OHCI
145attach	ohci at fdt with ohci_fdt
146file	dev/fdt/ohci_fdt.c			ohci_fdt
147
148# TWI
149device	sunxitwi: i2cbus, i2cexec, mvi2c
150attach	sunxitwi at fdt with sunxi_twi
151file	arch/arm/sunxi/sunxi_twi.c		sunxi_twi
152
153# P2WI/RSB
154device	sunxirsb: i2cbus, i2cexec
155attach	sunxirsb at fdt with sunxi_rsb
156file	arch/arm/sunxi/sunxi_rsb.c		sunxi_rsb
157
158# RTC
159device	sunxirtc
160attach	sunxirtc at fdt with sunxi_rtc
161file	arch/arm/sunxi/sunxi_rtc.c		sunxi_rtc
162
163# EMAC (common)
164device	emac: arp, ether, ifnet, mii
165
166# EMAC (sun4i/sun5i/sun7i)
167ifdef arm
168attach	emac at fdt with sun4i_emac
169file	arch/arm/sunxi/sun4i_emac.c		sun4i_emac
170endif
171
172# EMAC (sun8i/sun50i)
173attach	emac at fdt with sunxi_emac
174file	arch/arm/sunxi/sunxi_emac.c		sunxi_emac
175
176# GMAC
177attach	awge at fdt with sunxi_gmac
178file	arch/arm/sunxi/sunxi_gmac.c		sunxi_gmac
179
180# Timer
181device	sunxitimer
182attach	sunxitimer at fdt with sunxi_timer
183file	arch/arm/sunxi/sunxi_timer.c		sunxi_timer
184
185# Watchdog
186device	sunxiwdt: sysmon_wdog
187attach	sunxiwdt at fdt with sunxi_wdt
188file	arch/arm/sunxi/sunxi_wdt.c		sunxi_wdt
189
190# DMA controller (sun4i)
191device	sun4idma
192attach	sun4idma at fdt with sun4i_dma
193file	arch/arm/sunxi/sun4i_dma.c		sun4i_dma
194
195# DMA controller (sun6i)
196device	sun6idma
197attach	sun6idma at fdt with sun6i_dma
198file	arch/arm/sunxi/sun6i_dma.c		sun6i_dma
199
200# Audio codec
201device	sunxicodec: audiobus, auconv, mulaw, aurateconv
202attach	sunxicodec at fdt with sunxi_codec
203file	arch/arm/sunxi/sunxi_codec.c		sunxi_codec
204file	arch/arm/sunxi/sun4i_a10_codec.c	sunxi_codec
205file	arch/arm/sunxi/sun6i_a31_codec.c	sunxi_codec
206
207# Audio codec (sun8i)
208device	sun8icodec
209attach	sun8icodec at fdt with sun8i_codec
210file	arch/arm/sunxi/sun8i_codec.c		sun8i_codec
211
212# H3 Audio codec (analog part)
213device	h3codec
214attach	h3codec at fdt with h3_codec
215file	arch/arm/sunxi/sun8i_h3_codec.c		h3_codec needs-flag
216
217# A64 Audio codec (analog part)
218device	a64acodec
219attach	a64acodec at fdt with a64_acodec
220file	arch/arm/sunxi/sun50i_a64_acodec.c	a64_acodec
221
222# I2S/PCM controller
223device	sunxii2s: auconv, mulaw, aurateconv
224attach	sunxii2s at fdt with sunxi_i2s
225file	arch/arm/sunxi/sunxi_i2s.c		sunxi_i2s
226
227# Display controller
228attach	genfb at fdt with simplefb
229file	dev/fdt/simplefb.c			simplefb
230
231# A10/A20 LCD/TV timing controller (TCON)
232device	sunxitcon
233attach	sunxitcon at fdt with sunxi_tcon
234file	arch/arm/sunxi/sunxi_tcon.c		sunxi_tcon needs-flag
235
236# A10/A20 Display engine backend (DE-BE)
237device	sunxidebe { }
238attach	sunxidebe at fdt with sunxi_debe
239file	arch/arm/sunxi/sunxi_debe.c		sunxi_debe needs-flag
240
241attach	genfb at sunxidebe with sunxi_befb
242
243# A10/A20 HDMI
244device	sunxihdmi: edid, videomode
245attach	sunxihdmi at fdt with sunxi_hdmi
246file	arch/arm/sunxi/sunxi_hdmi.c		sunxi_hdmi needs-flag
247
248# A10/A20 display engine pipeline
249device sunxidep
250attach	sunxidep at fdt with sunxi_dep
251file	arch/arm/sunxi/sunxi_dep.c		sunxi_dep
252
253# Touch Screen controller
254device	sunxits: wsmousedev, tpcalib, sysmon_envsys
255attach	sunxits at fdt with sunxi_ts
256file	arch/arm/sunxi/sunxi_ts.c		sunxi_ts
257
258# USB OTG
259attach	motg at fdt with sunxi_musb
260file	arch/arm/sunxi/sunxi_musb.c		sunxi_musb
261
262# Security ID EFUSE
263device	sunxisid
264attach	sunxisid at fdt with sunxi_sid
265file	arch/arm/sunxi/sunxi_sid.c		sunxi_sid
266
267# Thermal sensor controller
268device	sunxithermal: sysmon_envsys, sysmon_taskq
269attach	sunxithermal at fdt with sunxi_thermal
270file	arch/arm/sunxi/sunxi_thermal.c		sunxi_thermal
271
272# SATA
273attach	ahcisata at fdt with sunxi_sata
274file	arch/arm/sunxi/sunxi_sata.c		sunxi_sata
275
276# SRAM Controller
277device	sunxisramc
278attach	sunxisramc at fdt with sunxi_sramc
279file	arch/arm/sunxi/sunxi_sramc.c		sunxi_sramc
280
281# NAND Flash Controller
282device	sunxinand: nandbus
283attach	sunxinand at fdt with sunxi_nand
284file	arch/arm/sunxi/sunxi_nand.c		sunxi_nand
285
286# SPI Controller (sun6i-compatible)
287device	sun6ispi: spibus
288attach	sun6ispi at fdt with sun6i_spi
289file	arch/arm/sunxi/sun6i_spi.c		sun6i_spi
290
291# A10/A20 CAN
292device	sunxican { } : ifnet
293attach	sunxican at fdt with sunxi_can
294file	arch/arm/sunxi/sunxi_can.c		sunxi_can
295
296# LRADC
297device	sunxilradc
298attach	sunxilradc at fdt with sunxi_lradc
299file	arch/arm/sunxi/sunxi_lradc.c		sunxi_lradc
300# SOC parameters
301defflag	opt_soc.h			SOC_SUNXI
302defflag	opt_soc.h			SOC_SUN4I: SOC_SUNXI
303defflag	opt_soc.h			SOC_SUN4I_A10: SOC_SUN4I
304defflag	opt_soc.h			SOC_SUN5I: SOC_SUNXI
305defflag	opt_soc.h			SOC_SUN5I_A13: SOC_SUN5I
306defflag	opt_soc.h			SOC_SUN6I: SOC_SUNXI
307defflag	opt_soc.h			SOC_SUN6I_A31: SOC_SUN6I
308defflag	opt_soc.h			SOC_SUN7I: SOC_SUNXI
309defflag	opt_soc.h			SOC_SUN7I_A20: SOC_SUN7I
310defflag	opt_soc.h			SOC_SUN8I: SOC_SUNXI
311defflag	opt_soc.h			SOC_SUN8I_A83T: SOC_SUN8I
312defflag	opt_soc.h			SOC_SUN8I_H3: SOC_SUN8I
313defflag	opt_soc.h			SOC_SUN9I: SOC_SUNXI
314defflag	opt_soc.h			SOC_SUN9I_A80: SOC_SUN9I
315defflag	opt_soc.h			SOC_SUN50I: SOC_SUNXI
316defflag	opt_soc.h			SOC_SUN50I_A64: SOC_SUN50I
317defflag	opt_soc.h			SOC_SUN50I_H5: SOC_SUN50I, SOC_SUN8I_H3
318defflag	opt_soc.h			SOC_SUN50I_H6: SOC_SUN50I
319