Message ID | 20220705065758.17051-2-kavyasree.kotagiri@microchip.com |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | Add support for lan966x flexcom chip-select configuration | expand |
Context | Check | Description |
---|---|---|
robh/patch-applied | success | |
robh/checkpatch | warning | total: 0 errors, 1 warnings, 72 lines checked |
robh/dt-meta-schema | fail | build log |
On 05.07.2022 09:57, Kavyasree Kotagiri wrote: > Convert the Atmel flexcom device tree bindings to json schema. > > Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > 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,flexcom.yaml | 72 +++++++++++++++++++ > .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 ---------------- > 2 files changed, 72 insertions(+), 63 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml AFAICT it would be better to have it named atmel,sama5d2-flexcom.yaml. Thank you, Claudiu Beznea > 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..f577b8d8e1ea > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml > @@ -0,0 +1,72 @@ > +# 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 <kavyasree.kotagiri@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] > + > +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>; > + ranges = <0x0 0xf8034000 0x800>; > + atmel,flexcom-mode = <2>; > + }; > +... > 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>; > - }; > - }; > -};
> > Convert the Atmel flexcom device tree bindings to json schema. > > > > Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com> > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > --- > > 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,flexcom.yaml | 72 +++++++++++++++++++ > > .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 ---------------- > > 2 files changed, 72 insertions(+), 63 deletions(-) > > create mode 100644 > Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml > > AFAICT it would be better to have it named atmel,sama5d2-flexcom.yaml. > I see most of the yaml filenames have format of "vendor, function.yaml".For example: Documentation/devicetree/bindings/spi/atmel,quadspi.yaml So, I think it is ok to use "atmel,flexcom.yaml". > Thank you, > Claudiu Beznea > > > 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..f577b8d8e1ea > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml > > @@ -0,0 +1,72 @@ > > +# 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 <kavyasree.kotagiri@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] > > + > > +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>; > > + ranges = <0x0 0xf8034000 0x800>; > > + atmel,flexcom-mode = <2>; > > + }; > > +... > > 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>; > > - }; > > - }; > > -};
On 05/07/2022 14:00, Kavyasree.Kotagiri@microchip.com wrote: >>> Convert the Atmel flexcom device tree bindings to json schema. >>> >>> Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com> >>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>> --- >>> 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,flexcom.yaml | 72 +++++++++++++++++++ >>> .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 ---------------- >>> 2 files changed, 72 insertions(+), 63 deletions(-) >>> create mode 100644 >> Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml >> >> AFAICT it would be better to have it named atmel,sama5d2-flexcom.yaml. >> > I see most of the yaml filenames have format of "vendor, function.yaml".For example: Documentation/devicetree/bindings/spi/atmel,quadspi.yaml > So, I think it is ok to use "atmel,flexcom.yaml". Most files not correct. The recommended naming is based on first compatible, so as Claudiu suggested. Best regards, Krzysztof
On Tue, 05 Jul 2022 04:57:56 -0200, Kavyasree Kotagiri wrote: > Convert the Atmel flexcom device tree bindings to json schema. > > Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > 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,flexcom.yaml | 72 +++++++++++++++++++ > .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 ---------------- > 2 files changed, 72 insertions(+), 63 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml > delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-flexcom.txt > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/mfd/atmel,flexcom.example.dts:24.13-45: Warning (ranges_format): /example-0/flexcom@f8034000:ranges: "ranges" property has invalid length (12 bytes) (parent #address-cells == 1, child #address-cells == 2, #size-cells == 1) /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mfd/atmel,flexcom.example.dtb: flexcom@f8034000: '#address-cells' is a required property From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mfd/atmel,flexcom.example.dtb: flexcom@f8034000: '#size-cells' is a required property From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/ This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit.
diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml new file mode 100644 index 000000000000..f577b8d8e1ea --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml @@ -0,0 +1,72 @@ +# 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 <kavyasree.kotagiri@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] + +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>; + ranges = <0x0 0xf8034000 0x800>; + atmel,flexcom-mode = <2>; + }; +... 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>; - }; - }; -};