diff mbox series

[2/3] arm64: dts: allwinner: h616: add additional CPU OPPs for the H700

Message ID 20240607092140.33112-3-ryan@testtoast.com (mailing list archive)
State New, archived
Headers show
Series cpufreq: sun50i: add Allwinner H700 speed bin and additional OPPs | expand

Commit Message

Ryan Walklin June 7, 2024, 9:20 a.m. UTC
The H700 now shows stable operation with the 1.008, 1.032 and 1.512 GHz
DVFS operating points. The 1.5GHz OPP requires a VDD-CPU of 1.16V,
obtained from the vendor BSP. This voltage is slightly above the
recommended operating voltage for the H616 (H700 datasheet not publicly
available) but well within the absolute maximum of 1.3V.

Add the additional 1.032 GHz operating point to the H616 CPU-OPP table,
and enable the 1.008 and 1.512 points for the H700.

Signed-off-by: Ryan Walklin <ryan@testtoast.com>
---
 .../dts/allwinner/sun50i-h616-cpu-opp.dtsi    | 25 +++++++++++++------
 1 file changed, 18 insertions(+), 7 deletions(-)

Comments

Andre Przywara June 19, 2024, midnight UTC | #1
On Fri,  7 Jun 2024 21:20:34 +1200
Ryan Walklin <ryan@testtoast.com> wrote:

Hi,

> The H700 now shows stable operation with the 1.008, 1.032 and 1.512 GHz
> DVFS operating points. The 1.5GHz OPP requires a VDD-CPU of 1.16V,
> obtained from the vendor BSP. This voltage is slightly above the
> recommended operating voltage for the H616 (H700 datasheet not publicly
> available) but well within the absolute maximum of 1.3V.
> 
> Add the additional 1.032 GHz operating point to the H616 CPU-OPP table,
> and enable the 1.008 and 1.512 points for the H700.

This matches the values I had in the previous version of this patch:
 
> Signed-off-by: Ryan Walklin <ryan@testtoast.com>

Reviewed-by: Andre Przywara <andre.przywara@arm.com>

Cheers,
Andre

> ---
>  .../dts/allwinner/sun50i-h616-cpu-opp.dtsi    | 25 +++++++++++++------
>  1 file changed, 18 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
> index aca22a7f0191c..dd10aaf472b66 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
> @@ -11,7 +11,7 @@ opp-480000000 {
>  			opp-hz = /bits/ 64 <480000000>;
>  			opp-microvolt = <900000>;
>  			clock-latency-ns = <244144>; /* 8 32k periods */
> -			opp-supported-hw = <0x1f>;
> +			opp-supported-hw = <0x3f>;
>  		};
>  
>  		opp-600000000 {
> @@ -25,7 +25,7 @@ opp-720000000 {
>  			opp-hz = /bits/ 64 <720000000>;
>  			opp-microvolt = <900000>;
>  			clock-latency-ns = <244144>; /* 8 32k periods */
> -			opp-supported-hw = <0x0d>;
> +			opp-supported-hw = <0x2d>;
>  		};
>  
>  		opp-792000000 {
> @@ -50,8 +50,16 @@ opp-1008000000 {
>  			opp-microvolt-speed2 = <950000>;
>  			opp-microvolt-speed3 = <950000>;
>  			opp-microvolt-speed4 = <1020000>;
> +			opp-microvolt-speed5 = <900000>;
>  			clock-latency-ns = <244144>; /* 8 32k periods */
> -			opp-supported-hw = <0x1f>;
> +			opp-supported-hw = <0x3f>;
> +		};
> +
> +		opp-1032000000 {
> +			opp-hz = /bits/ 64 <1032000000>;
> +			opp-microvolt = <900000>;
> +			clock-latency-ns = <244144>; /* 8 32k periods */
> +			opp-supported-hw = <0x20>;
>  		};
>  
>  		opp-1104000000 {
> @@ -59,8 +67,9 @@ opp-1104000000 {
>  			opp-microvolt-speed0 = <1000000>;
>  			opp-microvolt-speed2 = <1000000>;
>  			opp-microvolt-speed3 = <1000000>;
> +			opp-microvolt-speed5 = <950000>;
>  			clock-latency-ns = <244144>; /* 8 32k periods */
> -			opp-supported-hw = <0x0d>;
> +			opp-supported-hw = <0x2d>;
>  		};
>  
>  		opp-1200000000 {
> @@ -70,8 +79,9 @@ opp-1200000000 {
>  			opp-microvolt-speed2 = <1050000>;
>  			opp-microvolt-speed3 = <1050000>;
>  			opp-microvolt-speed4 = <1100000>;
> +			opp-microvolt-speed5 = <1020000>;
>  			clock-latency-ns = <244144>; /* 8 32k periods */
> -			opp-supported-hw = <0x1f>;
> +			opp-supported-hw = <0x3f>;
>  		};
>  
>  		opp-1320000000 {
> @@ -85,15 +95,16 @@ opp-1416000000 {
>  			opp-hz = /bits/ 64 <1416000000>;
>  			opp-microvolt = <1100000>;
>  			clock-latency-ns = <244144>; /* 8 32k periods */
> -			opp-supported-hw = <0x0d>;
> +			opp-supported-hw = <0x2d>;
>  		};
>  
>  		opp-1512000000 {
>  			opp-hz = /bits/ 64 <1512000000>;
>  			opp-microvolt-speed1 = <1100000>;
>  			opp-microvolt-speed3 = <1100000>;
> +			opp-microvolt-speed5 = <1160000>;
>  			clock-latency-ns = <244144>; /* 8 32k periods */
> -			opp-supported-hw = <0x0a>;
> +			opp-supported-hw = <0x2a>;
>  		};
>  	};
>  };
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
index aca22a7f0191c..dd10aaf472b66 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
@@ -11,7 +11,7 @@  opp-480000000 {
 			opp-hz = /bits/ 64 <480000000>;
 			opp-microvolt = <900000>;
 			clock-latency-ns = <244144>; /* 8 32k periods */
-			opp-supported-hw = <0x1f>;
+			opp-supported-hw = <0x3f>;
 		};
 
 		opp-600000000 {
@@ -25,7 +25,7 @@  opp-720000000 {
 			opp-hz = /bits/ 64 <720000000>;
 			opp-microvolt = <900000>;
 			clock-latency-ns = <244144>; /* 8 32k periods */
-			opp-supported-hw = <0x0d>;
+			opp-supported-hw = <0x2d>;
 		};
 
 		opp-792000000 {
@@ -50,8 +50,16 @@  opp-1008000000 {
 			opp-microvolt-speed2 = <950000>;
 			opp-microvolt-speed3 = <950000>;
 			opp-microvolt-speed4 = <1020000>;
+			opp-microvolt-speed5 = <900000>;
 			clock-latency-ns = <244144>; /* 8 32k periods */
-			opp-supported-hw = <0x1f>;
+			opp-supported-hw = <0x3f>;
+		};
+
+		opp-1032000000 {
+			opp-hz = /bits/ 64 <1032000000>;
+			opp-microvolt = <900000>;
+			clock-latency-ns = <244144>; /* 8 32k periods */
+			opp-supported-hw = <0x20>;
 		};
 
 		opp-1104000000 {
@@ -59,8 +67,9 @@  opp-1104000000 {
 			opp-microvolt-speed0 = <1000000>;
 			opp-microvolt-speed2 = <1000000>;
 			opp-microvolt-speed3 = <1000000>;
+			opp-microvolt-speed5 = <950000>;
 			clock-latency-ns = <244144>; /* 8 32k periods */
-			opp-supported-hw = <0x0d>;
+			opp-supported-hw = <0x2d>;
 		};
 
 		opp-1200000000 {
@@ -70,8 +79,9 @@  opp-1200000000 {
 			opp-microvolt-speed2 = <1050000>;
 			opp-microvolt-speed3 = <1050000>;
 			opp-microvolt-speed4 = <1100000>;
+			opp-microvolt-speed5 = <1020000>;
 			clock-latency-ns = <244144>; /* 8 32k periods */
-			opp-supported-hw = <0x1f>;
+			opp-supported-hw = <0x3f>;
 		};
 
 		opp-1320000000 {
@@ -85,15 +95,16 @@  opp-1416000000 {
 			opp-hz = /bits/ 64 <1416000000>;
 			opp-microvolt = <1100000>;
 			clock-latency-ns = <244144>; /* 8 32k periods */
-			opp-supported-hw = <0x0d>;
+			opp-supported-hw = <0x2d>;
 		};
 
 		opp-1512000000 {
 			opp-hz = /bits/ 64 <1512000000>;
 			opp-microvolt-speed1 = <1100000>;
 			opp-microvolt-speed3 = <1100000>;
+			opp-microvolt-speed5 = <1160000>;
 			clock-latency-ns = <244144>; /* 8 32k periods */
-			opp-supported-hw = <0x0a>;
+			opp-supported-hw = <0x2a>;
 		};
 	};
 };