diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi index 6102356d677f..e47548789e7b 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi @@ -92,6 +92,7 @@ enable-method = "psci"; capacity-dmips-mhz = <530>; clocks = <&cru ARMCLK_L>; + operating-points-v2 = <&cluster0_opp_table>; }; cpu_l1: cpu@100 { @@ -101,6 +102,7 @@ enable-method = "psci"; capacity-dmips-mhz = <530>; clocks = <&cru ARMCLK_L>; + operating-points-v2 = <&cluster0_opp_table>; }; cpu_l2: cpu@200 { @@ -110,6 +112,7 @@ enable-method = "psci"; capacity-dmips-mhz = <530>; clocks = <&cru ARMCLK_L>; + operating-points-v2 = <&cluster0_opp_table>; }; cpu_l3: cpu@300 { @@ -119,6 +122,7 @@ enable-method = "psci"; capacity-dmips-mhz = <530>; clocks = <&cru ARMCLK_L>; + operating-points-v2 = <&cluster0_opp_table>; }; cpu_b0: cpu@400 { @@ -128,6 +132,7 @@ enable-method = "psci"; capacity-dmips-mhz = <1024>; clocks = <&cru ARMCLK_B01>; + operating-points-v2 = <&cluster1_opp_table>; }; cpu_b1: cpu@500 { @@ -137,6 +142,7 @@ enable-method = "psci"; capacity-dmips-mhz = <1024>; clocks = <&cru ARMCLK_B01>; + operating-points-v2 = <&cluster1_opp_table>; }; cpu_b2: cpu@600 { @@ -146,6 +152,7 @@ enable-method = "psci"; capacity-dmips-mhz = <1024>; clocks = <&cru ARMCLK_B23>; + operating-points-v2 = <&cluster2_opp_table>; }; cpu_b3: cpu@700 { @@ -155,6 +162,100 @@ enable-method = "psci"; capacity-dmips-mhz = <1024>; clocks = <&cru ARMCLK_B23>; + operating-points-v2 = <&cluster2_opp_table>; + }; + }; + + cluster0_opp_table: cluster0-opp-table { + compatible = "operating-points-v2"; + opp-shared; + + opp-408000000 { + opp-hz = /bits/ 64 <408000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; + opp-suspend; + }; + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; + }; + opp-816000000 { + opp-hz = /bits/ 64 <816000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; + }; + opp-1008000000 { + opp-hz = /bits/ 64 <1008000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; + }; + }; + + cluster1_opp_table: cluster1-opp-table { + compatible = "operating-points-v2"; + opp-shared; + + opp-408000000 { + opp-hz = /bits/ 64 <408000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; + opp-suspend; + }; + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; + }; + opp-816000000 { + opp-hz = /bits/ 64 <816000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; + }; + opp-1008000000 { + opp-hz = /bits/ 64 <1008000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; + }; + }; + + cluster2_opp_table: cluster2-opp-table { + compatible = "operating-points-v2"; + opp-shared; + + opp-408000000 { + opp-hz = /bits/ 64 <408000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; + opp-suspend; + }; + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; + }; + opp-816000000 { + opp-hz = /bits/ 64 <816000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; + }; + opp-1008000000 { + opp-hz = /bits/ 64 <1008000000>; + opp-microvolt = <750000 750000 950000>, + <750000 750000 950000>; + clock-latency-ns = <40000>; }; };