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