files.sunxi revision 1.68
1# $NetBSD: files.sunxi,v 1.68 2020/03/24 22:09:50 tnn 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# USB HCI clocks (A80) 101device sun9iusbclk 102attach sun9iusbclk at fdt with sunxi_a80_usbclk 103file arch/arm/sunxi/sun9i_a80_usbclk.c sunxi_a80_usbclk 104 105# CPUS clock driver (A80) 106device sun9icpusclk 107attach sun9icpusclk at fdt with sunxi_a80_cpusclk 108file arch/arm/sunxi/sun9i_a80_cpusclk.c sunxi_a80_cpusclk 109 110# APB0 clock driver (A80) 111device sun8iapbclk 112attach sun8iapbclk at fdt with sunxi_a23_apbclk 113file arch/arm/sunxi/sun8i_a23_apbclk.c sunxi_a23_apbclk 114 115# Interrupt controller 116device sunxiintc: pic, pic_splfuncs 117attach sunxiintc at fdt with sunxi_intc 118file arch/arm/sunxi/sunxi_intc.c sunxi_intc 119 120device sunxinmi 121attach sunxinmi at fdt with sunxi_nmi 122file arch/arm/sunxi/sunxi_nmi.c sunxi_nmi 123 124# GPIO 125device sunxigpio: gpiobus 126attach sunxigpio at fdt with sunxi_gpio 127file arch/arm/sunxi/sunxi_gpio.c sunxi_gpio 128file arch/arm/sunxi/sun4i_a10_gpio.c sunxi_gpio & soc_sun4i_a10 129file arch/arm/sunxi/sun5i_a13_gpio.c sunxi_gpio & soc_sun5i_a13 130file arch/arm/sunxi/sun6i_a31_gpio.c sunxi_gpio & soc_sun6i_a31 131file arch/arm/sunxi/sun7i_a20_gpio.c sunxi_gpio & soc_sun7i_a20 132file arch/arm/sunxi/sun8i_a83t_gpio.c sunxi_gpio & soc_sun8i_a83t 133file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & soc_sun8i_h3 134file arch/arm/sunxi/sun9i_a80_gpio.c sunxi_gpio & soc_sun9i_a80 135file arch/arm/sunxi/sun50i_a64_gpio.c sunxi_gpio & soc_sun50i_a64 136file arch/arm/sunxi/sun50i_h6_gpio.c sunxi_gpio & soc_sun50i_h6 137 138# PWM 139device sunxipwm: pwm 140attach sunxipwm at fdt with sunxi_pwm 141file arch/arm/sunxi/sunxi_pwm.c sunxi_pwm 142 143# SD/MMC 144device sunximmc: sdmmcbus 145attach sunximmc at fdt with sunxi_mmc 146file arch/arm/sunxi/sunxi_mmc.c sunxi_mmc 147defparam opt_sunximmc.h SUNXI_MMC_DEBUG 148 149# USB PHY 150device sunxiusbphy 151attach sunxiusbphy at fdt with sunxi_usbphy 152file arch/arm/sunxi/sunxi_usbphy.c sunxi_usbphy 153 154device sunxiusb3phy 155attach sunxiusb3phy at fdt with sunxi_usb3phy 156file arch/arm/sunxi/sunxi_usb3phy.c sunxi_usb3phy 157 158device sun9iusbphy 159attach sun9iusbphy at fdt with sunxi_a80_usbphy 160file arch/arm/sunxi/sun9i_a80_usbphy.c sunxi_a80_usbphy 161 162# TWI 163device sunxitwi: i2cbus, i2cexec, mvi2c 164attach sunxitwi at fdt with sunxi_twi 165file arch/arm/sunxi/sunxi_twi.c sunxi_twi 166 167# P2WI/RSB 168device sunxirsb: i2cbus, i2cexec 169attach sunxirsb at fdt with sunxi_rsb 170file arch/arm/sunxi/sunxi_rsb.c sunxi_rsb 171 172# RTC 173device sunxirtc 174attach sunxirtc at fdt with sunxi_rtc 175file arch/arm/sunxi/sunxi_rtc.c sunxi_rtc 176 177# EMAC (common) 178device emac: arp, ether, ifnet, mii 179 180# EMAC (sun4i/sun5i/sun7i) 181ifdef arm 182attach emac at fdt with sun4i_emac 183file arch/arm/sunxi/sun4i_emac.c sun4i_emac 184endif 185 186# EMAC (sun8i/sun50i) 187attach emac at fdt with sunxi_emac 188file arch/arm/sunxi/sunxi_emac.c sunxi_emac 189 190# GMAC 191attach awge at fdt with sunxi_gmac 192file arch/arm/sunxi/sunxi_gmac.c sunxi_gmac 193 194# Timer 195device sunxitimer 196attach sunxitimer at fdt with sunxi_timer 197file arch/arm/sunxi/sunxi_timer.c sunxi_timer 198 199# High Speed Timer 200device sunxihstimer 201attach sunxihstimer at fdt with sunxi_hstimer 202file arch/arm/sunxi/sunxi_hstimer.c sunxi_hstimer 203 204# Watchdog 205device sunxiwdt: sysmon_wdog 206attach sunxiwdt at fdt with sunxi_wdt 207file arch/arm/sunxi/sunxi_wdt.c sunxi_wdt 208 209# DMA controller (sun4i) 210device sun4idma 211attach sun4idma at fdt with sun4i_dma 212file arch/arm/sunxi/sun4i_dma.c sun4i_dma 213 214# DMA controller (sun6i) 215device sun6idma 216attach sun6idma at fdt with sun6i_dma 217file arch/arm/sunxi/sun6i_dma.c sun6i_dma 218 219# Audio codec 220device sunxicodec: audiobus 221attach sunxicodec at fdt with sunxi_codec 222file arch/arm/sunxi/sunxi_codec.c sunxi_codec 223file arch/arm/sunxi/sun4i_a10_codec.c sunxi_codec 224file arch/arm/sunxi/sun6i_a31_codec.c sunxi_codec 225 226# Audio codec (sun8i) 227device sun8icodec 228attach sun8icodec at fdt with sun8i_codec 229file arch/arm/sunxi/sun8i_codec.c sun8i_codec 230 231# H3 Audio codec (analog part) 232device h3codec 233attach h3codec at fdt with h3_codec 234file arch/arm/sunxi/sun8i_h3_codec.c h3_codec needs-flag 235 236# A64 Audio codec (analog part) 237device a64acodec 238attach a64acodec at fdt with a64_acodec 239file arch/arm/sunxi/sun50i_a64_acodec.c a64_acodec 240 241# I2S/PCM controller 242device sunxii2s 243attach sunxii2s at fdt with sunxi_i2s 244file arch/arm/sunxi/sunxi_i2s.c sunxi_i2s 245 246# A10/A20 LCD/TV timing controller (TCON) 247device sunxitcon 248attach sunxitcon at fdt with sunxi_tcon 249file arch/arm/sunxi/sunxi_tcon.c sunxi_tcon needs-flag 250 251# A10/A20 Display engine backend (DE-BE) 252device sunxidebe { } 253attach sunxidebe at fdt with sunxi_debe 254file arch/arm/sunxi/sunxi_debe.c sunxi_debe needs-flag 255 256attach genfb at sunxidebe with sunxi_befb 257 258# A10/A20 HDMI 259device sunxihdmi: edid, videomode 260attach sunxihdmi at fdt with sunxi_hdmi 261file arch/arm/sunxi/sunxi_hdmi.c sunxi_hdmi needs-flag 262 263# A10/A20 display engine pipeline 264device sunxidep 265attach sunxidep at fdt with sunxi_dep 266file arch/arm/sunxi/sunxi_dep.c sunxi_dep 267 268# Touch Screen controller 269device sunxits: wsmousedev, tpcalib, sysmon_envsys 270attach sunxits at fdt with sunxi_ts 271file arch/arm/sunxi/sunxi_ts.c sunxi_ts 272 273# USB OTG 274attach motg at fdt with sunxi_musb 275file arch/arm/sunxi/sunxi_musb.c sunxi_musb 276 277# Security ID EFUSE 278device sunxisid 279attach sunxisid at fdt with sunxi_sid 280file arch/arm/sunxi/sunxi_sid.c sunxi_sid 281 282# Thermal sensor controller 283device sunxithermal: sysmon_envsys, sysmon_taskq 284attach sunxithermal at fdt with sunxi_thermal 285file arch/arm/sunxi/sunxi_thermal.c sunxi_thermal 286 287# SATA 288attach ahcisata at fdt with sunxi_sata 289file arch/arm/sunxi/sunxi_sata.c sunxi_sata 290 291# SRAM Controller 292device sunxisramc 293attach sunxisramc at fdt with sunxi_sramc 294file arch/arm/sunxi/sunxi_sramc.c sunxi_sramc 295 296# NAND Flash Controller 297device sunxinand: nandbus 298attach sunxinand at fdt with sunxi_nand 299file arch/arm/sunxi/sunxi_nand.c sunxi_nand 300 301# SPI Controller 302device sun4ispi: spibus 303attach sun4ispi at fdt with sun4i_spi 304file arch/arm/sunxi/sun4i_spi.c sun4i_spi 305device sun6ispi: spibus 306attach sun6ispi at fdt with sun6i_spi 307file arch/arm/sunxi/sun6i_spi.c sun6i_spi 308 309# A10/A20 CAN 310device sunxican { } : ifnet 311attach sunxican at fdt with sunxi_can 312file arch/arm/sunxi/sunxi_can.c sunxi_can 313 314# LRADC 315device sunxilradc 316attach sunxilradc at fdt with sunxi_lradc 317file arch/arm/sunxi/sunxi_lradc.c sunxi_lradc 318 319# DE2 bus 320device sunxide2bus { }: fdt, sunxi_sramc 321attach sunxide2bus at fdt with sunxi_de2bus 322file arch/arm/sunxi/sunxi_de2.c sunxi_de2bus 323 324# DE2 clocks 325device sunxide2ccu: sunxi_ccu 326attach sunxide2ccu at fdt with sunxi_de2ccu 327file arch/arm/sunxi/sunxi_de2_ccu.c sunxi_de2ccu 328 329# DE2 mixer 330device sunximixer: drmkms 331attach sunximixer at fdt with sunxi_mixer 332file arch/arm/sunxi/sunxi_mixer.c sunxi_mixer 333 334# DE2 timing controller 335device sunxilcdc: drmkms 336attach sunxilcdc at fdt with sunxi_lcdc 337file arch/arm/sunxi/sunxi_lcdc.c sunxi_lcdc 338 339# Display Pipeline 340define sunxifbbus { } 341device sunxidrm: drmkms, ddc_read_edid, sunxifbbus 342attach sunxidrm at fdt with sunxi_drm 343file arch/arm/sunxi/sunxi_drm.c sunxi_drm 344 345# DRM framebuffer console 346device sunxifb: sunxifbbus, drmfb, wsemuldisplaydev 347attach sunxifb at sunxifbbus with sunxi_fb 348file arch/arm/sunxi/sunxi_fb.c sunxi_fb 349 350# Allwinner HDMI (Designware based) 351attach dwhdmi at fdt with sunxi_dwhdmi 352file arch/arm/sunxi/sunxi_dwhdmi.c sunxi_dwhdmi 353 354# Allwinner HDMI TX PHY 355device sunxihdmiphy: drmkms 356attach sunxihdmiphy at fdt with sunxi_hdmiphy 357file arch/arm/sunxi/sunxi_hdmiphy.c sunxi_hdmiphy | sunxi_dwhdmi 358 359# Allwinner Crypto Engine 360device sun8icrypto 361attach sun8icrypto at fdt with sun8i_crypto 362file arch/arm/sunxi/sun8i_crypto.c sun8i_crypto 363 364# SOC parameters 365defflag opt_soc.h SOC_SUNXI 366defflag opt_soc.h SOC_SUNXI_MC 367defflag opt_soc.h SOC_SUN4I: SOC_SUNXI 368defflag opt_soc.h SOC_SUN4I_A10: SOC_SUN4I 369defflag opt_soc.h SOC_SUN5I: SOC_SUNXI 370defflag opt_soc.h SOC_SUN5I_A13: SOC_SUN5I 371defflag opt_soc.h SOC_SUN6I: SOC_SUNXI 372defflag opt_soc.h SOC_SUN6I_A31: SOC_SUN6I 373defflag opt_soc.h SOC_SUN7I: SOC_SUNXI 374defflag opt_soc.h SOC_SUN7I_A20: SOC_SUN7I 375defflag opt_soc.h SOC_SUN8I: SOC_SUNXI 376defflag opt_soc.h SOC_SUN8I_A83T: SOC_SUN8I, SOC_SUNXI_MC 377defflag opt_soc.h SOC_SUN8I_H3: SOC_SUN8I 378defflag opt_soc.h SOC_SUN9I: SOC_SUNXI 379defflag opt_soc.h SOC_SUN9I_A80: SOC_SUN9I, SOC_SUNXI_MC 380defflag opt_soc.h SOC_SUN50I: SOC_SUNXI 381defflag opt_soc.h SOC_SUN50I_A64: SOC_SUN50I 382defflag opt_soc.h SOC_SUN50I_H5: SOC_SUN50I, SOC_SUN8I_H3 383defflag opt_soc.h SOC_SUN50I_H6: SOC_SUN50I 384