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