Hi Jonas,

On 8/4/26 11:44 PM, Jonas Karlman wrote:
This series takes the initial steps to try and remove use of
rockchip_get_clk() to get the clock device or rockchip_get_cru() to get
the CRU base address at runtime for the Rockchip platform.

This series is similar to the "rockchip: Remove unneeded syscon driver
for RK35xx" [1] series, but focuses on CRU instead of GRF.

The CRU base addresses are fixed and known at compile time, yet drivers
keep trying to resolve them at runtime delaying some operations by
several ms.


I would rather use device tree whenever possible, instead of relying on hardcoded constants. Considering the contexts in which rockchip_get_cru() and rockchip_get_pmucru() are called (that is, in the DRAM driver will eventually be called only in DM-less TPL so cannot rely on DT being present to fetch CRU from it, and in the sysreset driver which doesn't have a description in the device tree), this here is acceptable to me as is. But we should think about documenting the exceptions to the "please get the info from device tree and do not use hardcoded addresses" rule. A problem for later :)

Cheers,
Quentin

In this initial part the RK3568 and RK3588 specific helpers are updated
to use CRU base address constants, similar to the other RK35xx SoCs, and
the rockchip_get_clk() helper is removed for all RK35xx SoCs.

The changes included in this series have no intended behavior change for
the affected RK35xx SoCs.

A follow-up series will introduce a rockchip_sysreset_bind() helper that
passes the CRU base address to the sysreset_rockchip driver, drops the
call to rockchip_get_cru() along with implementing the get_status() ops.

[1] https://patchwork.ozlabs.org/cover/2280781/

Jonas Karlman (10):
   rockchip: rk3588: Rename CRU_BASE to RK3588_CRU_BASE
   rockchip: rk3588: Use fixed CRU base address
   rockchip: rk3568: Use fixed CRU and PMU CRU base addresses
   clk: rockchip: rk3568: Use fixed PMU CRU base address for PLL access
   rockchip: rk3568: Remove unused rockchip_get_pmucru() helper
   rockchip: rk3568: Remove unused rockchip_get_clk() helper
   rockchip: rk3588: Remove unused rockchip_get_clk() helper
   rockchip: rk3576: Remove unused rockchip_get_clk() helper
   rockchip: rk3528: Remove unused rockchip_get_clk() helper
   rockchip: rk3506: Remove unused rockchip_get_clk() helper

  .../include/asm/arch-rockchip/cru_rk3568.h    |  5 ++-
  .../include/asm/arch-rockchip/cru_rk3588.h    |  2 +-
  arch/arm/mach-rockchip/rk3506/clk_rk3506.c    |  8 +---
  arch/arm/mach-rockchip/rk3528/clk_rk3528.c    |  8 +---
  arch/arm/mach-rockchip/rk3568/clk_rk3568.c    | 44 +------------------
  arch/arm/mach-rockchip/rk3576/clk_rk3576.c    |  8 +---
  arch/arm/mach-rockchip/rk3588/clk_rk3588.c    | 23 +---------
  .../jaguar_rk3588/jaguar_rk3588.c             |  2 +-
  .../tiger_rk3588/tiger_rk3588.c               |  2 +-
  drivers/clk/rockchip/clk_rk3568.c             | 34 +++-----------
  10 files changed, 18 insertions(+), 118 deletions(-)


Reply via email to