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

From: Krzysztof Kozlowski
Date: Sun Jan 22 2023 - 09:31:24 EST


On 22/01/2023 15:21, Christian Marangi wrote:
> On Sun, Jan 22, 2023 at 03:17:54PM +0100, Krzysztof Kozlowski wrote:
>> On 22/01/2023 15:15, Christian Marangi wrote:
>>> 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
>>
>> Are you documenting existing property or adding new? Commit msg suggests
>> you add new property, so what do you reference here? How is it related?
>>
>
> It should have been added from the start when the schema was submitted
> but I get what you mean with the other question.
>
>>>
>>>>> + 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.
>>
>> No, I mean, you DTS using it. We do not want empty (unused) bindings...
>>
>
> Ok, will drop this and make it part of the ipq8064 opp series that will use
> this binding.

You can also link the DTS changes, it's also fine.

Best regards,
Krzysztof