> > Convert the Atmel flexcom device tree bindings to json schema. > > > > Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@xxxxxxxxxxxxx> > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > > --- > > 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@xxxxxxxxxxxxx> > > + > > +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>; > > - }; > > - }; > > -};