* [PATCH v2 1/3] arm64: dts: allwinner: h6: orangepi: Add regulator ramp delays
2026-11-15 13:22 [PATCH v2 0/3] arm64: dts: allwinner: h6: Enable GPU and CPU DVFS on more boards Jernej Skrabec
@ 2026-11-15 13:22 ` Jernej Skrabec
2026-11-15 13:22 ` [PATCH v2 2/3] arm64: dts: allwinner: h6: Add GPU OPP table to all boards Jernej Skrabec
2026-11-15 13:22 ` [PATCH v2 3/3] arm64: dts: allwinner: h6: orangepi: Enable CPU frequency scaling Jernej Skrabec
2 siblings, 0 replies; 4+ messages in thread
From: Jernej Skrabec @ 2026-11-15 13:22 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
Jernej Skrabec
The vdd-cpu and vdd-gpu regulators on the Orange Pi One Plus and Lite2
have no ramp delay, and the AXP805 driver provides none either. Once
DVFS is enabled, the OPP core would raise the clock rate right after
setting a higher voltage, before the regulator output has settled.
Add the same 2500 uV/us ramp delay that the other AXP805-based H6
boards use.
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
---
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
index e34dbb992021..cbe88ee6a487 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
@@ -202,6 +202,7 @@ reg_dcdca: dcdca {
regulator-always-on;
regulator-min-microvolt = <810000>;
regulator-max-microvolt = <1080000>;
+ regulator-ramp-delay = <2500>;
regulator-name = "vdd-cpu";
};
@@ -209,6 +210,7 @@ reg_dcdcc: dcdcc {
regulator-enable-ramp-delay = <32000>;
regulator-min-microvolt = <810000>;
regulator-max-microvolt = <1080000>;
+ regulator-ramp-delay = <2500>;
regulator-name = "vdd-gpu";
};
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH v2 2/3] arm64: dts: allwinner: h6: Add GPU OPP table to all boards
2026-11-15 13:22 [PATCH v2 0/3] arm64: dts: allwinner: h6: Enable GPU and CPU DVFS on more boards Jernej Skrabec
2026-11-15 13:22 ` [PATCH v2 1/3] arm64: dts: allwinner: h6: orangepi: Add regulator ramp delays Jernej Skrabec
@ 2026-11-15 13:22 ` Jernej Skrabec
2026-11-15 13:22 ` [PATCH v2 3/3] arm64: dts: allwinner: h6: orangepi: Enable CPU frequency scaling Jernej Skrabec
2 siblings, 0 replies; 4+ messages in thread
From: Jernej Skrabec @ 2026-11-15 13:22 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
Jernej Skrabec
Only the Beelink GS1 and TaiQiCat A01 include the H6 GPU OPP table, so
the GPU on all other H6 boards runs at a fixed clock rate. Include it on
the remaining boards, so devfreq can scale the GPU clock for either
better performance or lower power consumption.
The table also works with a fixed GPU supply, as on Tanix boards.
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
---
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi | 1 +
4 files changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
index dc7381c944c9..ce82aa265cfd 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
@@ -5,6 +5,7 @@
#include "sun50i-h6.dtsi"
#include "sun50i-h6-cpu-opp.dtsi"
+#include "sun50i-h6-gpu-opp.dtsi"
#include <dt-bindings/gpio/gpio.h>
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
index cbe88ee6a487..40c5c42b347e 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
@@ -5,6 +5,7 @@
/dts-v1/;
#include "sun50i-h6.dtsi"
+#include "sun50i-h6-gpu-opp.dtsi"
#include <dt-bindings/gpio/gpio.h>
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
index fa7a765ee828..f4a5a2215ea2 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
@@ -5,6 +5,7 @@
#include "sun50i-h6.dtsi"
#include "sun50i-h6-cpu-opp.dtsi"
+#include "sun50i-h6-gpu-opp.dtsi"
#include <dt-bindings/gpio/gpio.h>
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi
index bb7de37c0d58..f08077175549 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi
@@ -5,6 +5,7 @@
#include "sun50i-h6.dtsi"
#include "sun50i-h6-cpu-opp.dtsi"
+#include "sun50i-h6-gpu-opp.dtsi"
#include <dt-bindings/gpio/gpio.h>
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2 3/3] arm64: dts: allwinner: h6: orangepi: Enable CPU frequency scaling
2026-11-15 13:22 [PATCH v2 0/3] arm64: dts: allwinner: h6: Enable GPU and CPU DVFS on more boards Jernej Skrabec
2026-11-15 13:22 ` [PATCH v2 1/3] arm64: dts: allwinner: h6: orangepi: Add regulator ramp delays Jernej Skrabec
2026-11-15 13:22 ` [PATCH v2 2/3] arm64: dts: allwinner: h6: Add GPU OPP table to all boards Jernej Skrabec
@ 2026-11-15 13:22 ` Jernej Skrabec
2 siblings, 0 replies; 4+ messages in thread
From: Jernej Skrabec @ 2026-11-15 13:22 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
Jernej Skrabec
The Orange Pi One Plus and Lite2 lack the CPU OPP table and CPU supply,
so the CPU never scales its frequency. Add both, like on Orange Pi 3.
OPPs above the regulator constraints stay unused.
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
---
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
index 40c5c42b347e..a2a2e4cb0256 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
@@ -5,6 +5,7 @@
/dts-v1/;
#include "sun50i-h6.dtsi"
+#include "sun50i-h6-cpu-opp.dtsi"
#include "sun50i-h6-gpu-opp.dtsi"
#include <dt-bindings/gpio/gpio.h>
@@ -65,6 +66,10 @@ reg_vcc5v: vcc5v {
};
};
+&cpu0 {
+ cpu-supply = <®_dcdca>;
+};
+
&de {
status = "okay";
};
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread