Commit a7b20705 authored by Alexey Charkov's avatar Alexey Charkov Committed by Heiko Stuebner

arm64: dts: rockchip: Split GPU OPPs of RK3588 and RK3588j

RK3588j uses a different set of OPPs for its GPU, both in terms of
allowed frequencies and in terms of voltages.

Move the GPU OPPs table into per-variant .dtsi files to accommodate
for this difference.

The table for RK3588j is adapted from Rockchip downstream sources [1],
while RK3588 one is moved verbatim into the per-variant .dtsi file.
The values provided for RK3588 in the downstream sources match those
in the original commit.

[1] https://github.com/rockchip-linux/kernel/blob/604cec4004abe5a96c734f2fab7b74809d2d742f/arch/arm64/boot/dts/rockchip/rk3588s.dtsi

Fixes: 6fca4edb ("arm64: dts: rockchip: Add rk3588 GPU node")
Signed-off-by: default avatarAlexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20240617-rk-dts-additions-v5-8-c1f5f3267f1e@gmail.comSigned-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
parent 667885a6
...@@ -451,46 +451,8 @@ gpu: gpu@fb000000 { ...@@ -451,46 +451,8 @@ gpu: gpu@fb000000 {
<GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH 0>, <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 0>; <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 0>;
interrupt-names = "job", "mmu", "gpu"; interrupt-names = "job", "mmu", "gpu";
operating-points-v2 = <&gpu_opp_table>;
power-domains = <&power RK3588_PD_GPU>; power-domains = <&power RK3588_PD_GPU>;
status = "disabled"; status = "disabled";
gpu_opp_table: opp-table {
compatible = "operating-points-v2";
opp-300000000 {
opp-hz = /bits/ 64 <300000000>;
opp-microvolt = <675000 675000 850000>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
opp-microvolt = <675000 675000 850000>;
};
opp-500000000 {
opp-hz = /bits/ 64 <500000000>;
opp-microvolt = <675000 675000 850000>;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <675000 675000 850000>;
};
opp-700000000 {
opp-hz = /bits/ 64 <700000000>;
opp-microvolt = <700000 700000 850000>;
};
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <750000 750000 850000>;
};
opp-900000000 {
opp-hz = /bits/ 64 <900000000>;
opp-microvolt = <800000 800000 850000>;
};
opp-1000000000 {
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <850000 850000 850000>;
};
};
}; };
usb_host0_xhci: usb@fc000000 { usb_host0_xhci: usb@fc000000 {
......
...@@ -114,6 +114,43 @@ opp-2400000000 { ...@@ -114,6 +114,43 @@ opp-2400000000 {
clock-latency-ns = <40000>; clock-latency-ns = <40000>;
}; };
}; };
gpu_opp_table: opp-table {
compatible = "operating-points-v2";
opp-300000000 {
opp-hz = /bits/ 64 <300000000>;
opp-microvolt = <675000 675000 850000>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
opp-microvolt = <675000 675000 850000>;
};
opp-500000000 {
opp-hz = /bits/ 64 <500000000>;
opp-microvolt = <675000 675000 850000>;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <675000 675000 850000>;
};
opp-700000000 {
opp-hz = /bits/ 64 <700000000>;
opp-microvolt = <700000 700000 850000>;
};
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <750000 750000 850000>;
};
opp-900000000 {
opp-hz = /bits/ 64 <900000000>;
opp-microvolt = <800000 800000 850000>;
};
opp-1000000000 {
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <850000 850000 850000>;
};
};
}; };
&cpu_b0 { &cpu_b0 {
...@@ -147,3 +184,7 @@ &cpu_l2 { ...@@ -147,3 +184,7 @@ &cpu_l2 {
&cpu_l3 { &cpu_l3 {
operating-points-v2 = <&cluster0_opp_table>; operating-points-v2 = <&cluster0_opp_table>;
}; };
&gpu {
operating-points-v2 = <&gpu_opp_table>;
};
...@@ -80,6 +80,35 @@ opp-2016000000 { ...@@ -80,6 +80,35 @@ opp-2016000000 {
clock-latency-ns = <40000>; clock-latency-ns = <40000>;
}; };
}; };
gpu_opp_table: opp-table {
compatible = "operating-points-v2";
opp-300000000 {
opp-hz = /bits/ 64 <300000000>;
opp-microvolt = <750000 750000 850000>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
opp-microvolt = <750000 750000 850000>;
};
opp-500000000 {
opp-hz = /bits/ 64 <500000000>;
opp-microvolt = <750000 750000 850000>;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <750000 750000 850000>;
};
opp-700000000 {
opp-hz = /bits/ 64 <700000000>;
opp-microvolt = <750000 750000 850000>;
};
opp-850000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <787500 787500 850000>;
};
};
}; };
&cpu_b0 { &cpu_b0 {
...@@ -113,3 +142,7 @@ &cpu_l2 { ...@@ -113,3 +142,7 @@ &cpu_l2 {
&cpu_l3 { &cpu_l3 {
operating-points-v2 = <&cluster0_opp_table>; operating-points-v2 = <&cluster0_opp_table>;
}; };
&gpu {
operating-points-v2 = <&gpu_opp_table>;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment