2022-06-17 13:13:14

by Kavyasree Kotagiri

[permalink] [raw]
Subject: [PATCH v4 1/3] dt-bindings: mfd: atmel,flexcom: Convert to json-schema

Convert the Atmel flexcom device tree bindings to json schema.

Signed-off-by: Kavyasree Kotagiri <[email protected]>
---
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,flexcom.yaml | 104 ++++++++++++++++++
.../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -----------
2 files changed, 104 insertions(+), 63 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-flexcom.txt

diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
new file mode 100644
index 000000000000..fdb1645d123f
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
@@ -0,0 +1,104 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/atmel,flexcom.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel Flexcom (Flexible Serial Communication Unit)
+
+maintainers:
+ - Kavyasree Kotagiri <[email protected]>
+
+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]
+
+patternProperties:
+ "^serial@[0-9a-f]+$":
+ description: See atmel-usart.txt for details of USART bindings.
+ type: object
+
+ "^spi@[0-9a-f]+$":
+ description: See ../spi/spi_atmel.txt for details of SPI bindings.
+ type: object
+
+ properties:
+ compatible:
+ const: atmel,at91rm9200-spi
+
+ "^i2c@[0-9a-f]+$":
+ description: See ../i2c/i2c-at91.txt for details of I2C bindings.
+ type: object
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - "#address-cells"
+ - "#size-cells"
+ - ranges
+ - atmel,flexcom-mode
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ flx0: flexcom@f8034000 {
+ compatible = "atmel,sama5d2-flexcom";
+ reg = <0xf8034000 0x200>;
+ clocks = <&flx0_clk>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0xf8034000 0x800>;
+ atmel,flexcom-mode = <2>;
+
+ spi0: spi@400 {
+ compatible = "atmel,at91rm9200-spi";
+ reg = <0x400 0x200>;
+ interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flx0_default>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clocks = <&flx0_clk>;
+ clock-names = "spi_clk";
+ atmel,fifo-size = <32>;
+ };
+ };
+...
diff --git a/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt b/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
deleted file mode 100644
index 9d837535637b..000000000000
--- a/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-* Device tree bindings for Atmel Flexcom (Flexible Serial Communication Unit)
-
-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.
-
-Required properties:
-- compatible: Should be "atmel,sama5d2-flexcom"
-- reg: Should be the offset/length value for Flexcom dedicated
- I/O registers (without USART, TWI or SPI registers).
-- clocks: Should be the Flexcom peripheral clock from PMC.
-- #address-cells: Should be <1>
-- #size-cells: Should be <1>
-- ranges: Should be one range for the full I/O register region
- (including USART, TWI and SPI registers).
-- atmel,flexcom-mode: Should be one of the following values:
- - <1> for USART
- - <2> for SPI
- - <3> for I2C
-
-Required child:
-A single available child device of type matching the "atmel,flexcom-mode"
-property.
-
-The phandle provided by the clocks property of the child is the same as one for
-the Flexcom parent.
-
-For other properties, please refer to the documentations of the respective
-device:
-- ../serial/atmel-usart.txt
-- ../spi/spi_atmel.txt
-- ../i2c/i2c-at91.txt
-
-Example:
-
-flexcom@f8034000 {
- compatible = "atmel,sama5d2-flexcom";
- reg = <0xf8034000 0x200>;
- clocks = <&flx0_clk>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0x0 0xf8034000 0x800>;
- atmel,flexcom-mode = <2>;
-
- spi@400 {
- compatible = "atmel,at91rm9200-spi";
- reg = <0x400 0x200>;
- interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_flx0_default>;
- #address-cells = <1>;
- #size-cells = <0>;
- clocks = <&flx0_clk>;
- clock-names = "spi_clk";
- atmel,fifo-size = <32>;
-
- flash@0 {
- compatible = "atmel,at25f512b";
- reg = <0>;
- spi-max-frequency = <20000000>;
- };
- };
-};
--
2.17.1


2022-06-17 14:04:25

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v4 1/3] dt-bindings: mfd: atmel,flexcom: Convert to json-schema

On Fri, 17 Jun 2022 18:37:27 +0530, Kavyasree Kotagiri wrote:
> Convert the Atmel flexcom device tree bindings to json schema.
>
> Signed-off-by: Kavyasree Kotagiri <[email protected]>
> ---
> 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,flexcom.yaml | 104 ++++++++++++++++++
> .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -----------
> 2 files changed, 104 insertions(+), 63 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
>

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/


flexcom@f0000000: spi@400:compatible:0: 'atmel,at91rm9200-spi' was expected
arch/arm/boot/dts/at91-sam9x60ek.dtb

flexcom@f0000000: spi@400:compatible: ['microchip,sam9x60-spi', 'atmel,at91rm9200-spi'] is too long
arch/arm/boot/dts/at91-sam9x60ek.dtb

2022-06-17 23:11:57

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v4 1/3] dt-bindings: mfd: atmel,flexcom: Convert to json-schema

On 17/06/2022 06:07, Kavyasree Kotagiri wrote:
> Convert the Atmel flexcom device tree bindings to json schema.
>
> Signed-off-by: Kavyasree Kotagiri <[email protected]>
> ---
> 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,flexcom.yaml | 104 ++++++++++++++++++
> .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -----------
> 2 files changed, 104 insertions(+), 63 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
>
> diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> new file mode 100644
> index 000000000000..fdb1645d123f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> @@ -0,0 +1,104 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/atmel,flexcom.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Atmel Flexcom (Flexible Serial Communication Unit)
> +
> +maintainers:
> + - Kavyasree Kotagiri <[email protected]>
> +
> +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]
> +
> +patternProperties:
> + "^serial@[0-9a-f]+$":
> + description: See atmel-usart.txt for details of USART bindings.
> + type: object
> +
> + "^spi@[0-9a-f]+$":
> + description: See ../spi/spi_atmel.txt for details of SPI bindings.
> + type: object
> +
> + properties:
> + compatible:
> + const: atmel,at91rm9200-spi
> +
> + "^i2c@[0-9a-f]+$":
> + description: See ../i2c/i2c-at91.txt for details of I2C bindings.
> + type: object
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - "#address-cells"
> + - "#size-cells"
> + - ranges
> + - atmel,flexcom-mode
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> + flx0: flexcom@f8034000 {
> + compatible = "atmel,sama5d2-flexcom";

The bindings look good, but you have here weird indentation. I don't
remember if I pointed out this already, so in any case sorry for
bringing it up so late. The indentation should be four spaces which
nicely aligns with " - |".



> + reg = <0xf8034000 0x200>;
> + clocks = <&flx0_clk>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x0 0xf8034000 0x800>;
> + atmel,flexcom-mode = <2>;
> +
> + spi0: spi@400 {
> + compatible = "atmel,at91rm9200-spi";

4 spaces

Rob's bot also complained about compatible. Are you sure you use here
correct compatible?


Best regards,
Krzysztof

2022-06-17 23:12:24

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH v4 1/3] dt-bindings: mfd: atmel,flexcom: Convert to json-schema



On 18/06/2022 00:00, Krzysztof Kozlowski wrote:
> On 17/06/2022 06:07, Kavyasree Kotagiri wrote:
>> Convert the Atmel flexcom device tree bindings to json schema.
>>
>> Signed-off-by: Kavyasree Kotagiri <[email protected]>
>> ---
>> 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,flexcom.yaml | 104 ++++++++++++++++++
>> .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -----------
>> 2 files changed, 104 insertions(+), 63 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
>> delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
>>
>> diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
>> new file mode 100644
>> index 000000000000..fdb1645d123f
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
>> @@ -0,0 +1,104 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mfd/atmel,flexcom.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Atmel Flexcom (Flexible Serial Communication Unit)
>> +
>> +maintainers:
>> + - Kavyasree Kotagiri <[email protected]>
>> +
>> +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]
>> +
>> +patternProperties:
>> + "^serial@[0-9a-f]+$":
>> + description: See atmel-usart.txt for details of USART bindings.
>> + type: object
>> +
>> + "^spi@[0-9a-f]+$":
>> + description: See ../spi/spi_atmel.txt for details of SPI bindings.
>> + type: object
>> +
>> + properties:
>> + compatible:
>> + const: atmel,at91rm9200-spi
>> +
>> + "^i2c@[0-9a-f]+$":
>> + description: See ../i2c/i2c-at91.txt for details of I2C bindings.
>> + type: object
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - clocks
>> + - "#address-cells"
>> + - "#size-cells"
>> + - ranges
>> + - atmel,flexcom-mode
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/interrupt-controller/arm-gic.h>
>> +
>> + flx0: flexcom@f8034000 {
>> + compatible = "atmel,sama5d2-flexcom";
>
> The bindings look good, but you have here weird indentation. I don't
> remember if I pointed out this already, so in any case sorry for
> bringing it up so late. The indentation should be four spaces which
> nicely aligns with " - |".
>
>
>
>> + reg = <0xf8034000 0x200>;
>> + clocks = <&flx0_clk>;
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + ranges = <0x0 0xf8034000 0x800>;
>> + atmel,flexcom-mode = <2>;
>> +
>> + spi0: spi@400 {
>> + compatible = "atmel,at91rm9200-spi";
>
> 4 spaces
>
> Rob's bot also complained about compatible. Are you sure you use here
> correct compatible?

It's in Documentation/devicetree/bindings/spi/spi_atmel.txt
So that'll explain the error..

Thanks,
Conor.

Conor

2022-06-20 11:49:58

by Kavyasree Kotagiri

[permalink] [raw]
Subject: RE: [PATCH v4 1/3] dt-bindings: mfd: atmel,flexcom: Convert to json-schema

> >> Convert the Atmel flexcom device tree bindings to json schema.
> >>
> >> Signed-off-by: Kavyasree Kotagiri <[email protected]>
> >> ---
> >> 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,flexcom.yaml | 104 ++++++++++++++++++
> >> .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -----------
> >> 2 files changed, 104 insertions(+), 63 deletions(-)
> >> create mode 100644
> Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> >> delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-
> flexcom.txt
> >>
> >> diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> >> new file mode 100644
> >> index 000000000000..fdb1645d123f
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> >> @@ -0,0 +1,104 @@
> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/mfd/atmel,flexcom.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: Atmel Flexcom (Flexible Serial Communication Unit)
> >> +
> >> +maintainers:
> >> + - Kavyasree Kotagiri <[email protected]>
> >> +
> >> +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]
> >> +
> >> +patternProperties:
> >> + "^serial@[0-9a-f]+$":
> >> + description: See atmel-usart.txt for details of USART bindings.
> >> + type: object
> >> +
> >> + "^spi@[0-9a-f]+$":
> >> + description: See ../spi/spi_atmel.txt for details of SPI bindings.
> >> + type: object
> >> +
> >> + properties:
> >> + compatible:
> >> + const: atmel,at91rm9200-spi
> >> +
> >> + "^i2c@[0-9a-f]+$":
> >> + description: See ../i2c/i2c-at91.txt for details of I2C bindings.
> >> + type: object
> >> +
> >> +required:
> >> + - compatible
> >> + - reg
> >> + - clocks
> >> + - "#address-cells"
> >> + - "#size-cells"
> >> + - ranges
> >> + - atmel,flexcom-mode
> >> +
> >> +additionalProperties: false
> >> +
> >> +examples:
> >> + - |
> >> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> >> +
> >> + flx0: flexcom@f8034000 {
> >> + compatible = "atmel,sama5d2-flexcom";
> >
> > The bindings look good, but you have here weird indentation. I don't
> > remember if I pointed out this already, so in any case sorry for
> > bringing it up so late. The indentation should be four spaces which
> > nicely aligns with " - |".
> >
> >
> >
> >> + reg = <0xf8034000 0x200>;
> >> + clocks = <&flx0_clk>;
> >> + #address-cells = <1>;
> >> + #size-cells = <1>;
> >> + ranges = <0x0 0xf8034000 0x800>;
> >> + atmel,flexcom-mode = <2>;
> >> +
> >> + spi0: spi@400 {
> >> + compatible = "atmel,at91rm9200-spi";
> >
> > 4 spaces
> >
> > Rob's bot also complained about compatible. Are you sure you use here
> > correct compatible?
>
> It's in Documentation/devicetree/bindings/spi/spi_atmel.txt
> So that'll explain the error..
>
> Thanks,
> Conor.
>
Yes, you are right.
It is because of the spi dt-bindings are still in txt format.

> Conor

2022-06-20 12:29:43

by Kavyasree Kotagiri

[permalink] [raw]
Subject: RE: [PATCH v4 1/3] dt-bindings: mfd: atmel,flexcom: Convert to json-schema

> > Convert the Atmel flexcom device tree bindings to json schema.
> >
> > Signed-off-by: Kavyasree Kotagiri <[email protected]>
> > ---
> > 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,flexcom.yaml | 104 ++++++++++++++++++
> > .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -----------
> > 2 files changed, 104 insertions(+), 63 deletions(-)
> > create mode 100644
> Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> > delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-
> flexcom.txt
> >
>
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
>
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
>
> Full log is available here: https://patchwork.ozlabs.org/patch/
>
>
> flexcom@f0000000: spi@400:compatible:0: 'atmel,at91rm9200-spi' was
> expected
> arch/arm/boot/dts/at91-sam9x60ek.dtb
>
> flexcom@f0000000: spi@400:compatible: ['microchip,sam9x60-spi',
> 'atmel,at91rm9200-spi'] is too long
> arch/arm/boot/dts/at91-sam9x60ek.dtb

These errors are expected because "microchip,sam9x60-spi" and "atmel,at91rm9200-spi"
are documented in Documentation/devicetree/bindings/spi/spi_atmel.txt.
which I added in description as
" description: See ../spi/spi_atmel.txt for details of SPI bindings."

2022-06-28 21:56:33

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v4 1/3] dt-bindings: mfd: atmel,flexcom: Convert to json-schema

On Mon, Jun 20, 2022 at 11:45:31AM +0000, [email protected] wrote:
> > > Convert the Atmel flexcom device tree bindings to json schema.
> > >
> > > Signed-off-by: Kavyasree Kotagiri <[email protected]>
> > > ---
> > > 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,flexcom.yaml | 104 ++++++++++++++++++
> > > .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -----------
> > > 2 files changed, 104 insertions(+), 63 deletions(-)
> > > create mode 100644
> > Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> > > delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-
> > flexcom.txt
> > >
> >
> > Running 'make dtbs_check' with the schema in this patch gives the
> > following warnings. Consider if they are expected or the schema is
> > incorrect. These may not be new warnings.
> >
> > Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> > This will change in the future.
> >
> > Full log is available here: https://patchwork.ozlabs.org/patch/
> >
> >
> > flexcom@f0000000: spi@400:compatible:0: 'atmel,at91rm9200-spi' was
> > expected
> > arch/arm/boot/dts/at91-sam9x60ek.dtb
> >
> > flexcom@f0000000: spi@400:compatible: ['microchip,sam9x60-spi',
> > 'atmel,at91rm9200-spi'] is too long
> > arch/arm/boot/dts/at91-sam9x60ek.dtb
>
> These errors are expected because "microchip,sam9x60-spi" and "atmel,at91rm9200-spi"
> are documented in Documentation/devicetree/bindings/spi/spi_atmel.txt.
> which I added in description as
> " description: See ../spi/spi_atmel.txt for details of SPI bindings."

If that was still true, there would not be a warning because .txt files
don't cause warnings. You've defined the SPI compatible here and that
doesn't agree with the dts files. One of them is wrong.

Normally, child nodes either just reference another schema or document
everything locally. You've done a mixture which is not right. Presumably
that was to avoid 'undocumented compatible' warnings. To fix that you
either need to convert the SPI binding or don't use it in the example.

Rob

2022-07-05 06:38:42

by Kavyasree Kotagiri

[permalink] [raw]
Subject: RE: [PATCH v4 1/3] dt-bindings: mfd: atmel,flexcom: Convert to json-schema

> > > > Convert the Atmel flexcom device tree bindings to json schema.
> > > >
> > > > Signed-off-by: Kavyasree Kotagiri <[email protected]>
> > > > ---
> > > > 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,flexcom.yaml | 104 ++++++++++++++++++
> > > > .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -----------
> > > > 2 files changed, 104 insertions(+), 63 deletions(-)
> > > > create mode 100644
> > > Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> > > > delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-
> > > flexcom.txt
> > > >
> > >
> > > Running 'make dtbs_check' with the schema in this patch gives the
> > > following warnings. Consider if they are expected or the schema is
> > > incorrect. These may not be new warnings.
> > >
> > > Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> > > This will change in the future.
> > >
> > > Full log is available here: https://patchwork.ozlabs.org/patch/
> > >
> > >
> > > flexcom@f0000000: spi@400:compatible:0: 'atmel,at91rm9200-spi' was
> > > expected
> > > arch/arm/boot/dts/at91-sam9x60ek.dtb
> > >
> > > flexcom@f0000000: spi@400:compatible: ['microchip,sam9x60-spi',
> > > 'atmel,at91rm9200-spi'] is too long
> > > arch/arm/boot/dts/at91-sam9x60ek.dtb
> >
> > These errors are expected because "microchip,sam9x60-spi" and
> "atmel,at91rm9200-spi"
> > are documented in Documentation/devicetree/bindings/spi/spi_atmel.txt.
> > which I added in description as
> > " description: See ../spi/spi_atmel.txt for details of SPI bindings."
>
> If that was still true, there would not be a warning because .txt files
> don't cause warnings. You've defined the SPI compatible here and that
> doesn't agree with the dts files. One of them is wrong.
>
> Normally, child nodes either just reference another schema or document
> everything locally. You've done a mixture which is not right. Presumably
> that was to avoid 'undocumented compatible' warnings. To fix that you
> either need to convert the SPI binding or don't use it in the example.
>
For now, I will remove the spi node from example and send my v6 patch series.
I will add it back once below patch is accepted:
https://patchwork.kernel.org/project/linux-arm-kernel/patch/[email protected]/
Please let me know your comments.

> Rob