[PATCH 0/3] rockchip: rk3588: Fix sdmmc clocks

Jonas Karlman jonas at kwiboo.se
Fri Mar 17 23:00:54 CET 2023

Booting from sdmmc on RK3588 currently works because of a workaround in
the device tree, clocks are reordered so that the driver use ciu-sample
instead of ciu, and the BootRom initializes sdmmc clocks before SPL is
loaded into DRAM.

The sdmmc clocks are normally controlled by TF-A using SCMI. However,
there is a need to control these clocks in SPL, before TF-A has started.

This series adds a rk3588_scru driver to control the sdmmc clocks in SPL
before TF-A has started, using scru regs. It also adds a small glue
driver to bind the scmi clock node to the rk3588_scru driver in SPL.
The SCMI agent and clk_scmi driver is used to control the clocks in
U-Boot proper, after TF-A has started.

Patch 1 fixes an issue building SPL with clk_scmi driver enabled.
Patch 2 adds drivers the scru and glue drivers.
Patch 3 updates device tree and Kconfig options to use the new drivers.

I have tried to address some of the early feedback from [1].

This series is based on top of [2] and [3] and can also be found at [4].

[1] https://patchwork.ozlabs.org/project/uboot/cover/20230125222741.303259-1-jagan@edgeble.ai/
[2] https://patchwork.ozlabs.org/project/uboot/cover/20230314003755.512696-1-jonas@kwiboo.se/
[3] https://patchwork.ozlabs.org/project/uboot/patch/20230228213822.3583989-1-jonas@kwiboo.se/
[4] https://github.com/Kwiboo/u-boot-rockchip/commits/rk3588-sdmmc-v1

Jonas Karlman (3):
  clk: scmi: Add Kconfig option for SPL
  rockchip: rk3588: Add support for sdmmc clocks in SPL
  rockchip: rk3588: Sync sdmmc node from linux-next

 .../dts/rk3588-edgeble-neu6a-io-u-boot.dtsi   |   2 -
 arch/arm/dts/rk3588-rock-5b-u-boot.dtsi       |   2 -
 arch/arm/dts/rk3588s-u-boot.dtsi              |  27 ++--
 arch/arm/dts/rk3588s.dtsi                     |  15 +++
 arch/arm/include/asm/arch-rockchip/clock.h    |   1 -
 .../include/asm/arch-rockchip/cru_rk3588.h    |  19 ++-
 arch/arm/mach-rockchip/Kconfig                |   2 +
 drivers/clk/Kconfig                           |   8 ++
 drivers/clk/Makefile                          |   2 +-
 drivers/clk/rockchip/clk_rk3588.c             | 125 ++++++++++++++++++
 drivers/firmware/scmi/scmi_agent-uclass.c     |   2 +-
 11 files changed, 183 insertions(+), 22 deletions(-)


More information about the U-Boot mailing list