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