[PATCH v7 1/3] dt-bindings: mfd: Convert atmel-flexcom to json-schema

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Wed Jul 6 23:42:15 PDT 2022


On 07/07/2022 07:29, Kavyasree.Kotagiri at microchip.com wrote:
>>> Convert the Atmel flexcom device tree bindings to json schema.
>>>
>>> Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri at microchip.com>
>>> ---
>>> v6 -> v7:
>>>  - Change filename to atmel,sama5d2-flexcom.yaml
>>>  - Add #address-cells, #size-cells to flexcom node - Fixed warnings.
>>>
>>> v5 -> v6:
>>>  - Removed spi node from example as suggested by Rob and
>>>    also pattern properties(spi dt-bindings conversion to yaml patch is under
>> review).
>>>    Once that is accepted, I will add back spi example through new patch.
>>>
>>> v4 -> v5:
>>>  - Fixed indentations.
>>>
>>> v3 -> v4:
>>>  - Corrected format of enum used for compatible string.
>>>
>>> v2 -> v3:
>>>  - used enum for compatible string.
>>>  - changed irq flag to IRQ_TYPE_LEVEL_HIGH in example.
>>>  - fixed dtschema errors.
>>>
>>> v1 -> v2:
>>>  - Fix title.
>>>
>>>  .../bindings/mfd/atmel,sama5d2-flexcom.yaml   | 74
>> +++++++++++++++++++
>>>  .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 ----------------
>>>  2 files changed, 74 insertions(+), 63 deletions(-)
>>>  create mode 100644
>> Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
>>>  delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-
>> flexcom.txt
>>>
>>> diff --git a/Documentation/devicetree/bindings/mfd/atmel,sama5d2-
>> flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-
>> flexcom.yaml
>>> new file mode 100644
>>> index 000000000000..864f490ffb83
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-
>> flexcom.yaml
>>> @@ -0,0 +1,74 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/mfd/atmel,sama5d2-flexcom.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Atmel Flexcom (Flexible Serial Communication Unit)
>>> +
>>> +maintainers:
>>> +  - Kavyasree Kotagiri <kavyasree.kotagiri at microchip.com>
>>> +
>>> +description:
>>> +  The Atmel Flexcom is just a wrapper which embeds a SPI controller,
>>> +  an I2C controller and an USART. Only one function can be used at a
>>> +  time and is chosen at boot time according to the device tree.
>>> +
>>> +properties:
>>> +  compatible:
>>> +    enum:
>>> +      - atmel,sama5d2-flexcom
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +  clocks:
>>> +    maxItems: 1
>>> +
>>> +  "#address-cells":
>>> +    const: 1
>>> +
>>> +  "#size-cells":
>>> +    const: 1
>>> +
>>> +  ranges:
>>> +    description:
>>> +      One range for the full I/O register region. (including USART,
>>> +      TWI and SPI registers).
>>> +    items:
>>> +      maxItems: 3
>>> +
>>> +  atmel,flexcom-mode:
>>> +    description: |
>>> +      Specifies the flexcom mode as follows:
>>> +      1: USART
>>> +      2: SPI
>>> +      3: I2C.
>>> +    $ref: /schemas/types.yaml#/definitions/uint32
>>> +    enum: [1, 2, 3]
>>> +
>>
>> As pointed out by Rob's bot - why do you not allow the protocol-specific
>> children here? spi, serial etc?
>>
> usart/serial, spi and i2c dt-bindings are in .txt format. So, I cannot refer them here. Like I mentioned in v5 -> v6 changes description, spi dt-bindings conversion is under discussion. For now, I am removing child nodes from example. I will add it through new patch once below bindings are accepted:
> https://patchwork.kernel.org/project/linux-arm-kernel/patch/20220629125804.137099-1-sergiu.moga@microchip.com/

No one talks about example. Your schema does not allow any child nodes
now, which is not correct. You must describe these children - even if
their schema is not ready. In such case just type:object, description
and maybe compatibles.

I don't understand why you cannot refer to them here.

Best regards,
Krzysztof



More information about the linux-arm-kernel mailing list