mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-29 19:49:10 +00:00

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]604cec4004/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
Fixes:6fca4edb93
("arm64: dts: rockchip: Add rk3588 GPU node") Signed-off-by: Alexey Charkov <alchark@gmail.com> Link: https://lore.kernel.org/r/20240617-rk-dts-additions-v5-8-c1f5f3267f1e@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de>
191 lines
4.2 KiB
Plaintext
191 lines
4.2 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
/ {
|
|
cluster0_opp_table: opp-table-cluster0 {
|
|
compatible = "operating-points-v2";
|
|
opp-shared;
|
|
|
|
opp-1008000000 {
|
|
opp-hz = /bits/ 64 <1008000000>;
|
|
opp-microvolt = <675000 675000 950000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1200000000 {
|
|
opp-hz = /bits/ 64 <1200000000>;
|
|
opp-microvolt = <712500 712500 950000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1416000000 {
|
|
opp-hz = /bits/ 64 <1416000000>;
|
|
opp-microvolt = <762500 762500 950000>;
|
|
clock-latency-ns = <40000>;
|
|
opp-suspend;
|
|
};
|
|
opp-1608000000 {
|
|
opp-hz = /bits/ 64 <1608000000>;
|
|
opp-microvolt = <850000 850000 950000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1800000000 {
|
|
opp-hz = /bits/ 64 <1800000000>;
|
|
opp-microvolt = <950000 950000 950000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
};
|
|
|
|
cluster1_opp_table: opp-table-cluster1 {
|
|
compatible = "operating-points-v2";
|
|
opp-shared;
|
|
|
|
opp-1200000000 {
|
|
opp-hz = /bits/ 64 <1200000000>;
|
|
opp-microvolt = <675000 675000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1416000000 {
|
|
opp-hz = /bits/ 64 <1416000000>;
|
|
opp-microvolt = <725000 725000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1608000000 {
|
|
opp-hz = /bits/ 64 <1608000000>;
|
|
opp-microvolt = <762500 762500 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1800000000 {
|
|
opp-hz = /bits/ 64 <1800000000>;
|
|
opp-microvolt = <850000 850000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-2016000000 {
|
|
opp-hz = /bits/ 64 <2016000000>;
|
|
opp-microvolt = <925000 925000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-2208000000 {
|
|
opp-hz = /bits/ 64 <2208000000>;
|
|
opp-microvolt = <987500 987500 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-2400000000 {
|
|
opp-hz = /bits/ 64 <2400000000>;
|
|
opp-microvolt = <1000000 1000000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
};
|
|
|
|
cluster2_opp_table: opp-table-cluster2 {
|
|
compatible = "operating-points-v2";
|
|
opp-shared;
|
|
|
|
opp-1200000000 {
|
|
opp-hz = /bits/ 64 <1200000000>;
|
|
opp-microvolt = <675000 675000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1416000000 {
|
|
opp-hz = /bits/ 64 <1416000000>;
|
|
opp-microvolt = <725000 725000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1608000000 {
|
|
opp-hz = /bits/ 64 <1608000000>;
|
|
opp-microvolt = <762500 762500 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1800000000 {
|
|
opp-hz = /bits/ 64 <1800000000>;
|
|
opp-microvolt = <850000 850000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-2016000000 {
|
|
opp-hz = /bits/ 64 <2016000000>;
|
|
opp-microvolt = <925000 925000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-2208000000 {
|
|
opp-hz = /bits/ 64 <2208000000>;
|
|
opp-microvolt = <987500 987500 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-2400000000 {
|
|
opp-hz = /bits/ 64 <2400000000>;
|
|
opp-microvolt = <1000000 1000000 1000000>;
|
|
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 {
|
|
operating-points-v2 = <&cluster1_opp_table>;
|
|
};
|
|
|
|
&cpu_b1 {
|
|
operating-points-v2 = <&cluster1_opp_table>;
|
|
};
|
|
|
|
&cpu_b2 {
|
|
operating-points-v2 = <&cluster2_opp_table>;
|
|
};
|
|
|
|
&cpu_b3 {
|
|
operating-points-v2 = <&cluster2_opp_table>;
|
|
};
|
|
|
|
&cpu_l0 {
|
|
operating-points-v2 = <&cluster0_opp_table>;
|
|
};
|
|
|
|
&cpu_l1 {
|
|
operating-points-v2 = <&cluster0_opp_table>;
|
|
};
|
|
|
|
&cpu_l2 {
|
|
operating-points-v2 = <&cluster0_opp_table>;
|
|
};
|
|
|
|
&cpu_l3 {
|
|
operating-points-v2 = <&cluster0_opp_table>;
|
|
};
|
|
|
|
&gpu {
|
|
operating-points-v2 = <&gpu_opp_table>;
|
|
};
|