# $NetBSD: files.sunxi,v 1.72 2022/07/20 10:01:11 riastradh Exp $ # # Configuration info for Allwinner sunxi family SoCs # # file arch/arm/sunxi/sunxi_platform.c soc_sunxi file arch/arm/sunxi/sunxi_mc_smp.c soc_sunxi_mc file arch/arm/sunxi/sunxi_mc_mpstart.S soc_sunxi_mc # CCU define sunxi_ccu file arch/arm/sunxi/sunxi_ccu.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_div.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_fixed_factor.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_fractional.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_gate.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_mux.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nm.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nkmp.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_phase.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_prediv.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_display.c sunxi_ccu # CCU (A10/A20) device sun4ia10ccu: sunxi_ccu attach sun4ia10ccu at fdt with sunxi_a10_ccu file arch/arm/sunxi/sun4i_a10_ccu.c sunxi_a10_ccu # CCU (A13) device sun5ia13ccu: sunxi_ccu attach sun5ia13ccu at fdt with sunxi_a13_ccu file arch/arm/sunxi/sun5i_a13_ccu.c sunxi_a13_ccu # CCU (A31) device sun6ia31ccu: sunxi_ccu attach sun6ia31ccu at fdt with sunxi_a31_ccu file arch/arm/sunxi/sun6i_a31_ccu.c sunxi_a31_ccu # CCU (A83T) device sun8ia83tccu: sunxi_ccu attach sun8ia83tccu at fdt with sunxi_a83t_ccu file arch/arm/sunxi/sun8i_a83t_ccu.c sunxi_a83t_ccu # CCU (H3) device sun8ih3ccu: sunxi_ccu attach sun8ih3ccu at fdt with sunxi_h3_ccu file arch/arm/sunxi/sun8i_h3_ccu.c sunxi_h3_ccu # CCU (H3 PRCM) device sun8ih3rccu: sunxi_ccu attach sun8ih3rccu at fdt with sunxi_h3_r_ccu file arch/arm/sunxi/sun8i_h3_r_ccu.c sunxi_h3_r_ccu # CCU (V3s) device sun8iv3sccu: sunxi_ccu attach sun8iv3sccu at fdt with sunxi_v3s_ccu file arch/arm/sunxi/sun8i_v3s_ccu.c sunxi_v3s_ccu # CCU (A80) device sun9ia80ccu: sunxi_ccu attach sun9ia80ccu at fdt with sunxi_a80_ccu file arch/arm/sunxi/sun9i_a80_ccu.c sunxi_a80_ccu # CCU (A64) device sun50ia64ccu: sunxi_ccu attach sun50ia64ccu at fdt with sunxi_a64_ccu file arch/arm/sunxi/sun50i_a64_ccu.c sunxi_a64_ccu # CCU (A64 PRCM) device sun50ia64rccu: sunxi_ccu attach sun50ia64rccu at fdt with sunxi_a64_r_ccu file arch/arm/sunxi/sun50i_a64_r_ccu.c sunxi_a64_r_ccu # CCU (H6) device sun50ih6ccu: sunxi_ccu attach sun50ih6ccu at fdt with sunxi_h6_ccu file arch/arm/sunxi/sun50i_h6_ccu.c sunxi_h6_ccu # CCU (H6 PRCM) device sun50ih6rccu: sunxi_ccu attach sun50ih6rccu at fdt with sunxi_h6_r_ccu file arch/arm/sunxi/sun50i_h6_r_ccu.c sunxi_h6_r_ccu # Misc. clock resets device sunxiresets attach sunxiresets at fdt with sunxi_resets file arch/arm/sunxi/sunxi_resets.c sunxi_resets # Misc. clock gates device sunxigates attach sunxigates at fdt with sunxi_gates file arch/arm/sunxi/sunxi_gates.c sunxi_gates # GMAC MII/RGMII clock mux device sunxigmacclk attach sunxigmacclk at fdt with sunxi_gmacclk file arch/arm/sunxi/sunxi_gmacclk.c sunxi_gmacclk # SD/MMC-COMM (A80) device sun9immcclk attach sun9immcclk at fdt with sunxi_a80_mmcclk file arch/arm/sunxi/sun9i_a80_mmcclk.c sunxi_a80_mmcclk # USB HCI clocks (A80) device sun9iusbclk attach sun9iusbclk at fdt with sunxi_a80_usbclk file arch/arm/sunxi/sun9i_a80_usbclk.c sunxi_a80_usbclk # CPUS clock driver (A80) device sun9icpusclk attach sun9icpusclk at fdt with sunxi_a80_cpusclk file arch/arm/sunxi/sun9i_a80_cpusclk.c sunxi_a80_cpusclk # APB0 clock driver (A80) device sun8iapbclk attach sun8iapbclk at fdt with sunxi_a23_apbclk file arch/arm/sunxi/sun8i_a23_apbclk.c sunxi_a23_apbclk # Interrupt controller device sunxiintc: pic, pic_splfuncs attach sunxiintc at fdt with sunxi_intc file arch/arm/sunxi/sunxi_intc.c sunxi_intc device sunxinmi attach sunxinmi at fdt with sunxi_nmi file arch/arm/sunxi/sunxi_nmi.c sunxi_nmi # GPIO device sunxigpio: gpiobus attach sunxigpio at fdt with sunxi_gpio file arch/arm/sunxi/sunxi_gpio.c sunxi_gpio file arch/arm/sunxi/sun4i_a10_gpio.c sunxi_gpio & soc_sun4i_a10 file arch/arm/sunxi/sun5i_a13_gpio.c sunxi_gpio & soc_sun5i_a13 file arch/arm/sunxi/sun6i_a31_gpio.c sunxi_gpio & soc_sun6i_a31 file arch/arm/sunxi/sun7i_a20_gpio.c sunxi_gpio & soc_sun7i_a20 file arch/arm/sunxi/sun8i_a83t_gpio.c sunxi_gpio & soc_sun8i_a83t file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & soc_sun8i_h3 file arch/arm/sunxi/sun8i_v3s_gpio.c sunxi_gpio & soc_sun8i_v3s file arch/arm/sunxi/sun9i_a80_gpio.c sunxi_gpio & soc_sun9i_a80 file arch/arm/sunxi/sun50i_a64_gpio.c sunxi_gpio & soc_sun50i_a64 file arch/arm/sunxi/sun50i_h6_gpio.c sunxi_gpio & soc_sun50i_h6 # PWM device sunxipwm: pwm attach sunxipwm at fdt with sunxi_pwm file arch/arm/sunxi/sunxi_pwm.c sunxi_pwm # SD/MMC device sunximmc: sdmmcbus attach sunximmc at fdt with sunxi_mmc file arch/arm/sunxi/sunxi_mmc.c sunxi_mmc defparam opt_sunximmc.h SUNXI_MMC_DEBUG # USB PHY device sunxiusbphy attach sunxiusbphy at fdt with sunxi_usbphy file arch/arm/sunxi/sunxi_usbphy.c sunxi_usbphy device sunxiusb3phy attach sunxiusb3phy at fdt with sunxi_usb3phy file arch/arm/sunxi/sunxi_usb3phy.c sunxi_usb3phy device sun9iusbphy attach sun9iusbphy at fdt with sunxi_a80_usbphy file arch/arm/sunxi/sun9i_a80_usbphy.c sunxi_a80_usbphy # TWI device sunxitwi: i2cbus, i2cexec, mvi2c attach sunxitwi at fdt with sunxi_twi file arch/arm/sunxi/sunxi_twi.c sunxi_twi # P2WI/RSB device sunxirsb: i2cbus, i2cexec attach sunxirsb at fdt with sunxi_rsb file arch/arm/sunxi/sunxi_rsb.c sunxi_rsb # RTC device sunxirtc attach sunxirtc at fdt with sunxi_rtc file arch/arm/sunxi/sunxi_rtc.c sunxi_rtc # EMAC (common) device emac: arp, ether, ifnet, mii # EMAC (sun4i/sun5i/sun7i) ifdef arm attach emac at fdt with sun4i_emac file arch/arm/sunxi/sun4i_emac.c sun4i_emac endif # EMAC (sun8i/sun50i) attach emac at fdt with sunxi_emac file arch/arm/sunxi/sunxi_emac.c sunxi_emac # GMAC attach awge at fdt with sunxi_gmac file arch/arm/sunxi/sunxi_gmac.c sunxi_gmac # Timer device sunxitimer attach sunxitimer at fdt with sunxi_timer file arch/arm/sunxi/sunxi_timer.c sunxi_timer # High Speed Timer device sunxihstimer attach sunxihstimer at fdt with sunxi_hstimer file arch/arm/sunxi/sunxi_hstimer.c sunxi_hstimer # Watchdog device sunxiwdt: sysmon_wdog attach sunxiwdt at fdt with sunxi_wdt file arch/arm/sunxi/sunxi_wdt.c sunxi_wdt # DMA controller (sun4i) device sun4idma attach sun4idma at fdt with sun4i_dma file arch/arm/sunxi/sun4i_dma.c sun4i_dma # DMA controller (sun6i) device sun6idma attach sun6idma at fdt with sun6i_dma file arch/arm/sunxi/sun6i_dma.c sun6i_dma # Audio codec device sunxicodec: audiobus attach sunxicodec at fdt with sunxi_codec file arch/arm/sunxi/sunxi_codec.c sunxi_codec file arch/arm/sunxi/sun4i_a10_codec.c sunxi_codec file arch/arm/sunxi/sun6i_a31_codec.c sunxi_codec # Audio codec (sun8i) device sun8icodec attach sun8icodec at fdt with sun8i_codec file arch/arm/sunxi/sun8i_codec.c sun8i_codec # H3 Audio codec (analog part) device h3codec attach h3codec at fdt with h3_codec file arch/arm/sunxi/sun8i_h3_codec.c h3_codec needs-flag # V3s Audio codec (analog part) device v3scodec attach v3scodec at fdt with v3s_codec file arch/arm/sunxi/sun8i_v3s_codec.c v3s_codec needs-flag # A64 Audio codec (analog part) device a64acodec attach a64acodec at fdt with a64_acodec file arch/arm/sunxi/sun50i_a64_acodec.c a64_acodec # I2S/PCM controller device sunxii2s attach sunxii2s at fdt with sunxi_i2s file arch/arm/sunxi/sunxi_i2s.c sunxi_i2s # A10/A20 LCD/TV timing controller (TCON) device sunxitcon attach sunxitcon at fdt with sunxi_tcon file arch/arm/sunxi/sunxi_tcon.c sunxi_tcon needs-flag # A10/A20 Display engine backend (DE-BE) device sunxidebe { } attach sunxidebe at fdt with sunxi_debe file arch/arm/sunxi/sunxi_debe.c sunxi_debe needs-flag attach genfb at sunxidebe with sunxi_befb # A10/A20 HDMI device sunxihdmi: edid, videomode attach sunxihdmi at fdt with sunxi_hdmi file arch/arm/sunxi/sunxi_hdmi.c sunxi_hdmi needs-flag # A10/A20 display engine pipeline device sunxidep attach sunxidep at fdt with sunxi_dep file arch/arm/sunxi/sunxi_dep.c sunxi_dep # Touch Screen controller device sunxits: wsmousedev, tpcalib, sysmon_envsys attach sunxits at fdt with sunxi_ts file arch/arm/sunxi/sunxi_ts.c sunxi_ts # USB OTG attach motg at fdt with sunxi_musb file arch/arm/sunxi/sunxi_musb.c sunxi_musb # Security ID EFUSE device sunxisid attach sunxisid at fdt with sunxi_sid file arch/arm/sunxi/sunxi_sid.c sunxi_sid # Thermal sensor controller device sunxithermal: sysmon_envsys, sysmon_taskq attach sunxithermal at fdt with sunxi_thermal file arch/arm/sunxi/sunxi_thermal.c sunxi_thermal # SATA attach ahcisata at fdt with sunxi_sata file arch/arm/sunxi/sunxi_sata.c sunxi_sata # SRAM Controller device sunxisramc attach sunxisramc at fdt with sunxi_sramc file arch/arm/sunxi/sunxi_sramc.c sunxi_sramc # NAND Flash Controller device sunxinand: nandbus attach sunxinand at fdt with sunxi_nand file arch/arm/sunxi/sunxi_nand.c sunxi_nand # SPI Controller device sun4ispi: spibus attach sun4ispi at fdt with sun4i_spi file arch/arm/sunxi/sun4i_spi.c sun4i_spi device sun6ispi: spibus attach sun6ispi at fdt with sun6i_spi file arch/arm/sunxi/sun6i_spi.c sun6i_spi # A10/A20 CAN device sunxican { } : ifnet attach sunxican at fdt with sunxi_can file arch/arm/sunxi/sunxi_can.c sunxi_can # LRADC device sunxilradc attach sunxilradc at fdt with sunxi_lradc file arch/arm/sunxi/sunxi_lradc.c sunxi_lradc # DE2 bus device sunxide2bus { }: fdt, sunxi_sramc attach sunxide2bus at fdt with sunxi_de2bus file arch/arm/sunxi/sunxi_de2.c sunxi_de2bus # DE2 clocks device sunxide2ccu: sunxi_ccu attach sunxide2ccu at fdt with sunxi_de2ccu file arch/arm/sunxi/sunxi_de2_ccu.c sunxi_de2ccu # DE2 mixer device sunximixer: drmkms attach sunximixer at fdt with sunxi_mixer file arch/arm/sunxi/sunxi_mixer.c sunxi_mixer makeoptions sunxi_mixer "CPPFLAGS.sunxi_mixer"+="${CPPFLAGS.drmkms}" # DE2 timing controller device sunxilcdc: drmkms attach sunxilcdc at fdt with sunxi_lcdc file arch/arm/sunxi/sunxi_lcdc.c sunxi_lcdc makeoptions sunxi_lcdc "CPPFLAGS.sunxi_lcdc"+="${CPPFLAGS.drmkms}" # Display Pipeline define sunxifbbus { } device sunxidrm: drmkms, ddc_read_edid, sunxifbbus attach sunxidrm at fdt with sunxi_drm file arch/arm/sunxi/sunxi_drm.c sunxi_drm makeoptions sunxi_drm "CPPFLAGS.sunxi_drm"+="${CPPFLAGS.drmkms}" # DRM framebuffer console device sunxifb: sunxifbbus, drmfb, wsemuldisplaydev attach sunxifb at sunxifbbus with sunxi_fb file arch/arm/sunxi/sunxi_fb.c sunxi_fb makeoptions sunxi_fb "CPPFLAGS.sunxi_fb"+="${CPPFLAGS.drmkms}" # Allwinner HDMI (Designware based) attach dwhdmi at fdt with sunxi_dwhdmi file arch/arm/sunxi/sunxi_dwhdmi.c sunxi_dwhdmi makeoptions sunxi_dwhdmi "CPPFLAGS.sunxi_dwhdmi"+="${CPPFLAGS.drmkms}" # Allwinner HDMI TX PHY device sunxihdmiphy: drmkms attach sunxihdmiphy at fdt with sunxi_hdmiphy file arch/arm/sunxi/sunxi_hdmiphy.c sunxi_hdmiphy | sunxi_dwhdmi # Allwinner Crypto Engine device sun8icrypto attach sun8icrypto at fdt with sun8i_crypto file arch/arm/sunxi/sun8i_crypto.c sun8i_crypto # SOC parameters defflag opt_soc.h SOC_SUNXI defflag opt_soc.h SOC_SUNXI_MC defflag opt_soc.h SOC_SUN4I: SOC_SUNXI defflag opt_soc.h SOC_SUN4I_A10: SOC_SUN4I defflag opt_soc.h SOC_SUN5I: SOC_SUNXI defflag opt_soc.h SOC_SUN5I_A13: SOC_SUN5I defflag opt_soc.h SOC_SUN6I: SOC_SUNXI defflag opt_soc.h SOC_SUN6I_A31: SOC_SUN6I defflag opt_soc.h SOC_SUN7I: SOC_SUNXI defflag opt_soc.h SOC_SUN7I_A20: SOC_SUN7I defflag opt_soc.h SOC_SUN8I: SOC_SUNXI defflag opt_soc.h SOC_SUN8I_A83T: SOC_SUN8I, SOC_SUNXI_MC defflag opt_soc.h SOC_SUN8I_H3: SOC_SUN8I defflag opt_soc.h SOC_SUN8I_V3S: SOC_SUN8I defflag opt_soc.h SOC_SUN9I: SOC_SUNXI defflag opt_soc.h SOC_SUN9I_A80: SOC_SUN9I, SOC_SUNXI_MC defflag opt_soc.h SOC_SUN50I: SOC_SUNXI defflag opt_soc.h SOC_SUN50I_A64: SOC_SUN50I defflag opt_soc.h SOC_SUN50I_H5: SOC_SUN50I, SOC_SUN8I_H3 defflag opt_soc.h SOC_SUN50I_H6: SOC_SUN50I