Re: [PATCH 2/3] dt-bindings: opp: opp-v2-kryo-cpu: add opp-microvolt nvmem based

From: Christian Marangi
Date: Sun Jan 22 2023 - 09:15:30 EST


On Sun, Jan 22, 2023 at 03:00:22PM +0100, Krzysztof Kozlowski wrote:
> On 21/01/2023 01:01, Christian Marangi wrote:
> > The operating-points-v2-kryo-cpu driver supports defining multiple
> > opp-microvolt based on the blown efuses in the soc. It consist of 3
> > values that are parsed: speedbin, psv and version. They are all
> > appended to the opp-microvolt name and selected by the nvmem driver and
> > loaded dynamically at runtime.
> >
> > Example:
> >
> > 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>;
> >
> > Add support for this and reject these special binding if we don't have a
> > nvmem-cell to read data from.
> >
> > Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx>
> > ---
> > .../devicetree/bindings/opp/opp-v2-kryo-cpu.yaml | 16 ++++++++++++++++
> > 1 file changed, 16 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml b/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
> > index b4947b326773..cea932339faf 100644
> > --- a/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
> > +++ b/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
> > @@ -61,6 +61,17 @@ patternProperties:
> >
> > required-opps: true
> >
> > + patternProperties:
> > + '^opp-microvolt-speed[0-9]-pvs[0-9]-v[0-9]$':
>
> This does not end with correct unit suffix. Should be
> opp-speed-.....-microvolt
>

I think I didn't understand this?

>From opp-v2-base and from what we are using downstream, the named
opp-micrvolt works correctly.

(speed[0-9]-pvs[0-9]-v[0-9] is the entire name of the named
opp-microvolt- binding)

This is the reference I always used for the pattern. [1]
Here the pattern used by the driver. [2]

[1] https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/opp/opp-v2-base.yaml#L209
[2] https://elixir.bootlin.com/linux/latest/source/drivers/cpufreq/qcom-cpufreq-nvmem.c#L238

> > + description: |
> > + Assign a microvolt value to the opp hz based on the efuses value from
> > + speedbin, pvs and vers
>
> Where is the DTS change?

You mean an additional example that use this additional binding? This
may be difficult to add since the current example in this schema is a
root one and I can't put multiple root example.

Is it acceptable to add a dummy opp table with some comments explaining
the dummy node is not supported in the current compatible? (apq8096)

>
> Best regards,
> Krzysztof
>

--
Ansuel