files.sunxi revision 1.37
1#	$NetBSD: files.sunxi,v 1.37 2017/10/23 11:06:31 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
108
109# UART
110attach	com at fdt with sunxi_com
111file	arch/arm/sunxi/sunxi_com.c		sunxi_com needs-flag
112
113# SD/MMC
114device	sunximmc: sdmmcbus
115attach	sunximmc at fdt with sunxi_mmc
116file	arch/arm/sunxi/sunxi_mmc.c		sunxi_mmc
117defparam opt_sunximmc.h				SUNXI_MMC_DEBUG
118
119# USB PHY
120device	sunxiusbphy
121attach	sunxiusbphy at fdt with sunxi_usbphy
122file	arch/arm/sunxi/sunxi_usbphy.c		sunxi_usbphy
123
124# EHCI
125attach	ehci at fdt with ehci_fdt
126file	dev/fdt/ehci_fdt.c			ehci_fdt	
127
128# OHCI
129attach	ohci at fdt with ohci_fdt
130file	dev/fdt/ohci_fdt.c			ohci_fdt
131
132# TWI
133device	sunxitwi: i2cbus, i2cexec, mvi2c
134attach	sunxitwi at fdt with sunxi_twi
135file	arch/arm/sunxi/sunxi_twi.c		sunxi_twi
136
137# P2WI/RSB
138device	sunxirsb: i2cbus, i2cexec
139attach	sunxirsb at fdt with sunxi_rsb
140file	arch/arm/sunxi/sunxi_rsb.c		sunxi_rsb
141
142# RTC
143device	sunxirtc
144attach	sunxirtc at fdt with sunxi_rtc
145file	arch/arm/sunxi/sunxi_rtc.c		sunxi_rtc
146
147# EMAC (sun4i/sun7i)
148device	sun4iemac: arp, ether, ifnet, mii
149attach	sun4iemac at fdt with sun4i_emac
150file	arch/arm/sunxi/sun4i_emac.c		sun4i_emac
151
152# EMAC (sun8i/sun50i)
153device	sunxiemac: arp, ether, ifnet, mii
154attach	sunxiemac at fdt with sunxi_emac
155file	arch/arm/sunxi/sunxi_emac.c		sunxi_emac
156
157# GMAC
158attach	awge at fdt with sunxi_gmac
159file	arch/arm/sunxi/sunxi_gmac.c		sunxi_gmac
160
161# Timer
162device	sunxitimer
163attach	sunxitimer at fdt with sunxi_timer
164file	arch/arm/sunxi/sunxi_timer.c		sunxi_timer
165
166# Watchdog
167device	sunxiwdt: sysmon_wdog
168attach	sunxiwdt at fdt with sunxi_wdt
169file	arch/arm/sunxi/sunxi_wdt.c		sunxi_wdt
170
171# DMA controller (sun4i)
172device	sun4idma
173attach	sun4idma at fdt with sun4i_dma
174file	arch/arm/sunxi/sun4i_dma.c		sun4i_dma
175
176# DMA controller (sun6i)
177device	sun6idma
178attach	sun6idma at fdt with sun6i_dma
179file	arch/arm/sunxi/sun6i_dma.c		sun6i_dma
180
181# Audio codec
182device	sunxicodec: audiobus, auconv, mulaw, aurateconv
183attach	sunxicodec at fdt with sunxi_codec
184file	arch/arm/sunxi/sunxi_codec.c		sunxi_codec
185file	arch/arm/sunxi/sun4i_a10_codec.c	sunxi_codec
186file	arch/arm/sunxi/sun6i_a31_codec.c	sunxi_codec
187
188# H3 Audio codec (analog part)
189device	h3codec
190attach	h3codec at fdt with h3_codec
191file	arch/arm/sunxi/sun8i_h3_codec.c		h3_codec needs-flag
192
193# Display controller
194attach	genfb at fdt with simplefb
195file	dev/fdt/simplefb.c			simplefb
196
197# Touch Screen controller
198device	sunxits: wsmousedev, tpcalib, sysmon_envsys
199attach	sunxits at fdt with sunxi_ts
200file	arch/arm/sunxi/sunxi_ts.c		sunxi_ts
201
202# USB OTG
203attach	motg at fdt with sunxi_musb
204file	arch/arm/sunxi/sunxi_musb.c		sunxi_musb
205
206# Security ID EFUSE
207device	sunxisid
208attach	sunxisid at fdt with sunxi_sid
209file	arch/arm/sunxi/sunxi_sid.c		sunxi_sid
210
211# Thermal sensor controller
212device	sunxithermal: sysmon_envsys, sysmon_taskq
213attach	sunxithermal at fdt with sunxi_thermal
214file	arch/arm/sunxi/sunxi_thermal.c		sunxi_thermal
215
216# SATA
217attach	ahcisata at fdt with sunxi_sata
218file	arch/arm/sunxi/sunxi_sata.c		sunxi_sata
219
220# SRAM Controller
221device	sunxisramc
222attach	sunxisramc at fdt with sunxi_sramc
223file	arch/arm/sunxi/sunxi_sramc.c		sunxi_sramc
224
225# SOC parameters
226defflag	opt_soc.h			SOC_SUNXI
227defflag	opt_soc.h			SOC_SUN4I: SOC_SUNXI
228defflag	opt_soc.h			SOC_SUN4I_A10: SOC_SUN4I
229defflag	opt_soc.h			SOC_SUN5I: SOC_SUNXI
230defflag	opt_soc.h			SOC_SUN5I_A13: SOC_SUN5I
231defflag	opt_soc.h			SOC_SUN6I: SOC_SUNXI
232defflag	opt_soc.h			SOC_SUN6I_A31: SOC_SUN6I
233defflag	opt_soc.h			SOC_SUN7I: SOC_SUNXI
234defflag	opt_soc.h			SOC_SUN7I_A20: SOC_SUN7I
235defflag	opt_soc.h			SOC_SUN8I: SOC_SUNXI
236defflag	opt_soc.h			SOC_SUN8I_A83T: SOC_SUN8I
237defflag	opt_soc.h			SOC_SUN8I_H3: SOC_SUN8I
238defflag	opt_soc.h			SOC_SUN9I: SOC_SUNXI
239defflag	opt_soc.h			SOC_SUN9I_A80: SOC_SUN9I
240defflag	opt_soc.h			SOC_SUN50I: SOC_SUNXI
241defflag	opt_soc.h			SOC_SUN50I_A64: SOC_SUN50I
242defflag	opt_soc.h			SOC_SUN50I_H5: SOC_SUN50I
243