1 # $NetBSD: files.rockchip,v 1.31 2025/09/06 15:44:03 thorpej Exp $ 2 # 3 # Configuration info for Rockchip family SoCs 4 # 5 # 6 7 file arch/arm/rockchip/rk_platform.c soc_rockchip 8 9 file arch/arm/rockchip/rk3066_smp.c soc_rk3288 & multiprocessor 10 11 # Clock and reset unit (CRU) 12 define rk_cru: fdt_clock, fdt_reset, fdt_syscon 13 device rkcru: rk_cru 14 file arch/arm/rockchip/rk_cru.c rk_cru 15 file arch/arm/rockchip/rk_cru_arm.c rk_cru 16 file arch/arm/rockchip/rk_cru_composite.c rk_cru 17 file arch/arm/rockchip/rk_cru_gate.c rk_cru 18 file arch/arm/rockchip/rk_cru_mux.c rk_cru 19 file arch/arm/rockchip/rk_cru_pll.c rk_cru 20 21 ifdef arm 22 23 # RK3288 clock and reset unit 24 attach rkcru at fdt with rk3288_cru 25 file arch/arm/rockchip/rk3288_cru.c rk3288_cru & soc_rk3288 26 27 else 28 29 # RK3328 clock and reset unit 30 attach rkcru at fdt with rk3328_cru 31 file arch/arm/rockchip/rk3328_cru.c rk3328_cru & soc_rk3328 32 33 # RK3399 clock and reset unit 34 attach rkcru at fdt with rk3399_cru 35 file arch/arm/rockchip/rk3399_cru.c rk3399_cru & soc_rk3399 36 attach rkcru at fdt with rk3399_pmucru 37 file arch/arm/rockchip/rk3399_pmucru.c rk3399_pmucru & soc_rk3399 38 39 # RK3588 clock and reset unit 40 attach rkcru at fdt with rk3588_cru 41 file arch/arm/rockchip/rk3588_cru.c rk3588_cru & soc_rk3588 42 43 endif 44 45 # IOMUX control 46 device rkiomux { } 47 48 ifdef arm 49 50 attach rkiomux at fdt with rk3288_iomux: fdt_syscon, fdt_pinctrl 51 file arch/arm/rockchip/rk3288_iomux.c rk3288_iomux & soc_rk3288 52 53 else 54 55 attach rkiomux at fdt with rk3328_iomux: fdt_syscon, fdt_pinctrl 56 file arch/arm/rockchip/rk3328_iomux.c rk3328_iomux & soc_rk3328 57 attach rkiomux at fdt with rk3399_iomux: fdt_syscon, fdt_pinctrl 58 file arch/arm/rockchip/rk3399_iomux.c rk3399_iomux & soc_rk3399 59 attach rkiomux at fdt with rk3588_iomux: fdt_syscon, fdt_pinctrl 60 file arch/arm/rockchip/rk3588_iomux.c rk3588_iomux & soc_rk3588 61 62 endif 63 64 # GPIO 65 device rkgpio: fdt_clock, fdt_gpio, gpiobus 66 attach rkgpio at rkiomux with rk_gpio 67 file arch/arm/rockchip/rk_gpio.c rk_gpio 68 69 # I2C 70 device rkiic: fdt_clock, fdt_i2c, i2cbus, i2cexec 71 attach rkiic at fdt with rk_i2c 72 file arch/arm/rockchip/rk_i2c.c rk_i2c 73 74 # SPI 75 device rkspi: fdt_clock, fdt_spi, spibus 76 attach rkspi at fdt with rk_spi 77 file arch/arm/rockchip/rk_spi.c rk_spi 78 79 # USB PHY 80 device rkusb { }: fdt_clock, fdt_syscon 81 attach rkusb at fdt with rk_usb 82 device rkusbphy: fdt_phy, fdt_regulator 83 attach rkusbphy at rkusb with rk_usbphy 84 file arch/arm/rockchip/rk_usb.c rk_usb | rk_usbphy 85 86 device rk3288usb { }: fdt_reset, fdt_syscon 87 attach rk3288usb at fdt with rk3288_usb 88 device rk3288usbphy: fdt_phy 89 attach rk3288usbphy at rk3288usb with rk3288_usbphy 90 file arch/arm/rockchip/rk3288_usb.c rk3288_usb | rk3288_usbphy 91 92 # GMAC 93 attach awge at fdt with rk_gmac: fdt_clock, fdt_gpio, fdt_reset, fdt_syscon 94 file arch/arm/rockchip/rk_gmac.c rk_gmac 95 96 # EQOS 97 attach eqos at fdt with rk_eqos: fdt_clock, fdt_gpio, fdt_reset, fdt_syscon 98 file arch/arm/rockchip/rk_eqos.c rk_eqos 99 100 # PCIe PHY 101 device rkpciephy: fdt_clock, fdt_phy, fdt_reset, fdt_syscon 102 attach rkpciephy at fdt 103 file arch/arm/rockchip/rk3399_pcie_phy.c rkpciephy 104 105 # PCIe host 106 device rkpcie: fdt_gpio, fdt_phy, fdt_regulator, fdt_reset, pcibus, pcihost_fdt 107 attach rkpcie at fdt 108 file arch/arm/rockchip/rk3399_pcie.c rkpcie 109 110 # eMMC PHY 111 device rkemmcphy: fdt_clock, fdt_phy, fdt_syscon 112 attach rkemmcphy at fdt 113 file arch/arm/rockchip/rk_emmcphy.c rkemmcphy 114 115 # TSADC temperature sensors 116 device rktsadc: fdt_clock, fdt_reset, fdt_syscon, sysmon_envsys 117 attach rktsadc at fdt with rk_tsadc 118 file arch/arm/rockchip/rk_tsadc.c rk_tsadc 119 120 # PWM 121 device rkpwm: fdt_clock, fdt_pwm 122 attach rkpwm at fdt with rk_pwm 123 file arch/arm/rockchip/rk_pwm.c rk_pwm 124 125 # DRM master 126 define rkfbbus { } 127 device rkdrm: drmkms, ddc_read_edid, rkfbbus 128 attach rkdrm at fdt with rk_drm 129 file arch/arm/rockchip/rk_drm.c rk_drm 130 makeoptions rk_drm "CPPFLAGS.rk_drm"+="${CPPFLAGS.drmkms}" 131 132 # DRM framebuffer console 133 device rkfb: rkfbbus, drmfb, wsemuldisplaydev 134 attach rkfb at rkfbbus with rk_fb 135 file arch/arm/rockchip/rk_fb.c rk_fb 136 makeoptions rk_fb "CPPFLAGS.rk_fb"+="${CPPFLAGS.drmkms}" 137 138 # Visual Output Processor 139 device rkvop: fdt_clock, fdt_reset, drmkms 140 attach rkvop at fdt with rk_vop 141 file arch/arm/rockchip/rk_vop.c rk_vop 142 makeoptions rk_vop "CPPFLAGS.rk_vop"+="${CPPFLAGS.drmkms}" 143 144 # HDMI TX (Designware based) 145 attach dwhdmi at fdt with rk_dwhdmi: fdt_clock, fdt_dai, fdt_i2c, fdt_syscon 146 file arch/arm/rockchip/rk_dwhdmi.c rk_dwhdmi 147 makeoptions rk_dwhdmi "CPPFLAGS.rk_dwhdmi"+="${CPPFLAGS.drmkms}" 148 149 # DP/eDP (Analogix-based) 150 attach anxdp at fdt with rk_anxdp: fdt_dai, fdt_syscon 151 file arch/arm/rockchip/rk_anxdp.c rk_anxdp 152 makeoptions rk_anxdp "CPPFLAGS.rk_anxdp"+="${CPPFLAGS.drmkms}" 153 154 # I2S/PCM controller 155 device rki2s: fdt_dai, fdt_syscon 156 attach rki2s at fdt with rk_i2s 157 file arch/arm/rockchip/rk_i2s.c rk_i2s 158 159 # Crypto engine v1 160 device rkv1crypto: fdt_reset 161 attach rkv1crypto at fdt with rk_v1crypto 162 file arch/arm/rockchip/rk_v1crypto.c rk_v1crypto 163 164 # USB-C PHY 165 device rktypec { } 166 attach rktypec at fdt with rk_typec 167 device rktcphy: fdt_clock, fdt_phy, fdt_reset, fdt_syscon 168 attach rktcphy at rktypec with rk_tcphy 169 file arch/arm/rockchip/rk_tcphy.c rk_typec | rk_tcphy 170 171 # SOC parameters 172 defflag opt_soc.h SOC_ROCKCHIP 173 defflag opt_soc.h SOC_RK3288: SOC_ROCKCHIP 174 defflag opt_soc.h SOC_RK3328: SOC_ROCKCHIP 175 defflag opt_soc.h SOC_RK3399: SOC_ROCKCHIP 176 defflag opt_soc.h SOC_RK3588: SOC_ROCKCHIP 177