[PATCH 00/13] rockchip: Add initial support for RK3528

Jonas Karlman jonas at kwiboo.se
Thu Jan 23 23:48:12 CET 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 at a very basic state at the moment and this
series instead add a few missing nodes to -u-boot.dtsi files to have
a bootable system.

Features tested on a ArmSoM Sige1:
- 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 ArmSoM Sige1:

  DDR 44ec2e0a51 huan.he 24/07/12-14:38:48,fwver: v1.10
  [...]
  out
  
  U-Boot SPL 2025.01 (Jan 23 2025 - 20:16:33 +0000)
  Trying to boot from MMC1
  ## 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 = 0x200000
  INFO:    SPSR = 0x3c9
  
  
  U-Boot 2025.01 (Jan 23 2025 - 20:16:33 +0000)
  
  Model: Generic RK3528
  SoC:   RK3528A
  DRAM:  2 GiB
  Core:  98 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 pending merge of devicetree-rebasing
v6.13-dts tag.

Jonas Karlman (8):
  arch: arm: rockchip: Add initial support for RK3528
  ram: rockchip: Add basic 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
  arm: dts: rockchip: Add rk3528-u-boot.dtsi
  board: rockchip: Add minimal generic RK3528 board
  board: rockchip: Add Radxa E20C

Joseph Chen (2):
  clk: rockchip: Add support for RK3528
  arm: dts: rockchip: Add rk3528-pinctrl.dtsi

Lin Jinhan (1):
  rng: rockchip: Add support for rkrng variant

Steven Liu (1):
  pinctrl: rockchip: Add support for RK3528

Yifeng Zhao (1):
  rockchip: mkimage: Add support for RK3528

 arch/arm/dts/rk3528-generic-u-boot.dtsi       |   31 +
 arch/arm/dts/rk3528-generic.dts               |   20 +
 arch/arm/dts/rk3528-pinctrl.dtsi              | 1397 +++++++++++++
 arch/arm/dts/rk3528-radxa-e20c-u-boot.dtsi    |   31 +
 arch/arm/dts/rk3528-u-boot.dtsi               |  249 +++
 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    |    7 +
 .../include/asm/arch-rockchip/cru_rk3528.h    |  388 ++++
 arch/arm/mach-rockchip/Kconfig                |   50 +
 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        |  104 +
 arch/arm/mach-rockchip/rk3528/syscon_rk3528.c |   19 +
 arch/arm/mach-rockchip/sdram.c                |    3 +-
 configs/generic-rk3528_defconfig              |   39 +
 configs/radxa-e20c-rk3528_defconfig           |   35 +
 doc/board/rockchip/rockchip.rst               |   13 +
 drivers/clk/rockchip/Makefile                 |    1 +
 drivers/clk/rockchip/clk_pll.c                |   23 +-
 drivers/clk/rockchip/clk_rk3528.c             | 1744 +++++++++++++++++
 drivers/mmc/rockchip_sdhci.c                  |   39 +-
 drivers/pinctrl/rockchip/Makefile             |    1 +
 drivers/pinctrl/rockchip/pinctrl-rk3528.c     |  292 +++
 drivers/ram/rockchip/Makefile                 |    1 +
 drivers/ram/rockchip/sdram_rk3528.c           |   33 +
 drivers/rng/rockchip_rng.c                    |   73 +
 include/configs/rk3528_common.h               |   42 +
 include/dt-bindings/clock/rk3528-cru.h        |  751 +++++++
 tools/rkcommon.c                              |    1 +
 33 files changed, 5443 insertions(+), 10 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-pinctrl.dtsi
 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 include/configs/rk3528_common.h
 create mode 100644 include/dt-bindings/clock/rk3528-cru.h

-- 
2.48.1



More information about the U-Boot mailing list