Re: [PATCH v1 2/6] dt-bindings: i2c: convert ocores binding to yaml

From: Conor.Dooley
Date: Mon Jun 06 2022 - 10:41:48 EST


On 06/06/2022 09:02, Krzysztof Kozlowski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On 05/06/2022 15:32, mail@xxxxxxxxxxx wrote:
>> From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
>>
>> Convert the open cores i2c controller binding from text to yaml.
>>
>> Signed-off-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
>> ---
>> .../devicetree/bindings/i2c/i2c-ocores.txt | 78 -----------
>> .../devicetree/bindings/i2c/i2c-ocores.yaml | 132 ++++++++++++++++++
>> 2 files changed, 132 insertions(+), 78 deletions(-)
>> delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-ocores.txt
>> create mode 100644 Documentation/devicetree/bindings/i2c/i2c-ocores.yaml
>>
---8<---
>> + reg-shift:
>> + $ref: /schemas/types.yaml#/definitions/uint32
>
> No need for ref, it is coming from the dtschema.
>
>> + description: |
>> + device register offsets are shifted by this value
>
> I guess 0 is default?
>

I had a look around:
sifive and the users of opencores,i2c-ocores use 2
aeroflexgaisler,i2cmst does not exist in a devicetree

From the driver, it looks like if neither this nor regstep
is present it just carries on without setting a value.
So yeah, I guess it is zero.

>
>> +
>> + regstep:
>> + description: |
>> + deprecated, use reg-shift above
>> + deprecated: true
>> +
>> + opencores,ip-clock-frequency:
>> + $ref: /schemas/types.yaml#/definitions/uint32
>> + description: |
>> + Frequency of the controller clock in Hz. Mutually exclusive with clocks.
>> + See the note above.
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - "#address-cells"
>> + - "#size-cells"
>> +
>> +oneOf:
>> + - required:
>> + - opencores,ip-clock-frequency
>> + - required:
>> + - clocks
>
> This is correct if your intention was to require one of these
> properties, which seems to match the old bindings.


Cool, thanks! I did test adding both and got a wall-of-text error
from dt_binding_check, so it seemed about right.

Thanks,
Conor.