On Thu, Aug 1, 2019 at 7:56 AM Neil Armstrong <narmstrong@xxxxxxxxxxxx> wrote: > > Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> > --- > .../bindings/spi/amlogic,meson-gx-spicc.yaml | 74 +++++++++++++++++++ > .../bindings/spi/amlogic,meson6-spifc.yaml | 57 ++++++++++++++ > .../devicetree/bindings/spi/spi-meson.txt | 55 -------------- > 3 files changed, 131 insertions(+), 55 deletions(-) > create mode 100644 Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml > create mode 100644 Documentation/devicetree/bindings/spi/amlogic,meson6-spifc.yaml > delete mode 100644 Documentation/devicetree/bindings/spi/spi-meson.txt > > diff --git a/Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml b/Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml > new file mode 100644 > index 000000000000..6e2c41c730b5 > --- /dev/null > +++ b/Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml > @@ -0,0 +1,74 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +# Copyright 2019 BayLibre, SAS > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/spi/amlogic,meson-gx-spicc.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: Amlogic Meson SPI Communication Controller > + > +maintainers: > + - Neil Armstrong <narmstrong@xxxxxxxxxxxx> > + > +allOf: > + - $ref: "spi-controller.yaml#" > + > +description: | > + The Meson SPICC is a generic SPI controller for general purpose Full-Duplex > + communications with dedicated 16 words RX/TX PIO FIFOs. > + > +properties: > + compatible: > + oneOf: > + - description: SPICC controller on Amlogic GX and compatible SoCs > + enum: > + - amlogic,meson-gx-spicc > + - description: SPICC controller on Amlogic AXG and compatible SoCs > + enum: > + - amlogic,meson-axg-spicc 'oneOf' results in vague error messages and can be avoided here. Plus I don't think the descriptions add much as I could pretty much generate the desc "<block> controller on <vendor> <soc> and compatible SoCs" from <vendor>,<soc>-<block>. Though, if you want to keep the description, do it as a comment: enum: - amlogic,meson-gx-spicc # SPICC controller on Amlogic GX and compatible SoCs - amlogic,meson-axg-spicc # SPICC controller on Amlogic AXG and compatible SoCs > + > + interrupts: > + maxItems: 1 > + > + reg: > + maxItems: 1 > + > + resets: > + description: phandle of the internal reset line Standard property, don't need a description unless there's something special about this binding. > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + clock-names: > + description: input clock for the baud rate generator > + items: > + - const: core > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 These 2 can be dropped as they are covered by spi-controller.yaml. > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + - "#address-cells" > + - "#size-cells" > + > +examples: > + - | > + spi@c1108d80 { > + compatible = "amlogic,meson-gx-spicc"; > + reg = <0xc1108d80 0x80>; > + interrupts = <112>; > + clocks = <&clk81>; > + clock-names = "core"; > + #address-cells = <1>; > + #size-cells = <0>; Probably should add a slave node. Once I figure out how to always build the examples with W=12, the lack of a chlid node will throw a dtc warning. > + }; > + > diff --git a/Documentation/devicetree/bindings/spi/amlogic,meson6-spifc.yaml b/Documentation/devicetree/bindings/spi/amlogic,meson6-spifc.yaml > new file mode 100644 > index 000000000000..5f34aed1ad40 > --- /dev/null > +++ b/Documentation/devicetree/bindings/spi/amlogic,meson6-spifc.yaml Some of the same comments apply to this one. > @@ -0,0 +1,57 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +# Copyright 2019 BayLibre, SAS > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/spi/amlogic,meson6-spifc.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: Amlogic Meson SPI Flash Controller > + > +maintainers: > + - Neil Armstrong <narmstrong@xxxxxxxxxxxx> > + > +allOf: > + - $ref: "spi-controller.yaml#" > + > +description: | > + The Meson SPIFC is a controller optimized for communication with SPI > + NOR memories, without DMA support and a 64-byte unified transmit / > + receive buffer. > + > +properties: > + compatible: > + oneOf: > + - enum: > + - amlogic,meson6-spifc > + - enum: > + - amlogic,meson-gxbb-spifc Drop the oneOf. A single enum is sufficient. > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > +required: > + - compatible > + - reg > + - clocks > + - "#address-cells" > + - "#size-cells" > + > +examples: > + - | > + spi@c1108c80 { > + compatible = "amlogic,meson6-spifc"; > + reg = <0xc1108c80 0x80>; > + clocks = <&clk81>; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > +