[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <DCLNN4LYO8CS.1BHUZRHOVX9IA@cknow.org>
Date: Sat, 06 Sep 2025 12:45:08 +0200
From: "Diederik de Haas" <didi.debian@...ow.org>
To: "Christian Hewitt" <christianshewitt@...il.com>, "Rob Herring"
<robh+dt@...nel.org>, "Krzysztof Kozlowski" <krzk+dt@...nel.org>, "Conor
Dooley" <conor+dt@...nel.org>, "Heiko Stuebner" <heiko@...ech.de>
Cc: <devicetree@...r.kernel.org>, <linux-arm-kernel@...ts.infradead.org>,
<linux-rockchip@...ts.infradead.org>, <linux-kernel@...r.kernel.org>, "Alex
Bee" <knaerzche@...il.com>
Subject: Re: [PATCH 1/2] arm64: dts: rockchip: add GPU powerdomain, opps,
and cooling to rk3328
Hi Christian,
On Sat Aug 30, 2025 at 1:51 PM CEST, Christian Hewitt wrote:
> From: Alex Bee <knaerzche@...il.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
I very recently saw a patch somewhere with these changes and wondered
why it wouldn't be sent upstream, so thanks for doing exactly that!
> Signed-off-by: Alex Bee <knaerzche@...il.com>
> Signed-off-by: Christian Hewitt <christianshewitt@...il.com>
> ---
>
> 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 7d992c3c01ce..b99c78ecc4a9 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@...328_PD_GPU {
> + reg = <RK3328_PD_GPU>;
> + clocks = <&cru ACLK_GPU>;
> + #power-domain-cells = <0>;
> + };
> power-domain@...328_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@...50000 {
> @@ -651,7 +660,35 @@ gpu: gpu@...00000 {
> "ppmmu1";
> clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
> clock-names = "bus", "core";
> + operating-points-v2 = <&gpu_opp_table>;
> + power-domains = <&power RK3328_PD_GPU>;
> resets = <&cru SRST_GPU_A>;
> + #cooling-cells = <2>;
> + };
> +
> + gpu_opp_table: gpu-opp-table {
As noticed by Rob's bot, this node name is incorrect.
If you do ``s/gpu-opp-table/opp-table-gpu/`` and move it to above the
'pinctrl' node, then DTB validation succeeds.
Cheers,
Diederik
> + 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@...30200 {
Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)
Powered by blists - more mailing lists