]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: rockchip: list all CPU supplies on ArmSoM Sige5
authorAlexey Charkov <alchark@gmail.com>
Sat, 14 Jun 2025 18:14:33 +0000 (22:14 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 Jul 2025 06:58:27 +0000 (08:58 +0200)
commit c76bcc7d1f24e90a2d7b98d1e523d7524269fc56 upstream.

List both CPU supply regulators which drive the little and big CPU
clusters, respectively, so that cpufreq can pick them up.

Without this patch the cpufreq governor attempts to raise the big CPU
frequency under high load, while its supply voltage stays at 850000 uV.
This causes system instability and, in my case, random reboots.

With this patch, supply voltages are adjusted in step with frequency
changes from 700000-737000 uV in idle to 950000 uV under full load,
and the system appears to be stable.

While at this, list all CPU supplies for completeness.

Cc: stable@vger.kernel.org
Fixes: 40f742b07ab2 ("arm64: dts: rockchip: Add rk3576-armsom-sige5 board")
Reviewed-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Tested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250614-sige5-updates-v2-1-3bb31b02623c@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts

index 314067ba6f3c4f725fdfff0442cd44d86b1293a4..9cb05434d6da0cc3dc735ce70634c6e4c44399d6 100644 (file)
        };
 };
 
+&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>;
+};
+
 &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";