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 |
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 --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>; }; }; };
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(-)