files.sunxi revision 1.69
1#	$NetBSD: files.sunxi,v 1.69 2021/05/05 10:24:04 jmcneill Exp $
2#
3# Configuration info for Allwinner sunxi family SoCs
4#
5#
6
7file	arch/arm/sunxi/sunxi_platform.c		soc_sunxi
8
9file	arch/arm/sunxi/sunxi_mc_smp.c		soc_sunxi_mc
10file	arch/arm/sunxi/sunxi_mc_mpstart.S	soc_sunxi_mc
11
12# CCU
13define	sunxi_ccu
14file	arch/arm/sunxi/sunxi_ccu.c		sunxi_ccu
15file	arch/arm/sunxi/sunxi_ccu_div.c		sunxi_ccu
16file	arch/arm/sunxi/sunxi_ccu_fixed_factor.c	sunxi_ccu
17file	arch/arm/sunxi/sunxi_ccu_fractional.c	sunxi_ccu
18file	arch/arm/sunxi/sunxi_ccu_gate.c		sunxi_ccu
19file	arch/arm/sunxi/sunxi_ccu_nm.c		sunxi_ccu
20file	arch/arm/sunxi/sunxi_ccu_nkmp.c		sunxi_ccu
21file	arch/arm/sunxi/sunxi_ccu_phase.c	sunxi_ccu
22file	arch/arm/sunxi/sunxi_ccu_prediv.c	sunxi_ccu
23file	arch/arm/sunxi/sunxi_ccu_display.c	sunxi_ccu
24
25# CCU (A10/A20)
26device	sun4ia10ccu: sunxi_ccu
27attach	sun4ia10ccu at fdt with sunxi_a10_ccu
28file	arch/arm/sunxi/sun4i_a10_ccu.c		sunxi_a10_ccu
29
30# CCU (A13)
31device	sun5ia13ccu: sunxi_ccu
32attach	sun5ia13ccu at fdt with sunxi_a13_ccu
33file	arch/arm/sunxi/sun5i_a13_ccu.c		sunxi_a13_ccu
34
35# CCU (A31)
36device	sun6ia31ccu: sunxi_ccu
37attach	sun6ia31ccu at fdt with sunxi_a31_ccu
38file	arch/arm/sunxi/sun6i_a31_ccu.c		sunxi_a31_ccu
39
40# CCU (A83T)
41device	sun8ia83tccu: sunxi_ccu
42attach	sun8ia83tccu at fdt with sunxi_a83t_ccu
43file	arch/arm/sunxi/sun8i_a83t_ccu.c		sunxi_a83t_ccu
44
45# CCU (H3)
46device	sun8ih3ccu: sunxi_ccu
47attach	sun8ih3ccu at fdt with sunxi_h3_ccu
48file	arch/arm/sunxi/sun8i_h3_ccu.c		sunxi_h3_ccu
49
50# CCU (H3 PRCM)
51device	sun8ih3rccu: sunxi_ccu
52attach	sun8ih3rccu at fdt with sunxi_h3_r_ccu
53file	arch/arm/sunxi/sun8i_h3_r_ccu.c		sunxi_h3_r_ccu
54
55# CCU (V3s)
56device	sun8iv3sccu: sunxi_ccu
57attach	sun8iv3sccu at fdt with sunxi_v3s_ccu
58file	arch/arm/sunxi/sun8i_v3s_ccu.c		sunxi_v3s_ccu
59
60# CCU (A80)
61device	sun9ia80ccu: sunxi_ccu
62attach	sun9ia80ccu at fdt with sunxi_a80_ccu
63file	arch/arm/sunxi/sun9i_a80_ccu.c		sunxi_a80_ccu
64
65# CCU (A64)
66device	sun50ia64ccu: sunxi_ccu
67attach	sun50ia64ccu at fdt with sunxi_a64_ccu
68file	arch/arm/sunxi/sun50i_a64_ccu.c		sunxi_a64_ccu
69
70# CCU (A64 PRCM)
71device	sun50ia64rccu: sunxi_ccu
72attach	sun50ia64rccu at fdt with sunxi_a64_r_ccu
73file	arch/arm/sunxi/sun50i_a64_r_ccu.c	sunxi_a64_r_ccu
74
75# CCU (H6)
76device	sun50ih6ccu: sunxi_ccu
77attach	sun50ih6ccu at fdt with sunxi_h6_ccu
78file	arch/arm/sunxi/sun50i_h6_ccu.c		sunxi_h6_ccu
79
80# CCU (H6 PRCM)
81device	sun50ih6rccu: sunxi_ccu
82attach	sun50ih6rccu at fdt with sunxi_h6_r_ccu
83file	arch/arm/sunxi/sun50i_h6_r_ccu.c	sunxi_h6_r_ccu
84
85# Misc. clock resets
86device	sunxiresets
87attach	sunxiresets at fdt with sunxi_resets
88file	arch/arm/sunxi/sunxi_resets.c		sunxi_resets
89
90# Misc. clock gates
91device	sunxigates
92attach	sunxigates at fdt with sunxi_gates
93file	arch/arm/sunxi/sunxi_gates.c		sunxi_gates
94
95# GMAC MII/RGMII clock mux
96device	sunxigmacclk
97attach	sunxigmacclk at fdt with sunxi_gmacclk
98file	arch/arm/sunxi/sunxi_gmacclk.c		sunxi_gmacclk
99
100# SD/MMC-COMM (A80)
101device	sun9immcclk
102attach	sun9immcclk at fdt with sunxi_a80_mmcclk
103file	arch/arm/sunxi/sun9i_a80_mmcclk.c	sunxi_a80_mmcclk
104
105# USB HCI clocks (A80)
106device	sun9iusbclk
107attach	sun9iusbclk at fdt with sunxi_a80_usbclk
108file	arch/arm/sunxi/sun9i_a80_usbclk.c	sunxi_a80_usbclk
109
110# CPUS clock driver (A80)
111device	sun9icpusclk
112attach	sun9icpusclk at fdt with sunxi_a80_cpusclk
113file	arch/arm/sunxi/sun9i_a80_cpusclk.c	sunxi_a80_cpusclk
114
115# APB0 clock driver (A80)
116device	sun8iapbclk
117attach	sun8iapbclk at fdt with sunxi_a23_apbclk
118file	arch/arm/sunxi/sun8i_a23_apbclk.c	sunxi_a23_apbclk
119
120# Interrupt controller
121device	sunxiintc: pic, pic_splfuncs
122attach	sunxiintc at fdt with sunxi_intc
123file	arch/arm/sunxi/sunxi_intc.c		sunxi_intc
124
125device	sunxinmi
126attach	sunxinmi at fdt with sunxi_nmi
127file	arch/arm/sunxi/sunxi_nmi.c		sunxi_nmi
128
129# GPIO
130device	sunxigpio: gpiobus
131attach	sunxigpio at fdt with sunxi_gpio
132file	arch/arm/sunxi/sunxi_gpio.c		sunxi_gpio
133file	arch/arm/sunxi/sun4i_a10_gpio.c		sunxi_gpio & soc_sun4i_a10
134file	arch/arm/sunxi/sun5i_a13_gpio.c		sunxi_gpio & soc_sun5i_a13
135file	arch/arm/sunxi/sun6i_a31_gpio.c		sunxi_gpio & soc_sun6i_a31
136file	arch/arm/sunxi/sun7i_a20_gpio.c		sunxi_gpio & soc_sun7i_a20
137file	arch/arm/sunxi/sun8i_a83t_gpio.c	sunxi_gpio & soc_sun8i_a83t
138file	arch/arm/sunxi/sun8i_h3_gpio.c		sunxi_gpio & soc_sun8i_h3
139file	arch/arm/sunxi/sun9i_a80_gpio.c		sunxi_gpio & soc_sun9i_a80
140file	arch/arm/sunxi/sun50i_a64_gpio.c	sunxi_gpio & soc_sun50i_a64
141file	arch/arm/sunxi/sun50i_h6_gpio.c		sunxi_gpio & soc_sun50i_h6
142
143# PWM
144device	sunxipwm: pwm
145attach	sunxipwm at fdt with sunxi_pwm
146file	arch/arm/sunxi/sunxi_pwm.c		sunxi_pwm
147
148# SD/MMC
149device	sunximmc: sdmmcbus
150attach	sunximmc at fdt with sunxi_mmc
151file	arch/arm/sunxi/sunxi_mmc.c		sunxi_mmc
152defparam opt_sunximmc.h				SUNXI_MMC_DEBUG
153
154# USB PHY
155device	sunxiusbphy
156attach	sunxiusbphy at fdt with sunxi_usbphy
157file	arch/arm/sunxi/sunxi_usbphy.c		sunxi_usbphy
158
159device	sunxiusb3phy
160attach	sunxiusb3phy at fdt with sunxi_usb3phy
161file	arch/arm/sunxi/sunxi_usb3phy.c		sunxi_usb3phy
162
163device	sun9iusbphy
164attach	sun9iusbphy at fdt with sunxi_a80_usbphy
165file	arch/arm/sunxi/sun9i_a80_usbphy.c	sunxi_a80_usbphy
166
167# TWI
168device	sunxitwi: i2cbus, i2cexec, mvi2c
169attach	sunxitwi at fdt with sunxi_twi
170file	arch/arm/sunxi/sunxi_twi.c		sunxi_twi
171
172# P2WI/RSB
173device	sunxirsb: i2cbus, i2cexec
174attach	sunxirsb at fdt with sunxi_rsb
175file	arch/arm/sunxi/sunxi_rsb.c		sunxi_rsb
176
177# RTC
178device	sunxirtc
179attach	sunxirtc at fdt with sunxi_rtc
180file	arch/arm/sunxi/sunxi_rtc.c		sunxi_rtc
181
182# EMAC (common)
183device	emac: arp, ether, ifnet, mii
184
185# EMAC (sun4i/sun5i/sun7i)
186ifdef arm
187attach	emac at fdt with sun4i_emac
188file	arch/arm/sunxi/sun4i_emac.c		sun4i_emac
189endif
190
191# EMAC (sun8i/sun50i)
192attach	emac at fdt with sunxi_emac
193file	arch/arm/sunxi/sunxi_emac.c		sunxi_emac
194
195# GMAC
196attach	awge at fdt with sunxi_gmac
197file	arch/arm/sunxi/sunxi_gmac.c		sunxi_gmac
198
199# Timer
200device	sunxitimer
201attach	sunxitimer at fdt with sunxi_timer
202file	arch/arm/sunxi/sunxi_timer.c		sunxi_timer
203
204# High Speed Timer
205device	sunxihstimer
206attach	sunxihstimer at fdt with sunxi_hstimer
207file	arch/arm/sunxi/sunxi_hstimer.c		sunxi_hstimer
208
209# Watchdog
210device	sunxiwdt: sysmon_wdog
211attach	sunxiwdt at fdt with sunxi_wdt
212file	arch/arm/sunxi/sunxi_wdt.c		sunxi_wdt
213
214# DMA controller (sun4i)
215device	sun4idma
216attach	sun4idma at fdt with sun4i_dma
217file	arch/arm/sunxi/sun4i_dma.c		sun4i_dma
218
219# DMA controller (sun6i)
220device	sun6idma
221attach	sun6idma at fdt with sun6i_dma
222file	arch/arm/sunxi/sun6i_dma.c		sun6i_dma
223
224# Audio codec
225device	sunxicodec: audiobus
226attach	sunxicodec at fdt with sunxi_codec
227file	arch/arm/sunxi/sunxi_codec.c		sunxi_codec
228file	arch/arm/sunxi/sun4i_a10_codec.c	sunxi_codec
229file	arch/arm/sunxi/sun6i_a31_codec.c	sunxi_codec
230
231# Audio codec (sun8i)
232device	sun8icodec
233attach	sun8icodec at fdt with sun8i_codec
234file	arch/arm/sunxi/sun8i_codec.c		sun8i_codec
235
236# H3 Audio codec (analog part)
237device	h3codec
238attach	h3codec at fdt with h3_codec
239file	arch/arm/sunxi/sun8i_h3_codec.c		h3_codec needs-flag
240
241# V3s Audio codec (analog part)
242device	v3scodec
243attach	v3scodec at fdt with v3s_codec
244file	arch/arm/sunxi/sun8i_v3s_codec.c	v3s_codec needs-flag
245
246# A64 Audio codec (analog part)
247device	a64acodec
248attach	a64acodec at fdt with a64_acodec
249file	arch/arm/sunxi/sun50i_a64_acodec.c	a64_acodec
250
251# I2S/PCM controller
252device	sunxii2s
253attach	sunxii2s at fdt with sunxi_i2s
254file	arch/arm/sunxi/sunxi_i2s.c		sunxi_i2s
255
256# A10/A20 LCD/TV timing controller (TCON)
257device	sunxitcon
258attach	sunxitcon at fdt with sunxi_tcon
259file	arch/arm/sunxi/sunxi_tcon.c		sunxi_tcon needs-flag
260
261# A10/A20 Display engine backend (DE-BE)
262device	sunxidebe { }
263attach	sunxidebe at fdt with sunxi_debe
264file	arch/arm/sunxi/sunxi_debe.c		sunxi_debe needs-flag
265
266attach	genfb at sunxidebe with sunxi_befb
267
268# A10/A20 HDMI
269device	sunxihdmi: edid, videomode
270attach	sunxihdmi at fdt with sunxi_hdmi
271file	arch/arm/sunxi/sunxi_hdmi.c		sunxi_hdmi needs-flag
272
273# A10/A20 display engine pipeline
274device sunxidep
275attach	sunxidep at fdt with sunxi_dep
276file	arch/arm/sunxi/sunxi_dep.c		sunxi_dep
277
278# Touch Screen controller
279device	sunxits: wsmousedev, tpcalib, sysmon_envsys
280attach	sunxits at fdt with sunxi_ts
281file	arch/arm/sunxi/sunxi_ts.c		sunxi_ts
282
283# USB OTG
284attach	motg at fdt with sunxi_musb
285file	arch/arm/sunxi/sunxi_musb.c		sunxi_musb
286
287# Security ID EFUSE
288device	sunxisid
289attach	sunxisid at fdt with sunxi_sid
290file	arch/arm/sunxi/sunxi_sid.c		sunxi_sid
291
292# Thermal sensor controller
293device	sunxithermal: sysmon_envsys, sysmon_taskq
294attach	sunxithermal at fdt with sunxi_thermal
295file	arch/arm/sunxi/sunxi_thermal.c		sunxi_thermal
296
297# SATA
298attach	ahcisata at fdt with sunxi_sata
299file	arch/arm/sunxi/sunxi_sata.c		sunxi_sata
300
301# SRAM Controller
302device	sunxisramc
303attach	sunxisramc at fdt with sunxi_sramc
304file	arch/arm/sunxi/sunxi_sramc.c		sunxi_sramc
305
306# NAND Flash Controller
307device	sunxinand: nandbus
308attach	sunxinand at fdt with sunxi_nand
309file	arch/arm/sunxi/sunxi_nand.c		sunxi_nand
310
311# SPI Controller
312device	sun4ispi: spibus
313attach	sun4ispi at fdt with sun4i_spi
314file	arch/arm/sunxi/sun4i_spi.c		sun4i_spi
315device	sun6ispi: spibus
316attach	sun6ispi at fdt with sun6i_spi
317file	arch/arm/sunxi/sun6i_spi.c		sun6i_spi
318
319# A10/A20 CAN
320device	sunxican { } : ifnet
321attach	sunxican at fdt with sunxi_can
322file	arch/arm/sunxi/sunxi_can.c		sunxi_can
323
324# LRADC
325device	sunxilradc
326attach	sunxilradc at fdt with sunxi_lradc
327file	arch/arm/sunxi/sunxi_lradc.c		sunxi_lradc
328
329# DE2 bus
330device	sunxide2bus { }: fdt, sunxi_sramc
331attach	sunxide2bus at fdt with sunxi_de2bus
332file	arch/arm/sunxi/sunxi_de2.c		sunxi_de2bus
333
334# DE2 clocks
335device	sunxide2ccu: sunxi_ccu
336attach	sunxide2ccu at fdt with sunxi_de2ccu
337file	arch/arm/sunxi/sunxi_de2_ccu.c		sunxi_de2ccu
338
339# DE2 mixer
340device	sunximixer: drmkms
341attach	sunximixer at fdt with sunxi_mixer
342file	arch/arm/sunxi/sunxi_mixer.c		sunxi_mixer
343
344# DE2 timing controller
345device	sunxilcdc: drmkms
346attach	sunxilcdc at fdt with sunxi_lcdc
347file	arch/arm/sunxi/sunxi_lcdc.c		sunxi_lcdc
348
349# Display Pipeline
350define	sunxifbbus { }
351device	sunxidrm: drmkms, ddc_read_edid, sunxifbbus
352attach	sunxidrm at fdt with sunxi_drm
353file	arch/arm/sunxi/sunxi_drm.c		sunxi_drm
354
355# DRM framebuffer console
356device	sunxifb: sunxifbbus, drmfb, wsemuldisplaydev
357attach	sunxifb at sunxifbbus with sunxi_fb
358file	arch/arm/sunxi/sunxi_fb.c		sunxi_fb
359
360# Allwinner HDMI (Designware based)
361attach	dwhdmi at fdt with sunxi_dwhdmi
362file	arch/arm/sunxi/sunxi_dwhdmi.c		sunxi_dwhdmi
363
364# Allwinner HDMI TX PHY
365device	sunxihdmiphy: drmkms
366attach	sunxihdmiphy at fdt with sunxi_hdmiphy
367file	arch/arm/sunxi/sunxi_hdmiphy.c		sunxi_hdmiphy | sunxi_dwhdmi
368
369# Allwinner Crypto Engine
370device	sun8icrypto
371attach	sun8icrypto at fdt with sun8i_crypto
372file	arch/arm/sunxi/sun8i_crypto.c		sun8i_crypto
373
374# SOC parameters
375defflag	opt_soc.h			SOC_SUNXI
376defflag	opt_soc.h			SOC_SUNXI_MC
377defflag	opt_soc.h			SOC_SUN4I: SOC_SUNXI
378defflag	opt_soc.h			SOC_SUN4I_A10: SOC_SUN4I
379defflag	opt_soc.h			SOC_SUN5I: SOC_SUNXI
380defflag	opt_soc.h			SOC_SUN5I_A13: SOC_SUN5I
381defflag	opt_soc.h			SOC_SUN6I: SOC_SUNXI
382defflag	opt_soc.h			SOC_SUN6I_A31: SOC_SUN6I
383defflag	opt_soc.h			SOC_SUN7I: SOC_SUNXI
384defflag	opt_soc.h			SOC_SUN7I_A20: SOC_SUN7I
385defflag	opt_soc.h			SOC_SUN8I: SOC_SUNXI
386defflag	opt_soc.h			SOC_SUN8I_A83T: SOC_SUN8I, SOC_SUNXI_MC
387defflag	opt_soc.h			SOC_SUN8I_H3: SOC_SUN8I
388defflag	opt_soc.h			SOC_SUN8I_V3S: SOC_SUN8I
389defflag	opt_soc.h			SOC_SUN9I: SOC_SUNXI
390defflag	opt_soc.h			SOC_SUN9I_A80: SOC_SUN9I, SOC_SUNXI_MC
391defflag	opt_soc.h			SOC_SUN50I: SOC_SUNXI
392defflag	opt_soc.h			SOC_SUN50I_A64: SOC_SUN50I
393defflag	opt_soc.h			SOC_SUN50I_H5: SOC_SUN50I, SOC_SUN8I_H3
394defflag	opt_soc.h			SOC_SUN50I_H6: SOC_SUN50I
395