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