On Sat Sep 6, 2025 at 1:20 PM CEST, Christian Hewitt wrote: > From: Alex Bee > > 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 > Signed-off-by: Christian Hewitt > --- > 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 = ; > + clocks = <&cru ACLK_GPU>; > + #power-domain-cells = <0>; > + }; > power-domain@RK3328_PD_HEVC { > reg = ; > 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 {