Message ID | 20220916075744.1879428-2-kavyasree.kotagiri@microchip.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for lan966x flexcom chip-select configuration | expand |
> Convert the Atmel flexcom device tree bindings to json schema. > > Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com> > Reviewed-by: Rob Herring <robh@kernel.org> > --- > v8 -> v9: > - Use full schema path for i2c bindings. > > Changing reference to SPI yaml bindings is covered in below patch series: > https://lore.kernel.org/linux-arm-kernel/20220913142205.162399-6- > sergiu.moga@microchip.com/ > https://lore.kernel.org/linux-arm-kernel/dad37ca0-a44b-59ec-0be9- > fb121de12244@linaro.org/ > > v7 -> v8: > - Added back patternProperties for child nodes. > > 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 | 92 +++++++++++++++++++ > .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 ------------- > 2 files changed, 92 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..f28522cd987a > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/atmel,sama5d2- > flexcom.yaml > @@ -0,0 +1,92 @@ > +# 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@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] > + > +patternProperties: > + "^serial@[0-9a-f]+$": > + type: object > + description: > + Child node describing USART. See atmel-usart.txt for details > + of USART bindings. > + > + "^spi@[0-9a-f]+$": > + type: object > + description: > + Child node describing SPI. See ../spi/spi_atmel.txt for details > + of SPI bindings. > + > + "^i2c@[0-9a-f]+$": > + $ref: /schemas/i2c/atmel,at91sam-i2c.yaml Hi Krzysztof, I added full schema path for i2c bindings in v9. Please let me know your comments. Thanks, Kavya > + description: > + Child node describing I2C. > + > +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>; > + }; > +... > 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.25.1
On 19/09/2022 07:27, 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: Rob Herring <robh@kernel.org> >> --- >> v8 -> v9: >> - Use full schema path for i2c bindings. >> >> Changing reference to SPI yaml bindings is covered in below patch series: >> https://lore.kernel.org/linux-arm-kernel/20220913142205.162399-6- >> sergiu.moga@microchip.com/ >> https://lore.kernel.org/linux-arm-kernel/dad37ca0-a44b-59ec-0be9- >> fb121de12244@linaro.org/ >> >> v7 -> v8: >> - Added back patternProperties for child nodes. >> >> 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 | 92 +++++++++++++++++++ >> .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 ------------- >> 2 files changed, 92 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..f28522cd987a >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/mfd/atmel,sama5d2- >> flexcom.yaml >> @@ -0,0 +1,92 @@ >> +# 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@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] >> + >> +patternProperties: >> + "^serial@[0-9a-f]+$": >> + type: object >> + description: >> + Child node describing USART. See atmel-usart.txt for details >> + of USART bindings. >> + >> + "^spi@[0-9a-f]+$": >> + type: object >> + description: >> + Child node describing SPI. See ../spi/spi_atmel.txt for details >> + of SPI bindings. >> + >> + "^i2c@[0-9a-f]+$": >> + $ref: /schemas/i2c/atmel,at91sam-i2c.yaml > > > Hi Krzysztof, > > I added full schema path for i2c bindings in v9. Please let me know your comments. > You sent the patch on 16th, pinged on 19th. Wait around two weeks before pinging. You got here Rob's review, what is missing? Why do you ping us? Best regards, Krzysztof
On 16/09/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: Rob Herring <robh@kernel.org> > --- > v8 -> v9: > - Use full schema path for i2c bindings. > > Changing reference to SPI yaml bindings is covered in below patch series: > https://lore.kernel.org/linux-arm-kernel/20220913142205.162399-6-sergiu.moga@microchip.com/ > https://lore.kernel.org/linux-arm-kernel/dad37ca0-a44b-59ec-0be9-fb121de12244@linaro.org/ > Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
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..f28522cd987a --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml @@ -0,0 +1,92 @@ +# 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@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] + +patternProperties: + "^serial@[0-9a-f]+$": + type: object + description: + Child node describing USART. See atmel-usart.txt for details + of USART bindings. + + "^spi@[0-9a-f]+$": + type: object + description: + Child node describing SPI. See ../spi/spi_atmel.txt for details + of SPI bindings. + + "^i2c@[0-9a-f]+$": + $ref: /schemas/i2c/atmel,at91sam-i2c.yaml + description: + Child node describing I2C. + +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>; + }; +... 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>; - }; - }; -};