OSDN Git Service

dt-bindings: serial: Convert generic bindings to json-schema
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 6 Mar 2020 09:00:45 +0000 (10:00 +0100)
committerRob Herring <robh@kernel.org>
Mon, 23 Mar 2020 17:08:28 +0000 (11:08 -0600)
Convert the generic serial interface Device Tree binding documentation
to json-schema.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Rob Herring <robh@kernel.org>
Documentation/devicetree/bindings/serial/fsl-imx-uart.txt
Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
Documentation/devicetree/bindings/serial/serial.txt [deleted file]
Documentation/devicetree/bindings/serial/serial.yaml [new file with mode: 0644]

index 35957cb..556ad11 100644 (file)
@@ -15,7 +15,7 @@ Optional properties:
   the transceiver is actually CTS_B, not RTS_B. CTS_B is always output,
   and RTS_B is input, regardless of dte-mode.
 
-Please check Documentation/devicetree/bindings/serial/serial.txt
+Please check Documentation/devicetree/bindings/serial/serial.yaml
 for the complete list of generic properties.
 
 Note: Each uart controller should have an alias correctly numbered
index a5edf4b..5816e7d 100644 (file)
@@ -128,9 +128,9 @@ Optional properties:
          transmission, and one for reception.
   - dma-names: Must contain a list of two DMA names, "tx" and "rx".
   - {cts,dsr,dcd,rng,rts,dtr}-gpios: Specify GPIOs for modem lines, cfr. the
-    generic serial DT bindings in serial.txt.
+    generic serial DT bindings in serial.yaml.
   - uart-has-rtscts: Indicates dedicated lines for RTS/CTS hardware flow
-    control, cfr. the generic serial DT bindings in serial.txt.
+    control, cfr. the generic serial DT bindings in serial.yaml.
 
 Example:
        aliases {
diff --git a/Documentation/devicetree/bindings/serial/serial.txt b/Documentation/devicetree/bindings/serial/serial.txt
deleted file mode 100644 (file)
index 863c289..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-Generic Serial DT Bindings
-
-This document lists a set of generic properties for describing UARTs in a
-device tree.  Whether these properties apply to a particular device depends on
-the DT bindings for the actual device.
-
-Optional properties:
-  - cts-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
-    used as the UART's CTS line.
-  - dcd-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
-    used as the UART's DCD line.
-  - dsr-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
-    used as the UART's DSR line.
-  - dtr-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
-    used as the UART's DTR line.
-  - rng-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
-    used as the UART's RNG line.
-  - rts-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
-    used as the UART's RTS line.
-
-  - uart-has-rtscts: The presence of this property indicates that the
-    UART has dedicated lines for RTS/CTS hardware flow control, and that
-    they are available for use (wired and enabled by pinmux configuration).
-    This depends on both the UART hardware and the board wiring.
-    Note that this property is mutually-exclusive with "cts-gpios" and
-    "rts-gpios" above, unless support is provided to switch between modes
-    dynamically.
-
-
-Examples:
-
-       uart1: serial@48022000 {
-               compatible = "ti,am3352-uart", "ti,omap3-uart";
-               ti,hwmods = "uart2";
-               clock-frequency = <48000000>;
-               reg = <0x48022000 0x2000>;
-               interrupts = <73>;
-               dmas = <&edma 28 0>, <&edma 29 0>;
-               dma-names = "tx", "rx";
-               dtr-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
-               dsr-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
-               dcd-gpios = <&gpio2 24 GPIO_ACTIVE_LOW>;
-               rng-gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
-               cts-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
-               rts-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
-       };
-
-       scifa4: serial@e6c80000 {
-               compatible = "renesas,scifa-sh73a0", "renesas,scifa";
-               reg = <0xe6c80000 0x100>;
-               interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks SH73A0_CLK_SCIFA4>;
-               clock-names = "fck";
-               power-domains = <&pd_a3sp>;
-               uart-has-rtscts;
-       };
diff --git a/Documentation/devicetree/bindings/serial/serial.yaml b/Documentation/devicetree/bindings/serial/serial.yaml
new file mode 100644 (file)
index 0000000..ca2ae75
--- /dev/null
@@ -0,0 +1,71 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/serial/serial.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Serial Interface Generic DT Bindings
+
+maintainers:
+  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+description:
+  This document lists a set of generic properties for describing UARTs in a
+  device tree.  Whether these properties apply to a particular device depends
+  on the DT bindings for the actual device.
+
+properties:
+  $nodename:
+    pattern: "^serial(@.*)?$"
+
+  cts-gpios:
+    maxItems: 1
+    description:
+      Must contain a GPIO specifier, referring to the GPIO pin to be used as
+      the UART's CTS line.
+
+  dcd-gpios:
+    maxItems: 1
+    description:
+      Must contain a GPIO specifier, referring to the GPIO pin to be used as
+      the UART's DCD line.
+
+  dsr-gpios:
+    maxItems: 1
+    description:
+      Must contain a GPIO specifier, referring to the GPIO pin to be used as
+      the UART's DSR line.
+
+  dtr-gpios:
+    maxItems: 1
+    description:
+      Must contain a GPIO specifier, referring to the GPIO pin to be used as
+      the UART's DTR line.
+
+  rng-gpios:
+    maxItems: 1
+    description:
+      Must contain a GPIO specifier, referring to the GPIO pin to be used as
+      the UART's RNG line.
+
+  rts-gpios:
+    maxItems: 1
+    description:
+      Must contain a GPIO specifier, referring to the GPIO pin to be used as
+      the UART's RTS line.
+
+  uart-has-rtscts:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description:
+      The presence of this property indicates that the UART has dedicated lines
+      for RTS/CTS hardware flow control, and that they are available for use
+      (wired and enabled by pinmux configuration).  This depends on both the
+      UART hardware and the board wiring.
+
+if:
+  required:
+    - uart-has-rtscts
+then:
+  properties:
+    cts-gpios: false
+    rts-gpios: false