On 29/06/2022 14:58, Sergiu Moga wrote: > Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema > format. > > Signed-off-by: Sergiu Moga <sergiu.moga@xxxxxxxxxxxxx> > --- > .../devicetree/bindings/spi/atmel,spi.yaml | 82 +++++++++++++++++++ > .../devicetree/bindings/spi/spi_atmel.txt | 36 -------- > 2 files changed, 82 insertions(+), 36 deletions(-) > create mode 100644 Documentation/devicetree/bindings/spi/atmel,spi.yaml > delete mode 100644 Documentation/devicetree/bindings/spi/spi_atmel.txt > > diff --git a/Documentation/devicetree/bindings/spi/atmel,spi.yaml b/Documentation/devicetree/bindings/spi/atmel,spi.yaml > new file mode 100644 > index 000000000000..751618a47235 > --- /dev/null > +++ b/Documentation/devicetree/bindings/spi/atmel,spi.yaml > @@ -0,0 +1,82 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/spi/atmel,spi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Atmel SPI device > + > +maintainers: > + - Mark Brown <broonie@xxxxxxxxxx> This should be rather someone from Microchip. > + > +allOf: > + - $ref: "spi-controller.yaml#" No need for quotes. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: atmel,at91rm9200-spi > + - items: These are not items, just single entry. Should be combined with above and made an 'enum'. > + - const: microchip,sam9x60-spi > + - items: > + - const: microchip,sam9x60-spi > + - const: atmel,at91rm9200-spi This is wrong. Either this is a fallback or it is not. It's not the Schroedinger's cat... Maybe your DTS are wrong. > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + cs-gpios: true No need, coming from spi-controller.yaml. > + > + clock-names: > + description: > + Tuple listing input clock names, "spi_clk" is a required element. Skip description. > + contains: > + const: spi_clk > + additionalItems: true no additionalItems. > + > + clocks: > + maxItems: 1 > + > + atmel,fifo-size: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: | > + Maximum number of data the RX and TX FIFOs can store for FIFO > + capable SPI controllers. minimum and maximum for values, if it is known. > + > +required: > + - compatible > + - reg > + - interrupts > + - clock-names > + - clocks > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + > + spi1: spi@fffcc000 { > + compatible = "atmel,at91rm9200-spi"; > + reg = <0xfffcc000 0x4000>; > + interrupts = <13 IRQ_TYPE_LEVEL_HIGH 5>; > + #address-cells = <1>; > + #size-cells = <0>; > + clocks = <&spi1_clk>; > + clock-names = "spi_clk", "str2"; This does not make really sense. You have one clock. > + cs-gpios = <&pioB 3 GPIO_ACTIVE_HIGH>; > + atmel,fifo-size = <32>; > + > + mmc@0 { > + compatible = "mmc-spi-slot"; > + reg = <0>; > + gpios = <&pioC 4 GPIO_ACTIVE_HIGH>; /* CD */ > + spi-max-frequency = <25000000>; > + }; Best regards, Krzysztof