Re: [PATCH v3 13/18] ARM: dts: qcom: add opp table for cpu and l2 for ipq8064

Ansuel Smith
2022-04-12T23:27:05Z

On Tue, Apr 12, 2022 at 03:07:56PM -0500, Bjorn Andersson wrote:
> On Wed 09 Mar 13:01 CST 2022, Ansuel Smith wrote:
>
> > Add opp table for cpu and l2 cache. While the current cpufreq is
> > the generic one that doesn't scale the L2 cache, we add the l2
> > cache opp anyway for the sake of completeness. This will be handy in the
> > future when a dedicated cpufreq driver is introduced for krait cores
> > that will correctly scale l2 cache with the core freq.
> >
> > Opp-level is set based on the logic of
> > 0: idle level
> > 1: normal level
> > 2: turbo level
> >
> > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
> > Tested-by: Jonathan McDowell <noodles@earth.li>
> > ---
> > arch/arm/boot/dts/qcom-ipq8064.dtsi | 99 +++++++++++++++++++++++++++++
> > 1 file changed, 99 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > index 7dd0b901cd30..a1079583def9 100644
> > --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > @@ -48,6 +48,105 @@ L2: l2-cache {
> > };
> > };
> >
> > + opp_table_l2: opp_table_l2 {
>
> Please don't use '_' in the node names.
>
> > + compatible = "operating-points-v2";
> > +
> > + opp-384000000 {
> > + opp-hz = /bits/ 64 <384000000>;
> > + opp-microvolt = <1100000>;
> > + clock-latency-ns = <100000>;
> > + opp-level = <0>;
> > + };
> > +
> > + opp-1000000000 {
> > + opp-hz = /bits/ 64 <1000000000>;
> > + opp-microvolt = <1100000>;
> > + clock-latency-ns = <100000>;
> > + opp-level = <1>;
> > + };
> > +
> > + opp-1200000000 {
> > + opp-hz = /bits/ 64 <1200000000>;
> > + opp-microvolt = <1150000>;
> > + clock-latency-ns = <100000>;
> > + opp-level = <2>;
> > + };
> > + };
> > +
> > + opp_table0: opp_table0 {
>
> Perhaps you can name this opp-table-kryo, to make it consistent with
> opp-table-l2 above?
>
> Regards,
> Bjorn
>

Considering this is krait, I think I should use krait. Also about this
we have from ages the wrong compatible but we had too keep kryo to not
break compatibility with old dt. Can I fix this for once and just add
this additional compatible?

> > + compatible = "operating-points-v2-kryo-cpu";
> > + nvmem-cells = <&speedbin_efuse>;
> > +
> > + /*
> > + * Voltage thresholds are <target min max>
> > + */
> > + opp-384000000 {
> > + opp-hz = /bits/ 64 <384000000>;
> > + opp-microvolt-speed0-pvs0-v0 = <1000000 950000 1050000>;
> > + opp-microvolt-speed0-pvs1-v0 = <925000 878750 971250>;
> > + opp-microvolt-speed0-pvs2-v0 = <875000 831250 918750>;
> > + opp-microvolt-speed0-pvs3-v0 = <800000 760000 840000>;
> > + opp-supported-hw = <0x1>;
> > + clock-latency-ns = <100000>;
> > + opp-level = <0>;
> > + };
> > +
> > + opp-600000000 {
> > + opp-hz = /bits/ 64 <600000000>;
> > + opp-microvolt-speed0-pvs0-v0 = <1050000 997500 1102500>;
> > + opp-microvolt-speed0-pvs1-v0 = <975000 926250 1023750>;
> > + opp-microvolt-speed0-pvs2-v0 = <925000 878750 971250>;
> > + opp-microvolt-speed0-pvs3-v0 = <850000 807500 892500>;
> > + opp-supported-hw = <0x1>;
> > + clock-latency-ns = <100000>;
> > + opp-level = <1>;
> > + };
> > +
> > + opp-800000000 {
> > + opp-hz = /bits/ 64 <800000000>;
> > + opp-microvolt-speed0-pvs0-v0 = <1100000 1045000 1155000>;
> > + opp-microvolt-speed0-pvs1-v0 = <1025000 973750 1076250>;
> > + opp-microvolt-speed0-pvs2-v0 = <995000 945250 1044750>;
> > + opp-microvolt-speed0-pvs3-v0 = <900000 855000 945000>;
> > + opp-supported-hw = <0x1>;
> > + clock-latency-ns = <100000>;
> > + opp-level = <1>;
> > + };
> > +
> > + opp-1000000000 {
> > + opp-hz = /bits/ 64 <1000000000>;
> > + opp-microvolt-speed0-pvs0-v0 = <1150000 1092500 1207500>;
> > + opp-microvolt-speed0-pvs1-v0 = <1075000 1021250 1128750>;
> > + opp-microvolt-speed0-pvs2-v0 = <1025000 973750 1076250>;
> > + opp-microvolt-speed0-pvs3-v0 = <950000 902500 997500>;
> > + opp-supported-hw = <0x1>;
> > + clock-latency-ns = <100000>;
> > + opp-level = <1>;
> > + };
> > +
> > + opp-1200000000 {
> > + opp-hz = /bits/ 64 <1200000000>;
> > + opp-microvolt-speed0-pvs0-v0 = <1200000 1140000 1260000>;
> > + opp-microvolt-speed0-pvs1-v0 = <1125000 1068750 1181250>;
> > + opp-microvolt-speed0-pvs2-v0 = <1075000 1021250 1128750>;
> > + opp-microvolt-speed0-pvs3-v0 = <1000000 950000 1050000>;
> > + opp-supported-hw = <0x1>;
> > + clock-latency-ns = <100000>;
> > + opp-level = <2>;
> > + };
> > +
> > + opp-1400000000 {
> > + opp-hz = /bits/ 64 <1400000000>;
> > + opp-microvolt-speed0-pvs0-v0 = <1250000 1187500 1312500>;
> > + opp-microvolt-speed0-pvs1-v0 = <1175000 1116250 1233750>;
> > + opp-microvolt-speed0-pvs2-v0 = <1125000 1068750 1181250>;
> > + opp-microvolt-speed0-pvs3-v0 = <1050000 997500 1102500>;
> > + opp-supported-hw = <0x1>;
> > + clock-latency-ns = <100000>;
> > + opp-level = <2>;
> > + };
> > + };
> > +
> > thermal-zones {
> > sensor0-thermal {
> > polling-delay-passive = <0>;
> > --
> > 2.34.1
> >

--
Ansuel