On Mon, Oct 02, 2023 at 10:07:44PM +0300, Dmitry Baryshkov wrote: > On Sat, 30 Sept 2023 at 13:22, Robert Marko <robimarko@xxxxxxxxx> wrote: > > > > From: Christian Marangi <ansuelsmth@xxxxxxxxx> > > > > Document named opp-microvolt property for opp-v2-kryo-cpu schema. > > This property is used to declare multiple voltage ranges selected on the > > different values read from efuses. The selection is done based on the > > speed pvs values and the named opp-microvolt property is selected by the > > qcom-cpufreq-nvmem driver. > > > > Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx> > > Signed-off-by: Robert Marko <robimarko@xxxxxxxxx> > > --- > > Changes v5: > > * Fix typo in opp items > > > > Changes v4: > > * Address comments from Rob (meaning of pvs, drop of > > driver specific info, drop of legacy single voltage OPP, > > better specify max regulators supported) > > > > .../bindings/opp/opp-v2-kryo-cpu.yaml | 39 +++++++++++++++++++ > > 1 file changed, 39 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml b/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml > > index 27ea7eca73e5..8d2a47e9a854 100644 > > --- a/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml > > +++ b/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml > > @@ -65,6 +65,12 @@ patternProperties: > > 5: MSM8996SG, speedbin 1 > > 6: MSM8996SG, speedbin 2 > > 7-31: unused > > + > > + Bitmap for IPQ806X SoC: > > + 0: IPQ8062 > > + 1: IPQ8064/IPQ8066/IPQ8068 > > + 2: IPQ8065/IPQ8069 > > + 3-31: unused > > enum: [0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, > > 0x9, 0xd, 0xe, 0xf, > > 0x10, 0x20, 0x30, 0x70] > > @@ -73,6 +79,23 @@ patternProperties: > > > > required-opps: true > > > > + patternProperties: > > + '^opp-microvolt-speed[0-9]+-pvs[0-9]+$': > > + description: | > > + Named opp-microvolt property following the same generic > > + binding for named opp-microvolt. > > + > > + The correct voltage range is selected based on the values > > + in the efuse for the speed and the pvs (power variable > > + scaling). > > I suppose that simple 'true' schema should be enough since this is > already mostly described in opp/opp-v2-base.yaml > Mhhh an example of the following implementation? > > + minItems: 1 > > + maxItems: 4 # Up to 4 regulators: Core, Mem, Dig and HFPLL > > + items: > > + items: > > + - description: nominal voltage > > + - description: minimum voltage > > + - description: maximum voltage > > + > > required: > > - opp-hz > > > > @@ -258,6 +281,22 @@ examples: > > }; > > }; > > > > + /* Dummy opp table to give example for named opp-microvolt */ > > + opp-table-2 { > > + compatible = "operating-points-v2-kryo-cpu"; > > + nvmem-cells = <&speedbin_efuse>; > > + > > + opp-384000000 { > > + opp-hz = /bits/ 64 <384000000>; > > + opp-microvolt-speed0-pvs0 = <1000000 950000 1050000>; > > + opp-microvolt-speed0-pvs1 = <925000 878750 971250>; > > + opp-microvolt-speed0-pvs2 = <875000 831250 918750>; > > + opp-microvolt-speed0-pvs3 = <800000 760000 840000>; > > + opp-supported-hw = <0x7>; > > + clock-latency-ns = <100000>; > > + }; > > + }; > > + > > smem { > > compatible = "qcom,smem"; > > memory-region = <&smem_mem>; > > -- > > 2.41.0 > > > > > -- > With best wishes > Dmitry -- Ansuel