[PATCH v2 00/30] rockchip: Add initial support for RK3528
Jonas Karlman
jonas at kwiboo.se
Tue Apr 8 00:46:33 CEST 2025
This series add initial support for the Rockchip RK3528 SoC.
Clk, pinctrl and rng drivers have been imported from vendor U-Boot with
minor adjustments and fixes.
Upstream DT for RK3528 is now more complete and this series only add a
few missing nodes to -u-boot.dtsi files to have a bootable system.
Changes in v2:
- Pick device tree commits from devicetree-rebasing v6.15-rc1-dts
- Update clk and reset driver to work with mainline Linux dt-bindings
- Add RK3528 support in otp, saradc, inno-usb2 and dwc_eth_qos drivers
Features tested on a ArmSoM Sige1:
- SD-card boot
- eMMC boot
Features tested on a FriendlyElec NanoPi Zero2:
- SD-card boot
- eMMC boot
Features tested on a Radxa E20C v1.104:
- SD-card boot
- eMMC boot
Features tested on a Radxa ROCK 2A v1.202:
- SD-card boot
Boot log on a Radxa ROCK 2A:
DDR 44ec2e0a51 huan.he 24/07/12-14:38:48,fwver: v1.10
[...]
out
U-Boot SPL 2025.04-rc5 (Apr 07 2025 - 21:08:38 +0000)
Trying to boot from MMC2
## Checking hash(es) for config config-1 ... OK
## Checking hash(es) for Image atf-1 ... sha256+ OK
## Checking hash(es) for Image u-boot ... sha256+ OK
## Checking hash(es) for Image fdt-1 ... sha256+ OK
## Checking hash(es) for Image atf-2 ... sha256+ OK
## Checking hash(es) for Image atf-3 ... sha256+ OK
INFO: Preloader serial: 0
NOTICE: BL31: v2.3():v2.3-857-g059b3c586:derrick.huang, fwver: v1.18
NOTICE: BL31: Built : 17:43:24, Nov 18 2024
INFO: rk_otp_init finish!
INFO: ARM GICv2 driver initialized
INFO: nonboot_cpus_off: clst_st=0xc0e, core_st=0xe1e0 boot_cpu=0
INFO: dfs DDR fsp_param[0].freq_mhz= 1056MHz
INFO: dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO: dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO: dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO: idle_st=0x0, pd_st=0x0
INFO: Using opteed sec cpu_context!
INFO: boot cpu mask: 1
INFO: rk_otp_init finish!
INFO: RK3528 SoC (0x101)
INFO: BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR: Error initializing runtime service opteed_fast
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x800000
INFO: SPSR = 0x3c9
U-Boot 2025.04-rc5 (Apr 07 2025 - 21:08:38 +0000)
Model: Generic RK3528
SoC: RK3528A
DRAM: 4 GiB (effective 3.9 GiB)
Core: 130 devices, 20 uclasses, devicetree: separate
MMC: mmc at ffbf0000: 0, mmc at ffc30000: 1
Loading Environment from nowhere... OK
In: serial at ff9f0000
Out: serial at ff9f0000
Err: serial at ff9f0000
Hit any key to stop autoboot: 0
=>
This series depends on the following series:
- rockchip: ROCKCHIP_COMMON_STACK_ADDR improvements
- rockchip: Update rng compatible for RK356x and RK3588
Chukun Pan (2):
arm64: dts: rockchip: Add rk3528 QoS register node
arm64: dts: rockchip: enable SCMI clk for RK3528 SoC
Jonas Karlman (21):
arm64: dts: rockchip: Add pinctrl and gpio nodes for RK3528
arm64: dts: rockchip: Add SARADC node for RK3528
arm64: dts: rockchip: Add SDHCI controller for RK3528
arm64: dts: rockchip: Add uart0 pinctrl to Radxa E20C
arm64: dts: rockchip: Add leds node to Radxa E20C
arm64: dts: rockchip: Add user button to Radxa E20C
arm64: dts: rockchip: Add maskrom button to Radxa E20C
arm64: dts: rockchip: Enable onboard eMMC on Radxa E20C
ram: rockchip: Add basic support for RK3528
arm: dts: rockchip: Add rk3528-u-boot.dtsi
arch: arm: rockchip: Add initial support for RK3528
mmc: rockchip_sdhci: Extend variant configuration
mmc: rockchip_sdhci: Add initial support for RK3528
mmc: rockchip_sdhci: Gate clock for glitch free phase switching
rockchip: otp: Add support for RK3528
adc: rockchip-saradc: Add support for RK3528
phy: rockchip-inno-usb2: Add support for clkout_ctl_phy
phy: rockchip-inno-usb2: Add support for RK3528
net: dwc_eth_qos_rockchip: Add support for RK3528
board: rockchip: Add minimal generic RK3528 board
board: rockchip: Add Radxa E20C
Joseph Chen (1):
clk: rockchip: Add support for RK3528
Lin Jinhan (1):
rng: rockchip: Add support for rkrng variant
Steven Liu (1):
pinctrl: rockchip: Add support for RK3528
Yao Zi (3):
dt-bindings: clock: Document clock and reset unit of RK3528
arm64: dts: rockchip: Add clock generators for RK3528 SoC
arm64: dts: rockchip: Add UART clocks for RK3528 SoC
Yifeng Zhao (1):
rockchip: mkimage: Add support for RK3528
arch/arm/dts/rk3528-generic-u-boot.dtsi | 12 +
arch/arm/dts/rk3528-generic.dts | 31 +
arch/arm/dts/rk3528-radxa-e20c-u-boot.dtsi | 12 +
arch/arm/dts/rk3528-u-boot.dtsi | 148 ++
arch/arm/include/asm/arch-rk3528/boot0.h | 9 +
arch/arm/include/asm/arch-rk3528/gpio.h | 9 +
arch/arm/include/asm/arch-rockchip/clock.h | 17 +
.../include/asm/arch-rockchip/cru_rk3528.h | 388 ++++
arch/arm/mach-rockchip/Kconfig | 51 +
arch/arm/mach-rockchip/Makefile | 1 +
arch/arm/mach-rockchip/rk3528/Kconfig | 15 +
arch/arm/mach-rockchip/rk3528/MAINTAINERS | 11 +
arch/arm/mach-rockchip/rk3528/Makefile | 5 +
arch/arm/mach-rockchip/rk3528/clk_rk3528.c | 16 +
arch/arm/mach-rockchip/rk3528/rk3528.c | 137 ++
arch/arm/mach-rockchip/rk3528/syscon_rk3528.c | 19 +
arch/arm/mach-rockchip/sdram.c | 3 +-
configs/generic-rk3528_defconfig | 40 +
configs/radxa-e20c-rk3528_defconfig | 56 +
doc/board/rockchip/rockchip.rst | 13 +
drivers/adc/rockchip-saradc.c | 10 +
drivers/clk/rockchip/Makefile | 1 +
drivers/clk/rockchip/clk_pll.c | 23 +-
drivers/clk/rockchip/clk_rk3528.c | 1754 +++++++++++++++++
drivers/misc/rockchip-otp.c | 4 +
drivers/mmc/rockchip_sdhci.c | 39 +-
drivers/net/dwc_eth_qos.c | 4 +
drivers/net/dwc_eth_qos_rockchip.c | 138 ++
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 63 +-
drivers/pinctrl/rockchip/Makefile | 1 +
drivers/pinctrl/rockchip/pinctrl-rk3528.c | 273 +++
drivers/ram/rockchip/Makefile | 1 +
drivers/ram/rockchip/sdram_rk3528.c | 33 +
drivers/reset/Makefile | 2 +-
drivers/reset/rst-rk3528.c | 302 +++
drivers/rng/rockchip_rng.c | 73 +
drivers/usb/gadget/Kconfig | 1 +
.../Bindings/clock/rockchip,rk3528-cru.yaml | 64 +
.../dt-bindings/clock/rockchip,rk3528-cru.h | 453 +++++
.../dt-bindings/reset/rockchip,rk3528-cru.h | 241 +++
.../src/arm64/rockchip/rk3528-pinctrl.dtsi | 1397 +++++++++++++
.../src/arm64/rockchip/rk3528-radxa-e20c.dts | 133 ++
dts/upstream/src/arm64/rockchip/rk3528.dtsi | 378 +++-
include/configs/rk3528_common.h | 38 +
tools/rkcommon.c | 1 +
45 files changed, 6398 insertions(+), 22 deletions(-)
create mode 100644 arch/arm/dts/rk3528-generic-u-boot.dtsi
create mode 100644 arch/arm/dts/rk3528-generic.dts
create mode 100644 arch/arm/dts/rk3528-radxa-e20c-u-boot.dtsi
create mode 100644 arch/arm/dts/rk3528-u-boot.dtsi
create mode 100644 arch/arm/include/asm/arch-rk3528/boot0.h
create mode 100644 arch/arm/include/asm/arch-rk3528/gpio.h
create mode 100644 arch/arm/include/asm/arch-rockchip/cru_rk3528.h
create mode 100644 arch/arm/mach-rockchip/rk3528/Kconfig
create mode 100644 arch/arm/mach-rockchip/rk3528/MAINTAINERS
create mode 100644 arch/arm/mach-rockchip/rk3528/Makefile
create mode 100644 arch/arm/mach-rockchip/rk3528/clk_rk3528.c
create mode 100644 arch/arm/mach-rockchip/rk3528/rk3528.c
create mode 100644 arch/arm/mach-rockchip/rk3528/syscon_rk3528.c
create mode 100644 configs/generic-rk3528_defconfig
create mode 100644 configs/radxa-e20c-rk3528_defconfig
create mode 100644 drivers/clk/rockchip/clk_rk3528.c
create mode 100644 drivers/pinctrl/rockchip/pinctrl-rk3528.c
create mode 100644 drivers/ram/rockchip/sdram_rk3528.c
create mode 100644 drivers/reset/rst-rk3528.c
create mode 100644 dts/upstream/Bindings/clock/rockchip,rk3528-cru.yaml
create mode 100644 dts/upstream/include/dt-bindings/clock/rockchip,rk3528-cru.h
create mode 100644 dts/upstream/include/dt-bindings/reset/rockchip,rk3528-cru.h
create mode 100644 dts/upstream/src/arm64/rockchip/rk3528-pinctrl.dtsi
create mode 100644 include/configs/rk3528_common.h
--
2.49.0
More information about the U-Boot
mailing list