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