files.rockchip revision 1.31 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