Re: [PATCH 1/4] arm64: dts: rockchip: list all CPU supplies on ArmSoM Sige5
From: Alexey Charkov <alchark@gmail.com>
Date: 2025-06-04 19:54:24
Also in:
linux-devicetree, linux-rockchip, lkml
On Wed, Jun 4, 2025 at 11:23 PM Nicolas Frattaroli [off-list ref] wrote:
On Wednesday, 4 June 2025 21:12:35 Central European Summer Time Alexey Charkov wrote:quoted
On Wed, Jun 4, 2025 at 10:38 PM Nicolas Frattaroli [off-list ref] wrote:quoted
On Tuesday, 3 June 2025 19:01:13 Central European Summer Time Alexey Charkov wrote:quoted
List both CPU supply regulators which drive the little and big CPU clusters, respectively, so that cpufreq can pick them up. Signed-off-by: Alexey Charkov <alchark@gmail.com> --- .../boot/dts/rockchip/rk3576-armsom-sige5.dts | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+)diff --git a/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts b/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts index b09e789c75c47fec7cf7e9810ab0dcca32d9404a..d9c129be55a0d997e04e6d677cdc98fb50353418 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts +++ b/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts@@ -207,6 +207,22 @@ vcc_3v3_ufs_s0: regulator-vcc-ufs-s0 { }; }; +&cpu_b0 { + cpu-supply = <&vdd_cpu_big_s0>; +}; + +&cpu_b1 { + cpu-supply = <&vdd_cpu_big_s0>; +}; + +&cpu_b2 { + cpu-supply = <&vdd_cpu_big_s0>; +}; + +&cpu_b3 { + cpu-supply = <&vdd_cpu_big_s0>; +}; + &combphy0_ps { status = "okay"; };@@ -215,6 +231,18 @@ &cpu_l0 { cpu-supply = <&vdd_cpu_lit_s0>; }; +&cpu_l1 { + cpu-supply = <&vdd_cpu_lit_s0>; +}; + +&cpu_l2 { + cpu-supply = <&vdd_cpu_lit_s0>; +}; + +&cpu_l3 { + cpu-supply = <&vdd_cpu_lit_s0>; +}; + &gmac0 { phy-mode = "rgmii-id"; clock_in_out = "output";Reviewed-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Tested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>quoted
so that cpufreq can pick them up.Fwiw, even without this patch they're picked up by cpufreq-dt for me: user@trixie:~$ sudo cpupower frequency-info analyzing CPU 5: driver: cpufreq-dt CPUs which run at the same hardware frequency: 4 5 6 7 CPUs which need to have their frequency coordinated by software: 4 5 6 7 maximum transition latency: 40.0 us hardware limits: 408 MHz - 2.30 GHz available frequency steps: 408 MHz, 600 MHz, 816 MHz, 1.01 GHz, 1.20 GHz, 1.42 GHz, 1.61 GHz, 1.80 GHz, 2.02 GHz, 2.21 GHz, 2.30 GHz available cpufreq governors: ondemand userspace performance schedutil current policy: frequency should be within 408 MHz and 2.30 GHz. The governor "schedutil" may decide which speed to use within this range. current CPU frequency: 1.61 GHz (asserted by call to hardware) user@trixie:~$ uname -a Linux trixie 6.15.0-11173-g546b1c9e93c2 #2 SMP PREEMPT Wed Jun 4 20:32:52 CEST 2025 aarch64 GNU/LinuxFrequencies are fine, but I don't think the more power hungry big CPU cluster gets any voltage scaling without it. Once I try to load the system enough that the governor decides to bump the big cluster frequency up, the regulator stays at 850000 microvolts, causing random reboots when the whole cluster starts starving. With the patch, voltage oscillates between 700000-737000 microvolts in idle and jumps up to 950000 under load, and the system seems stable.Okay, that sounds pretty serious and in this case you should add the following tag at the end of the commit message, usually as the first thing after the line break: Fixes: 40f742b07ab2 ("arm64: dts: rockchip: Add rk3576-armsom-sige5 board") That way, our stable kernel robot overlords will pick it up and backport it to the kernels that already contain the mentioned commit.
Will do, thanks! Best regards, Alexey