files.sunxi revision 1.61
1#	$NetBSD: files.sunxi,v 1.61 2019/01/30 01:24:00 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 (A80)
56device	sun9ia80ccu: sunxi_ccu
57attach	sun9ia80ccu at fdt with sunxi_a80_ccu
58file	arch/arm/sunxi/sun9i_a80_ccu.c		sunxi_a80_ccu
59
60# CCU (A64)
61device	sun50ia64ccu: sunxi_ccu
62attach	sun50ia64ccu at fdt with sunxi_a64_ccu
63file	arch/arm/sunxi/sun50i_a64_ccu.c		sunxi_a64_ccu
64
65# CCU (A64 PRCM)
66device	sun50ia64rccu: sunxi_ccu
67attach	sun50ia64rccu at fdt with sunxi_a64_r_ccu
68file	arch/arm/sunxi/sun50i_a64_r_ccu.c	sunxi_a64_r_ccu
69
70# CCU (H6)
71device	sun50ih6ccu: sunxi_ccu
72attach	sun50ih6ccu at fdt with sunxi_h6_ccu
73file	arch/arm/sunxi/sun50i_h6_ccu.c		sunxi_h6_ccu
74
75# CCU (H6 PRCM)
76device	sun50ih6rccu: sunxi_ccu
77attach	sun50ih6rccu at fdt with sunxi_h6_r_ccu
78file	arch/arm/sunxi/sun50i_h6_r_ccu.c	sunxi_h6_r_ccu
79
80# Misc. clock resets
81device	sunxiresets
82attach	sunxiresets at fdt with sunxi_resets
83file	arch/arm/sunxi/sunxi_resets.c		sunxi_resets
84
85# Misc. clock gates
86device	sunxigates
87attach	sunxigates at fdt with sunxi_gates
88file	arch/arm/sunxi/sunxi_gates.c		sunxi_gates
89
90# GMAC MII/RGMII clock mux
91device	sunxigmacclk
92attach	sunxigmacclk at fdt with sunxi_gmacclk
93file	arch/arm/sunxi/sunxi_gmacclk.c		sunxi_gmacclk
94
95# SD/MMC-COMM (A80)
96device	sun9immcclk
97attach	sun9immcclk at fdt with sunxi_a80_mmcclk
98file	arch/arm/sunxi/sun9i_a80_mmcclk.c	sunxi_a80_mmcclk
99
100# Interrupt controller
101device	sunxiintc: pic, pic_splfuncs
102attach	sunxiintc at fdt with sunxi_intc
103file	arch/arm/sunxi/sunxi_intc.c		sunxi_intc
104
105device	sunxinmi
106attach	sunxinmi at fdt with sunxi_nmi
107file	arch/arm/sunxi/sunxi_nmi.c		sunxi_nmi
108
109# GPIO
110device	sunxigpio: gpiobus
111attach	sunxigpio at fdt with sunxi_gpio
112file	arch/arm/sunxi/sunxi_gpio.c		sunxi_gpio
113file	arch/arm/sunxi/sun4i_a10_gpio.c		sunxi_gpio & soc_sun4i_a10
114file	arch/arm/sunxi/sun5i_a13_gpio.c		sunxi_gpio & soc_sun5i_a13
115file	arch/arm/sunxi/sun6i_a31_gpio.c		sunxi_gpio & soc_sun6i_a31
116file	arch/arm/sunxi/sun7i_a20_gpio.c		sunxi_gpio & soc_sun7i_a20
117file	arch/arm/sunxi/sun8i_a83t_gpio.c	sunxi_gpio & soc_sun8i_a83t
118file	arch/arm/sunxi/sun8i_h3_gpio.c		sunxi_gpio & soc_sun8i_h3
119file	arch/arm/sunxi/sun9i_a80_gpio.c		sunxi_gpio & soc_sun9i_a80
120file	arch/arm/sunxi/sun50i_a64_gpio.c	sunxi_gpio & soc_sun50i_a64
121file	arch/arm/sunxi/sun50i_h6_gpio.c		sunxi_gpio & soc_sun50i_h6
122
123# PWM
124device	sunxipwm: pwm
125attach	sunxipwm at fdt with sunxi_pwm
126file	arch/arm/sunxi/sunxi_pwm.c		sunxi_pwm
127
128# SD/MMC
129device	sunximmc: sdmmcbus
130attach	sunximmc at fdt with sunxi_mmc
131file	arch/arm/sunxi/sunxi_mmc.c		sunxi_mmc
132defparam opt_sunximmc.h				SUNXI_MMC_DEBUG
133
134# USB PHY
135device	sunxiusbphy
136attach	sunxiusbphy at fdt with sunxi_usbphy
137file	arch/arm/sunxi/sunxi_usbphy.c		sunxi_usbphy
138
139device	sunxiusb3phy
140attach	sunxiusb3phy at fdt with sunxi_usb3phy
141file	arch/arm/sunxi/sunxi_usb3phy.c		sunxi_usb3phy
142
143# EHCI
144attach	ehci at fdt with ehci_fdt
145file	dev/fdt/ehci_fdt.c			ehci_fdt	
146
147# OHCI
148attach	ohci at fdt with ohci_fdt
149file	dev/fdt/ohci_fdt.c			ohci_fdt
150
151# TWI
152device	sunxitwi: i2cbus, i2cexec, mvi2c
153attach	sunxitwi at fdt with sunxi_twi
154file	arch/arm/sunxi/sunxi_twi.c		sunxi_twi
155
156# P2WI/RSB
157device	sunxirsb: i2cbus, i2cexec
158attach	sunxirsb at fdt with sunxi_rsb
159file	arch/arm/sunxi/sunxi_rsb.c		sunxi_rsb
160
161# RTC
162device	sunxirtc
163attach	sunxirtc at fdt with sunxi_rtc
164file	arch/arm/sunxi/sunxi_rtc.c		sunxi_rtc
165
166# EMAC (common)
167device	emac: arp, ether, ifnet, mii
168
169# EMAC (sun4i/sun5i/sun7i)
170ifdef arm
171attach	emac at fdt with sun4i_emac
172file	arch/arm/sunxi/sun4i_emac.c		sun4i_emac
173endif
174
175# EMAC (sun8i/sun50i)
176attach	emac at fdt with sunxi_emac
177file	arch/arm/sunxi/sunxi_emac.c		sunxi_emac
178
179# GMAC
180attach	awge at fdt with sunxi_gmac
181file	arch/arm/sunxi/sunxi_gmac.c		sunxi_gmac
182
183# Timer
184device	sunxitimer
185attach	sunxitimer at fdt with sunxi_timer
186file	arch/arm/sunxi/sunxi_timer.c		sunxi_timer
187
188# Watchdog
189device	sunxiwdt: sysmon_wdog
190attach	sunxiwdt at fdt with sunxi_wdt
191file	arch/arm/sunxi/sunxi_wdt.c		sunxi_wdt
192
193# DMA controller (sun4i)
194device	sun4idma
195attach	sun4idma at fdt with sun4i_dma
196file	arch/arm/sunxi/sun4i_dma.c		sun4i_dma
197
198# DMA controller (sun6i)
199device	sun6idma
200attach	sun6idma at fdt with sun6i_dma
201file	arch/arm/sunxi/sun6i_dma.c		sun6i_dma
202
203# Audio codec
204device	sunxicodec: audiobus, auconv, mulaw, aurateconv
205attach	sunxicodec at fdt with sunxi_codec
206file	arch/arm/sunxi/sunxi_codec.c		sunxi_codec
207file	arch/arm/sunxi/sun4i_a10_codec.c	sunxi_codec
208file	arch/arm/sunxi/sun6i_a31_codec.c	sunxi_codec
209
210# Audio codec (sun8i)
211device	sun8icodec
212attach	sun8icodec at fdt with sun8i_codec
213file	arch/arm/sunxi/sun8i_codec.c		sun8i_codec
214
215# H3 Audio codec (analog part)
216device	h3codec
217attach	h3codec at fdt with h3_codec
218file	arch/arm/sunxi/sun8i_h3_codec.c		h3_codec needs-flag
219
220# A64 Audio codec (analog part)
221device	a64acodec
222attach	a64acodec at fdt with a64_acodec
223file	arch/arm/sunxi/sun50i_a64_acodec.c	a64_acodec
224
225# I2S/PCM controller
226device	sunxii2s: auconv, mulaw, aurateconv
227attach	sunxii2s at fdt with sunxi_i2s
228file	arch/arm/sunxi/sunxi_i2s.c		sunxi_i2s
229
230# A10/A20 LCD/TV timing controller (TCON)
231device	sunxitcon
232attach	sunxitcon at fdt with sunxi_tcon
233file	arch/arm/sunxi/sunxi_tcon.c		sunxi_tcon needs-flag
234
235# A10/A20 Display engine backend (DE-BE)
236device	sunxidebe { }
237attach	sunxidebe at fdt with sunxi_debe
238file	arch/arm/sunxi/sunxi_debe.c		sunxi_debe needs-flag
239
240attach	genfb at sunxidebe with sunxi_befb
241
242# A10/A20 HDMI
243device	sunxihdmi: edid, videomode
244attach	sunxihdmi at fdt with sunxi_hdmi
245file	arch/arm/sunxi/sunxi_hdmi.c		sunxi_hdmi needs-flag
246
247# A10/A20 display engine pipeline
248device sunxidep
249attach	sunxidep at fdt with sunxi_dep
250file	arch/arm/sunxi/sunxi_dep.c		sunxi_dep
251
252# Touch Screen controller
253device	sunxits: wsmousedev, tpcalib, sysmon_envsys
254attach	sunxits at fdt with sunxi_ts
255file	arch/arm/sunxi/sunxi_ts.c		sunxi_ts
256
257# USB OTG
258attach	motg at fdt with sunxi_musb
259file	arch/arm/sunxi/sunxi_musb.c		sunxi_musb
260
261# Security ID EFUSE
262device	sunxisid
263attach	sunxisid at fdt with sunxi_sid
264file	arch/arm/sunxi/sunxi_sid.c		sunxi_sid
265
266# Thermal sensor controller
267device	sunxithermal: sysmon_envsys, sysmon_taskq
268attach	sunxithermal at fdt with sunxi_thermal
269file	arch/arm/sunxi/sunxi_thermal.c		sunxi_thermal
270
271# SATA
272attach	ahcisata at fdt with sunxi_sata
273file	arch/arm/sunxi/sunxi_sata.c		sunxi_sata
274
275# SRAM Controller
276device	sunxisramc
277attach	sunxisramc at fdt with sunxi_sramc
278file	arch/arm/sunxi/sunxi_sramc.c		sunxi_sramc
279
280# NAND Flash Controller
281device	sunxinand: nandbus
282attach	sunxinand at fdt with sunxi_nand
283file	arch/arm/sunxi/sunxi_nand.c		sunxi_nand
284
285# SPI Controller (sun6i-compatible)
286device	sun6ispi: spibus
287attach	sun6ispi at fdt with sun6i_spi
288file	arch/arm/sunxi/sun6i_spi.c		sun6i_spi
289
290# A10/A20 CAN
291device	sunxican { } : ifnet
292attach	sunxican at fdt with sunxi_can
293file	arch/arm/sunxi/sunxi_can.c		sunxi_can
294
295# LRADC
296device	sunxilradc
297attach	sunxilradc at fdt with sunxi_lradc
298file	arch/arm/sunxi/sunxi_lradc.c		sunxi_lradc
299
300# DE2 bus
301device	sunxide2bus { }: fdt, sunxi_sramc
302attach	sunxide2bus at fdt with sunxi_de2bus
303file	arch/arm/sunxi/sunxi_de2.c		sunxi_de2bus
304
305# DE2 clocks
306device	sunxide2ccu: sunxi_ccu
307attach	sunxide2ccu at fdt with sunxi_de2ccu
308file	arch/arm/sunxi/sunxi_de2_ccu.c		sunxi_de2ccu
309
310# DE2 mixer
311device	sunximixer: drmkms
312attach	sunximixer at fdt with sunxi_mixer
313file	arch/arm/sunxi/sunxi_mixer.c		sunxi_mixer
314
315# DE2 timing controller
316device	sunxilcdc: drmkms
317attach	sunxilcdc at fdt with sunxi_lcdc
318file	arch/arm/sunxi/sunxi_lcdc.c		sunxi_lcdc
319
320# Display Pipeline
321define	sunxifbbus { }
322device	sunxidrm: drmkms, ddc_read_edid, sunxifbbus
323attach	sunxidrm at fdt with sunxi_drm
324file	arch/arm/sunxi/sunxi_drm.c		sunxi_drm
325
326# DRM framebuffer console
327device	sunxifb: sunxifbbus, drmfb, wsemuldisplaydev
328attach	sunxifb at sunxifbbus with sunxi_fb
329file	arch/arm/sunxi/sunxi_fb.c		sunxi_fb
330
331# Allwinner HDMI (Designware based)
332attach	dwhdmi at fdt with sunxi_dwhdmi
333file	arch/arm/sunxi/sunxi_dwhdmi.c		sunxi_dwhdmi
334
335# Allwinner HDMI TX PHY
336device	sunxihdmiphy: drmkms
337attach	sunxihdmiphy at fdt with sunxi_hdmiphy
338file	arch/arm/sunxi/sunxi_hdmiphy.c		sunxi_hdmiphy | sunxi_dwhdmi
339
340# SOC parameters
341defflag	opt_soc.h			SOC_SUNXI
342defflag	opt_soc.h			SOC_SUNXI_MC
343defflag	opt_soc.h			SOC_SUN4I: SOC_SUNXI
344defflag	opt_soc.h			SOC_SUN4I_A10: SOC_SUN4I
345defflag	opt_soc.h			SOC_SUN5I: SOC_SUNXI
346defflag	opt_soc.h			SOC_SUN5I_A13: SOC_SUN5I
347defflag	opt_soc.h			SOC_SUN6I: SOC_SUNXI
348defflag	opt_soc.h			SOC_SUN6I_A31: SOC_SUN6I
349defflag	opt_soc.h			SOC_SUN7I: SOC_SUNXI
350defflag	opt_soc.h			SOC_SUN7I_A20: SOC_SUN7I
351defflag	opt_soc.h			SOC_SUN8I: SOC_SUNXI
352defflag	opt_soc.h			SOC_SUN8I_A83T: SOC_SUN8I, SOC_SUNXI_MC
353defflag	opt_soc.h			SOC_SUN8I_H3: SOC_SUN8I
354defflag	opt_soc.h			SOC_SUN9I: SOC_SUNXI
355defflag	opt_soc.h			SOC_SUN9I_A80: SOC_SUN9I, SOC_SUNXI_MC
356defflag	opt_soc.h			SOC_SUN50I: SOC_SUNXI
357defflag	opt_soc.h			SOC_SUN50I_A64: SOC_SUN50I
358defflag	opt_soc.h			SOC_SUN50I_H5: SOC_SUN50I, SOC_SUN8I_H3
359defflag	opt_soc.h			SOC_SUN50I_H6: SOC_SUN50I
360