* [PATCH v2 1/2] arm64: dts: rockchip: add GPU powerdomain, opps, and cooling to rk3328
@ 2025-09-06 11:20 Christian Hewitt
2025-09-06 11:20 ` [PATCH v2 2/2] arm64: dts: rockchip: enable the Mali GPU on RK3328 boards Christian Hewitt
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Christian Hewitt @ 2025-09-06 11:20 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
devicetree, linux-arm-kernel, linux-rockchip, linux-kernel
Cc: Alex Bee
From: Alex Bee <knaerzche@gmail.com>
Add GPU powerdomain, opp-table, and cooling map nodes for the Mali
GPU on the RK3328 SoC. Opp-table frequencies are sourced from the
Rockchip Linux v4.4 vendor kernel while voltages have been derived
from practical use and support work: keeping voltage above 1075mV
and disabling the 500MHz opp-point avoids instability and crashes.
Signed-off-by: Alex Bee <knaerzche@gmail.com>
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
Changes since v1:
- Use opp_table_gpu not gpu_opp_table to fix dtb schema warnings
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 39 +++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 6438c969f9d7..01ed2bfa7ee1 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -331,6 +331,11 @@ power: power-controller {
#address-cells = <1>;
#size-cells = <0>;
+ power-domain@RK3328_PD_GPU {
+ reg = <RK3328_PD_GPU>;
+ clocks = <&cru ACLK_GPU>;
+ #power-domain-cells = <0>;
+ };
power-domain@RK3328_PD_HEVC {
reg = <RK3328_PD_HEVC>;
clocks = <&cru SCLK_VENC_CORE>;
@@ -570,9 +575,13 @@ map0 {
<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
contribution = <4096>;
};
+ map1 {
+ trip = <&target>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ contribution = <4096>;
+ };
};
};
-
};
tsadc: tsadc@ff250000 {
@@ -651,7 +660,35 @@ gpu: gpu@ff300000 {
"ppmmu1";
clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
clock-names = "bus", "core";
+ operating-points-v2 = <&opp_table_gpu>;
+ power-domains = <&power RK3328_PD_GPU>;
resets = <&cru SRST_GPU_A>;
+ #cooling-cells = <2>;
+ };
+
+ opp_table_gpu: opp-table-gpu {
+ compatible = "operating-points-v2";
+ opp-200000000 {
+ opp-hz = /bits/ 64 <200000000>;
+ opp-microvolt = <1075000>;
+ };
+
+ opp-300000000 {
+ opp-hz = /bits/ 64 <300000000>;
+ opp-microvolt = <1075000>;
+ };
+
+ opp-400000000 {
+ opp-hz = /bits/ 64 <400000000>;
+ opp-microvolt = <1075000>;
+ };
+
+ opp-500000000 {
+ /* causes stability issues */
+ opp-hz = /bits/ 64 <500000000>;
+ opp-microvolt = <1150000>;
+ status = "disabled";
+ };
};
h265e_mmu: iommu@ff330200 {
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2 2/2] arm64: dts: rockchip: enable the Mali GPU on RK3328 boards
2025-09-06 11:20 [PATCH v2 1/2] arm64: dts: rockchip: add GPU powerdomain, opps, and cooling to rk3328 Christian Hewitt
@ 2025-09-06 11:20 ` Christian Hewitt
2025-09-06 11:33 ` [PATCH v2 1/2] arm64: dts: rockchip: add GPU powerdomain, opps, and cooling to rk3328 Diederik de Haas
2025-09-06 11:38 ` Christian Hewitt
2 siblings, 0 replies; 4+ messages in thread
From: Christian Hewitt @ 2025-09-06 11:20 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
devicetree, linux-arm-kernel, linux-rockchip, linux-kernel
Cc: Alex Bee
From: Alex Bee <knaerzche@gmail.com>
Add a gpu node to the rock64 board to enable the Mali GPU and
move the existing node from roc-pc to the shared roc dtsi to
enable it also for the roc-cc board.
Signed-off-by: Alex Bee <knaerzche@gmail.com>
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
Changes since v1:
- No changes
arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts | 4 ----
arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi | 4 ++++
arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 4 ++++
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts
index 329d03172433..c0b7b98ff788 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts
@@ -44,10 +44,6 @@ &codec {
mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
};
-&gpu {
- mali-supply = <&vdd_logic>;
-};
-
&pinctrl {
ir {
ir_int: ir-int {
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi
index b5bd5e7d5748..7eef6f7f108f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi
@@ -160,6 +160,10 @@ &gmac2io {
status = "okay";
};
+&gpu {
+ mali-supply = <&vdd_logic>;
+};
+
&hdmi {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
index 5367e5fa9232..592fd8ca21df 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
@@ -152,6 +152,10 @@ &gmac2io {
status = "okay";
};
+&gpu {
+ mali-supply = <&vdd_logic>;
+};
+
&hdmi {
avdd-0v9-supply = <&vdd_10>;
avdd-1v8-supply = <&vcc_18>;
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 1/2] arm64: dts: rockchip: add GPU powerdomain, opps, and cooling to rk3328
2025-09-06 11:20 [PATCH v2 1/2] arm64: dts: rockchip: add GPU powerdomain, opps, and cooling to rk3328 Christian Hewitt
2025-09-06 11:20 ` [PATCH v2 2/2] arm64: dts: rockchip: enable the Mali GPU on RK3328 boards Christian Hewitt
@ 2025-09-06 11:33 ` Diederik de Haas
2025-09-06 11:38 ` Christian Hewitt
2 siblings, 0 replies; 4+ messages in thread
From: Diederik de Haas @ 2025-09-06 11:33 UTC (permalink / raw)
To: Christian Hewitt, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Heiko Stuebner, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel
Cc: Alex Bee
[-- Attachment #1: Type: text/plain, Size: 2847 bytes --]
On Sat Sep 6, 2025 at 1:20 PM CEST, Christian Hewitt wrote:
> From: Alex Bee <knaerzche@gmail.com>
>
> Add GPU powerdomain, opp-table, and cooling map nodes for the Mali
> GPU on the RK3328 SoC. Opp-table frequencies are sourced from the
> Rockchip Linux v4.4 vendor kernel while voltages have been derived
> from practical use and support work: keeping voltage above 1075mV
> and disabling the 500MHz opp-point avoids instability and crashes.
>
> Signed-off-by: Alex Bee <knaerzche@gmail.com>
> Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
> ---
> Changes since v1:
> - Use opp_table_gpu not gpu_opp_table to fix dtb schema warnings
>
> arch/arm64/boot/dts/rockchip/rk3328.dtsi | 39 +++++++++++++++++++++++-
> 1 file changed, 38 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> index 6438c969f9d7..01ed2bfa7ee1 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> @@ -331,6 +331,11 @@ power: power-controller {
> #address-cells = <1>;
> #size-cells = <0>;
>
> + power-domain@RK3328_PD_GPU {
> + reg = <RK3328_PD_GPU>;
> + clocks = <&cru ACLK_GPU>;
> + #power-domain-cells = <0>;
> + };
> power-domain@RK3328_PD_HEVC {
> reg = <RK3328_PD_HEVC>;
> clocks = <&cru SCLK_VENC_CORE>;
> @@ -570,9 +575,13 @@ map0 {
> <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> contribution = <4096>;
> };
> + map1 {
> + trip = <&target>;
> + cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> + contribution = <4096>;
> + };
> };
> };
> -
> };
>
> tsadc: tsadc@ff250000 {
> @@ -651,7 +660,35 @@ gpu: gpu@ff300000 {
> "ppmmu1";
> clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
> clock-names = "bus", "core";
> + operating-points-v2 = <&opp_table_gpu>;
> + power-domains = <&power RK3328_PD_GPU>;
> resets = <&cru SRST_GPU_A>;
> + #cooling-cells = <2>;
> + };
> +
> + opp_table_gpu: opp-table-gpu {
> + compatible = "operating-points-v2";
> + opp-200000000 {
> + opp-hz = /bits/ 64 <200000000>;
> + opp-microvolt = <1075000>;
> + };
> +
> + opp-300000000 {
> + opp-hz = /bits/ 64 <300000000>;
> + opp-microvolt = <1075000>;
> + };
> +
> + opp-400000000 {
> + opp-hz = /bits/ 64 <400000000>;
> + opp-microvolt = <1075000>;
> + };
> +
> + opp-500000000 {
> + /* causes stability issues */
> + opp-hz = /bits/ 64 <500000000>;
> + opp-microvolt = <1150000>;
> + status = "disabled";
> + };
The opp-table-gpu should be moved downwards, right above the pinctrl
node. But maybe that can be done by Heiko when committing?
Cheers,
Diederik
> };
>
> h265e_mmu: iommu@ff330200 {
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2 1/2] arm64: dts: rockchip: add GPU powerdomain, opps, and cooling to rk3328
2025-09-06 11:20 [PATCH v2 1/2] arm64: dts: rockchip: add GPU powerdomain, opps, and cooling to rk3328 Christian Hewitt
2025-09-06 11:20 ` [PATCH v2 2/2] arm64: dts: rockchip: enable the Mali GPU on RK3328 boards Christian Hewitt
2025-09-06 11:33 ` [PATCH v2 1/2] arm64: dts: rockchip: add GPU powerdomain, opps, and cooling to rk3328 Diederik de Haas
@ 2025-09-06 11:38 ` Christian Hewitt
2 siblings, 0 replies; 4+ messages in thread
From: Christian Hewitt @ 2025-09-06 11:38 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
devicetree, linux-arm-kernel, linux-rockchip, linux-kernel
Cc: Alex Bee
> On 6 Sep 2025, at 3:20 pm, Christian Hewitt <christianshewitt@gmail.com> wrote:
>
> From: Alex Bee <knaerzche@gmail.com>
>
> Add GPU powerdomain, opp-table, and cooling map nodes for the Mali
> GPU on the RK3328 SoC. Opp-table frequencies are sourced from the
> Rockchip Linux v4.4 vendor kernel while voltages have been derived
> from practical use and support work: keeping voltage above 1075mV
> and disabling the 500MHz opp-point avoids instability and crashes.
>
> Signed-off-by: Alex Bee <knaerzche@gmail.com>
> Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
> ---
> Changes since v1:
> - Use opp_table_gpu not gpu_opp_table to fix dtb schema warnings
Please ignore v2, I misunderstood the rename and should have left
gpu_opp_table and renamed only the second part to opp-table-gpu
I’ll fix that in a v3.
Christian
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-09-06 11:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-06 11:20 [PATCH v2 1/2] arm64: dts: rockchip: add GPU powerdomain, opps, and cooling to rk3328 Christian Hewitt
2025-09-06 11:20 ` [PATCH v2 2/2] arm64: dts: rockchip: enable the Mali GPU on RK3328 boards Christian Hewitt
2025-09-06 11:33 ` [PATCH v2 1/2] arm64: dts: rockchip: add GPU powerdomain, opps, and cooling to rk3328 Diederik de Haas
2025-09-06 11:38 ` Christian Hewitt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).