[PATCH v2 00/12] rockchip: Add initial support for RK3506
Jonas Karlman
jonas at kwiboo.se
Sun Feb 1 00:38:11 CET 2026
This series add initial support for the Rockchip RK3506 SoC.
Clk and pinctrl drivers have been imported from vendor U-Boot with
some adjustments and fixes.
Upstream DT is currently not existing for RK3506, so this series does
not add support for any new boards, it only add initial arch support.
Please see my U-Boot rk3506 branch at [1] for a few more commits that
add DTs and defconfig for e.g. Luckfox Lyra variants and ArmSoM Forge1.
With this series, board DTs and defconfigs it should be possible to boot
into U-Boot proper (without OP-TEE) and still have support for MMC,
Ethernet, OTP, RNG, LEDs, buttons and USB gadget/host.
Changes in v2:
- Use common handling of USB bootsource_id 0x81
- Re-sort the spl_infos list alphanumerically
- Drop use of struct rk3506_cru and of_to_plat() ops
- Define LOG_CATEGORY and use log_debug() in clk driver
- Extract rk3506_clk_init_xpl() from clk bind() ops
- Enable SPL_ARMV7_SET_CORTEX_SMPEN
- Fix mac1 and otg1 access to ddr memory
- Collect a-b and t-b tags (where applicable)
[1] https://source.denx.de/u-boot/contributors/kwiboo/u-boot/-/commits/rk3506
Finley Xiao (2):
dt-bindings: clock: rockchip: Add RK3506 clock and reset unit
clk: rockchip: Add support for RK3506
Jonas Karlman (8):
rockchip: spl: Add common handling of USB bootsource_id 0x81
rockchip: mkimage: Re-sort the spl_infos list alphanumerically
ram: rockchip: Add basic support for RK3506
pinctrl: rockchip: Use syscon_regmap_lookup_by_phandle()
rockchip: otp: Add support for RK3506
phy: rockchip-inno-usb2: Add support for RK3506
net: dwc_eth_qos_rockchip: Add support for RK3506
arch: arm: rockchip: Add initial support for RK3506
Xuhui Lin (1):
rockchip: mkimage: Add support for RK3506
Ye Zhang (1):
pinctrl: rockchip: Add support for RK3506
arch/arm/include/asm/arch-rk3506/boot0.h | 9 +
arch/arm/include/asm/arch-rk3506/gpio.h | 9 +
arch/arm/include/asm/arch-rockchip/clock.h | 10 +
.../include/asm/arch-rockchip/cru_rk3506.h | 181 +++
arch/arm/mach-rockchip/Kconfig | 44 +
arch/arm/mach-rockchip/Makefile | 1 +
arch/arm/mach-rockchip/rk3506/Kconfig | 15 +
arch/arm/mach-rockchip/rk3506/Makefile | 5 +
arch/arm/mach-rockchip/rk3506/clk_rk3506.c | 16 +
arch/arm/mach-rockchip/rk3506/rk3506.c | 125 ++
arch/arm/mach-rockchip/rk3506/syscon_rk3506.c | 19 +
arch/arm/mach-rockchip/rk3528/rk3528.c | 15 -
arch/arm/mach-rockchip/spl.c | 12 +-
drivers/clk/rockchip/Makefile | 1 +
drivers/clk/rockchip/clk_rk3506.c | 1166 +++++++++++++++++
drivers/misc/rockchip-otp.c | 4 +
drivers/net/dwc_eth_qos.c | 4 +
drivers/net/dwc_eth_qos_rockchip.c | 86 ++
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 20 +
drivers/pinctrl/rockchip/Makefile | 1 +
drivers/pinctrl/rockchip/pinctrl-rk3506.c | 462 +++++++
.../pinctrl/rockchip/pinctrl-rockchip-core.c | 46 +-
drivers/pinctrl/rockchip/pinctrl-rockchip.h | 1 +
drivers/ram/rockchip/Makefile | 1 +
drivers/ram/rockchip/sdram_rk3506.c | 33 +
drivers/reset/Makefile | 2 +-
drivers/reset/rst-rk3506.c | 222 ++++
drivers/usb/gadget/Kconfig | 1 +
.../Bindings/clock/rockchip,rk3506-cru.yaml | 55 +
.../dt-bindings/clock/rockchip,rk3506-cru.h | 285 ++++
.../dt-bindings/reset/rockchip,rk3506-cru.h | 211 +++
include/configs/rk3506_common.h | 38 +
tools/rkcommon.c | 5 +-
33 files changed, 3060 insertions(+), 45 deletions(-)
create mode 100644 arch/arm/include/asm/arch-rk3506/boot0.h
create mode 100644 arch/arm/include/asm/arch-rk3506/gpio.h
create mode 100644 arch/arm/include/asm/arch-rockchip/cru_rk3506.h
create mode 100644 arch/arm/mach-rockchip/rk3506/Kconfig
create mode 100644 arch/arm/mach-rockchip/rk3506/Makefile
create mode 100644 arch/arm/mach-rockchip/rk3506/clk_rk3506.c
create mode 100644 arch/arm/mach-rockchip/rk3506/rk3506.c
create mode 100644 arch/arm/mach-rockchip/rk3506/syscon_rk3506.c
create mode 100644 drivers/clk/rockchip/clk_rk3506.c
create mode 100644 drivers/pinctrl/rockchip/pinctrl-rk3506.c
create mode 100644 drivers/ram/rockchip/sdram_rk3506.c
create mode 100644 drivers/reset/rst-rk3506.c
create mode 100644 dts/upstream/Bindings/clock/rockchip,rk3506-cru.yaml
create mode 100644 dts/upstream/include/dt-bindings/clock/rockchip,rk3506-cru.h
create mode 100644 dts/upstream/include/dt-bindings/reset/rockchip,rk3506-cru.h
create mode 100644 include/configs/rk3506_common.h
--
2.52.0
More information about the U-Boot
mailing list