Re: [PATCH 1/1] arm64: dts: rockchip: enable SCMI clk for RK3528 SoC

Jonas Karlman
2025-03-06T14:54:49Z

Hi Chukun,

On 2025-03-06 14:10, Chukun Pan wrote:
> Same as RK3568, RK3528 uses SCMI clk instead of ARMCLK.
> Add SCMI clk for CPU, GPU and RNG will also use it.
>
> Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
> ---
> arch/arm64/boot/dts/rockchip/rk3528.dtsi | 32 ++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> index 0c0e7f151462..aa68c2fef2f3 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> @@ -59,6 +59,7 @@ cpu0: cpu@0 {
> reg = <0x0>;
> device_type = "cpu";
> enable-method = "psci";
> + clocks = <&scmi_clk SCMI_CLK_CPU>;
> };
>
> cpu1: cpu@1 {
> @@ -66,6 +67,7 @@ cpu1: cpu@1 {
> reg = <0x1>;
> device_type = "cpu";
> enable-method = "psci";
> + clocks = <&scmi_clk SCMI_CLK_CPU>;
> };
>
> cpu2: cpu@2 {
> @@ -73,6 +75,7 @@ cpu2: cpu@2 {
> reg = <0x2>;
> device_type = "cpu";
> enable-method = "psci";
> + clocks = <&scmi_clk SCMI_CLK_CPU>;
> };
>
> cpu3: cpu@3 {
> @@ -80,6 +83,22 @@ cpu3: cpu@3 {
> reg = <0x3>;
> device_type = "cpu";
> enable-method = "psci";
> + clocks = <&scmi_clk SCMI_CLK_CPU>;
> + };
> + };
> +
> + firmware {
> + scmi: scmi {
> + compatible = "arm,scmi-smc";
> + arm,smc-id = <0x82000010>;
> + shmem = <&scmi_shmem>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + scmi_clk: protocol@14 {
> + reg = <0x14>;
> + #clock-cells = <1>;
> + };
> };
> };
>
> @@ -110,6 +129,19 @@ gmac0_clk: clock-gmac50m {
> #clock-cells = <0>;
> };
>
> + sram@10f000 {
> + compatible = "mmio-sram";
> + reg = <0x0 0x0010f000 0x0 0x100>;
> + ranges = <0 0x0 0x0010f000 0x100>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + scmi_shmem: sram@0 {
> + compatible = "arm,scmi-shmem";
> + reg = <0x0 0x100>;
> + };
> + };

This does not look correct, the shared memory is located in DRAM not in
SRAM. I used reserved-memory in my work-in-progress commit for adding
the GPU [1], something like, not sure if this is more correct:

reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;

scmi_shmem: scmi-shmem@10f000 {
compatible = "arm,scmi-shmem";
reg = <0x0 0x0010f000 0x0 0x100>;
no-map;
};
};

[1] https://github.com/Kwiboo/linux-rockchip/commit/f1cd58b2431a01e8cf6a430922204a71fee484f3

Regards,
Jonas

> +
> soc {
> compatible = "simple-bus";
> ranges = <0x0 0xfe000000 0x0 0xfe000000 0x0 0x2000000>;