[PATCH 2/3] clk: rockchip: Add dt-binding header for rk3576

Heiko Stübner heiko at sntech.de
Fri Aug 2 07:34:07 PDT 2024


Hi Detlev,

Am Freitag, 2. August 2024, 16:12:49 CEST schrieb Detlev Casanova:
> From: Elaine Zhang <zhangqing at rock-chips.com>
> 
> Add the dt-bindings header for the rk3576, that gets shared between
> the clock controller and the clock references in the dts.
> 
> Signed-off-by: Elaine Zhang <zhangqing at rock-chips.com>
> Signed-off-by: Sugar Zhang <sugar.zhang at rock-chips.com>
> Signed-off-by: Detlev Casanova <detlev.casanova at collabora.com>
> ---
>  .../dt-bindings/clock/rockchip,rk3576-cru.h   | 1149 +++++++++++++++++
>  1 file changed, 1149 insertions(+)
>  create mode 100644 include/dt-bindings/clock/rockchip,rk3576-cru.h
> 
> diff --git a/include/dt-bindings/clock/rockchip,rk3576-cru.h b/include/dt-bindings/clock/rockchip,rk3576-cru.h
> new file mode 100644
> index 0000000000000..19d25f082dc57
> --- /dev/null
> +++ b/include/dt-bindings/clock/rockchip,rk3576-cru.h
> @@ -0,0 +1,1149 @@

> +#define CLK_NR_CLKS			(ACLK_KLAD + 1)

this needs to go please. Take a look at how Sebastian got rid of needed
that max-constant for rk3588.

[...]

> +#define SRST_H_VEPU1			1267
> +#define SRST_A_VEPU1			1268
> +#define SRST_VEPU1_CORE			1269
> +
> +/********Name=PHPPHYSOFTRST_CON00,Offset=0x8A00********/
> +#define SRST_P_PHPPHY_CRU		131073
> +#define SRST_P_APB2ASB_SLV_CHIP_TOP	131075
> +#define SRST_P_PCIE2_COMBOPHY0		131077
> +#define SRST_P_PCIE2_COMBOPHY0_GRF	131078
> +#define SRST_P_PCIE2_COMBOPHY1		131079
> +#define SRST_P_PCIE2_COMBOPHY1_GRF	131080

this seems to lump together different components and with that creates
these gaps. I.e. I really don't think the phpphy in these registers is part
of the core CRU.

That huge memory length of 0x5c000 in your dt-binding is also a good
indicator that this needs to have more separation and not span multiple
devices.

> +/********Name=PHPPHYSOFTRST_CON01,Offset=0x8A04********/
> +#define SRST_PCIE0_PIPE_PHY		131093
> +#define SRST_PCIE1_PIPE_PHY		131096
> +
> +/********Name=SECURENSSOFTRST_CON00,Offset=0x10A00********/
> +#define SRST_H_CRYPTO_NS		262147
> +#define SRST_H_TRNG_NS			262148
> +#define SRST_P_OTPC_NS			262152
> +#define SRST_OTPC_NS			262153
> +
> +/********Name=PMU1SOFTRST_CON00,Offset=0x20A00********/
> +#define SRST_P_HDPTX_GRF		524288

same here, that is also most likely not part of the CRU but a different block.
Other socs already implement separate clock controllers for different
parts, so please take a look there.


Thanks
Heiko





More information about the Linux-rockchip mailing list