From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: [PATCH v1 02/36] dt-bindings: spi: support non-spi bindings as SPI slaves Date: Sun, 15 Mar 2020 14:43:42 +0100 Message-ID: <20200315134416.16527-3-sam@ravnborg.org> References: <20200315134416.16527-1-sam@ravnborg.org> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: Alexandre Courbot , Andrzej Hajda , Brian Masney , Chris Zhong , Douglas Anderson , Guido Gunther , Heiko Schocher , Nikolaus Schaller , Hoegeun Kwon , Jagan Teki , Jerry Han , Jonathan Bakker , Laurent Pinchart , Lin Huang , Linus Walleij , linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Marco Franchi , Marek Belisko , Mark Brown , Maxime Ripard , Rob Herring , devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Return-path: In-Reply-To: <20200315134416.16527-1-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> Sender: linux-spi-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Independent bindings can be SPI slaves which for example is the case for several panel bindings. Move SPI slave properties to spi-slave.yaml so the independent SPI slave bindings can include spi-slave.yaml rather than duplicating the properties. Signed-off-by: Sam Ravnborg Cc: Maxime Ripard Cc: Rob Herring Cc: Mark Brown Cc: linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org --- .../bindings/spi/spi-controller.yaml | 63 +------------- .../devicetree/bindings/spi/spi-slave.yaml | 83 +++++++++++++++++++ 2 files changed, 86 insertions(+), 60 deletions(-) create mode 100644 Documentation/devicetree/bindings/spi/spi-slave.yaml diff --git a/Documentation/devicetree/bindings/spi/spi-controller.yaml b/Documentation/devicetree/bindings/spi/spi-controller.yaml index 1e0ca6ccf64b..99531c8d10dd 100644 --- a/Documentation/devicetree/bindings/spi/spi-controller.yaml +++ b/Documentation/devicetree/bindings/spi/spi-controller.yaml @@ -67,71 +67,14 @@ patternProperties: "^.*@[0-9a-f]+$": type: object + allOf: + - $ref: spi-slave.yaml# + properties: compatible: description: Compatible of the SPI device. - reg: - minimum: 0 - maximum: 256 - description: - Chip select used by the device. - - spi-3wire: - $ref: /schemas/types.yaml#/definitions/flag - description: - The device requires 3-wire mode. - - spi-cpha: - $ref: /schemas/types.yaml#/definitions/flag - description: - The device requires shifted clock phase (CPHA) mode. - - spi-cpol: - $ref: /schemas/types.yaml#/definitions/flag - description: - The device requires inverse clock polarity (CPOL) mode. - - spi-cs-high: - $ref: /schemas/types.yaml#/definitions/flag - description: - The device requires the chip select active high. - - spi-lsb-first: - $ref: /schemas/types.yaml#/definitions/flag - description: - The device requires the LSB first mode. - - spi-max-frequency: - $ref: /schemas/types.yaml#/definitions/uint32 - description: - Maximum SPI clocking speed of the device in Hz. - - spi-rx-bus-width: - allOf: - - $ref: /schemas/types.yaml#/definitions/uint32 - - enum: [ 1, 2, 4, 8 ] - - default: 1 - description: - Bus width to the SPI bus used for MISO. - - spi-rx-delay-us: - description: - Delay, in microseconds, after a read transfer. - - spi-tx-bus-width: - allOf: - - $ref: /schemas/types.yaml#/definitions/uint32 - - enum: [ 1, 2, 4, 8 ] - - default: 1 - description: - Bus width to the SPI bus used for MOSI. - - spi-tx-delay-us: - description: - Delay, in microseconds, after a write transfer. - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/spi/spi-slave.yaml b/Documentation/devicetree/bindings/spi/spi-slave.yaml new file mode 100644 index 000000000000..fa50d9dfab41 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/spi-slave.yaml @@ -0,0 +1,83 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/spi/spi-slave.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: SPI slave generic binding + +maintainers: + - Mark Brown + +description: | + This document defines device tree properties common to SPI slaves. + It doesn't constitue a device tree binding specification by + itself but is meant to be referenced by device tree bindings. + + When referenced from device tree bindings the properties defined in this + document are defined as follows. The device tree bindings are responsible + for defining whether each property is required or optional. + +properties: + + reg: + minimum: 0 + maximum: 256 + description: + Chip select used by the device. + + spi-3wire: + $ref: /schemas/types.yaml#/definitions/flag + description: + The device requires 3-wire mode. + + spi-cpha: + $ref: /schemas/types.yaml#/definitions/flag + description: + The device requires shifted clock phase (CPHA) mode. + + spi-cpol: + $ref: /schemas/types.yaml#/definitions/flag + description: + The device requires inverse clock polarity (CPOL) mode. + + spi-cs-high: + $ref: /schemas/types.yaml#/definitions/flag + description: + The device requires the chip select active high. + + spi-lsb-first: + $ref: /schemas/types.yaml#/definitions/flag + description: + The device requires the LSB first mode. + + spi-max-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Maximum SPI clocking speed of the device in Hz. + + spi-rx-bus-width: + allOf: + - $ref: /schemas/types.yaml#/definitions/uint32 + - enum: [ 1, 2, 4, 8 ] + - default: 1 + description: + Bus width to the SPI bus used for MISO. + + spi-rx-delay-us: + description: + Delay, in microseconds, after a read transfer. + + spi-tx-bus-width: + allOf: + - $ref: /schemas/types.yaml#/definitions/uint32 + - enum: [ 1, 2, 4, 8 ] + - default: 1 + description: + Bus width to the SPI bus used for MOSI. + + spi-tx-delay-us: + description: + Delay, in microseconds, after a write transfer. + +... -- 2.20.1