linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] dt-bindings: serial: Convert generic and slave bindings to json-schema
@ 2020-03-06  9:00 Geert Uytterhoeven
  2020-03-06  9:00 ` [PATCH v2 1/2] dt-bindings: serial: Convert generic " Geert Uytterhoeven
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2020-03-06  9:00 UTC (permalink / raw)
  To: Rob Herring, Greg Kroah-Hartman
  Cc: Johan Hovold, David S . Miller, Sean Wang, Shawn Guo,
	Sascha Hauer, Matthias Brugger, devicetree, linux-serial,
	linux-renesas-soc, Geert Uytterhoeven

	Hi Rob, Greg,

This patch series converts the generic serial interface and slave-device
Device Tree bindings to json-schema.

Changes compared to v1[1]:
  - Update references to serial.txt and slave-device.txt,
  - Fix nodename pattern,
  - Add missing maxItems to *-gpios,
  - Express that uart-has-rtscts and [cr]ts-gpios are
    mutually-exclusive,
  - Drop examples,
  - Allow any child node names,
  - Typo s/connnected/connected/.

This is a dependency for converting more serial DT bindings that will
refer to properties defined in serial.yaml.

This patch is based on next-20200306, which has a recent change to
nextqualcomm-bluetooth.txt.

Thanks!

[1] https://lore.kernel.org/linux-devicetree/20200303134351.22270-1-geert+renesas@glider.be/

Geert Uytterhoeven (2):
  dt-bindings: serial: Convert generic bindings to json-schema
  dt-bindings: serial: Convert slave-device bindings to json-schema

 .../devicetree/bindings/gnss/gnss.txt         |   2 +-
 .../bindings/net/broadcom-bluetooth.txt       |   2 +-
 .../bindings/net/mediatek-bluetooth.txt       |   2 +-
 .../devicetree/bindings/net/qca,qca7000.txt   |   2 +-
 .../bindings/net/qualcomm-bluetooth.txt       |   2 +-
 .../devicetree/bindings/net/ti-bluetooth.txt  |   3 +-
 .../bindings/serial/fsl-imx-uart.txt          |   2 +-
 .../bindings/serial/renesas,sci-serial.txt    |   4 +-
 .../devicetree/bindings/serial/serial.txt     |  56 --------
 .../devicetree/bindings/serial/serial.yaml    | 127 ++++++++++++++++++
 .../bindings/serial/slave-device.txt          |  45 -------
 MAINTAINERS                                   |   2 +-
 12 files changed, 137 insertions(+), 112 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/serial/serial.txt
 create mode 100644 Documentation/devicetree/bindings/serial/serial.yaml
 delete mode 100644 Documentation/devicetree/bindings/serial/slave-device.txt

-- 
2.17.1

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/2] dt-bindings: serial: Convert generic bindings to json-schema
  2020-03-06  9:00 [PATCH v2 0/2] dt-bindings: serial: Convert generic and slave bindings to json-schema Geert Uytterhoeven
@ 2020-03-06  9:00 ` Geert Uytterhoeven
  2020-03-23 19:31   ` Rob Herring
  2020-03-06  9:00 ` [PATCH v2 2/2] dt-bindings: serial: Convert slave-device " Geert Uytterhoeven
  2020-03-12 19:35 ` [PATCH v2 0/2] dt-bindings: serial: Convert generic and slave " Rob Herring
  2 siblings, 1 reply; 7+ messages in thread
From: Geert Uytterhoeven @ 2020-03-06  9:00 UTC (permalink / raw)
  To: Rob Herring, Greg Kroah-Hartman
  Cc: Johan Hovold, David S . Miller, Sean Wang, Shawn Guo,
	Sascha Hauer, Matthias Brugger, devicetree, linux-serial,
	linux-renesas-soc, Geert Uytterhoeven

Convert the generic serial interface Device Tree binding documentation
to json-schema.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v2:
  - Update references to serial.txt,
  - Fix nodename pattern,
  - Add missing maxItems to *-gpios,
  - Express that uart-has-rtscts and [cr]ts-gpios are
    mutually-exclusive,
  - Drop examples.
---
 .../bindings/serial/fsl-imx-uart.txt          |  2 +-
 .../bindings/serial/renesas,sci-serial.txt    |  4 +-
 .../devicetree/bindings/serial/serial.txt     | 56 ---------------
 .../devicetree/bindings/serial/serial.yaml    | 71 +++++++++++++++++++
 4 files changed, 74 insertions(+), 59 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/serial/serial.txt
 create mode 100644 Documentation/devicetree/bindings/serial/serial.yaml

diff --git a/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt b/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt
index 35957cbf1571e4f6..556ad11c632fa628 100644
--- a/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt
+++ b/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt
@@ -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
diff --git a/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt b/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
index a5edf4b70c7ab657..5816e7d739f618e4 100644
--- a/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
+++ b/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
@@ -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
index 863c2893759e7151..0000000000000000
--- a/Documentation/devicetree/bindings/serial/serial.txt
+++ /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
index 0000000000000000..ca2ae755b560141c
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/serial.yaml
@@ -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
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/2] dt-bindings: serial: Convert slave-device bindings to json-schema
  2020-03-06  9:00 [PATCH v2 0/2] dt-bindings: serial: Convert generic and slave bindings to json-schema Geert Uytterhoeven
  2020-03-06  9:00 ` [PATCH v2 1/2] dt-bindings: serial: Convert generic " Geert Uytterhoeven
@ 2020-03-06  9:00 ` Geert Uytterhoeven
  2020-03-16  9:42   ` Matthias Brugger
  2020-03-23 19:32   ` Rob Herring
  2020-03-12 19:35 ` [PATCH v2 0/2] dt-bindings: serial: Convert generic and slave " Rob Herring
  2 siblings, 2 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2020-03-06  9:00 UTC (permalink / raw)
  To: Rob Herring, Greg Kroah-Hartman
  Cc: Johan Hovold, David S . Miller, Sean Wang, Shawn Guo,
	Sascha Hauer, Matthias Brugger, devicetree, linux-serial,
	linux-renesas-soc, Geert Uytterhoeven

Convert the serial slave-device Device Tree binding documentation to
json-schema, and incorporate it into the generic serial bindings.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v2:
  - Update references to slave-device.txt,
  - Allow any child node names,
  - Typo s/connnected/connected/.
---
 .../devicetree/bindings/gnss/gnss.txt         |  2 +-
 .../bindings/net/broadcom-bluetooth.txt       |  2 +-
 .../bindings/net/mediatek-bluetooth.txt       |  2 +-
 .../devicetree/bindings/net/qca,qca7000.txt   |  2 +-
 .../bindings/net/qualcomm-bluetooth.txt       |  2 +-
 .../devicetree/bindings/net/ti-bluetooth.txt  |  3 +-
 .../devicetree/bindings/serial/serial.yaml    | 56 +++++++++++++++++++
 .../bindings/serial/slave-device.txt          | 45 ---------------
 MAINTAINERS                                   |  2 +-
 9 files changed, 63 insertions(+), 53 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/serial/slave-device.txt

diff --git a/Documentation/devicetree/bindings/gnss/gnss.txt b/Documentation/devicetree/bindings/gnss/gnss.txt
index f547bd4549fe4655..d6dc9c0d82499dd5 100644
--- a/Documentation/devicetree/bindings/gnss/gnss.txt
+++ b/Documentation/devicetree/bindings/gnss/gnss.txt
@@ -8,7 +8,7 @@ bus (e.g. UART, I2C or SPI).
 
 Please refer to the following documents for generic properties:
 
-	Documentation/devicetree/bindings/serial/slave-device.txt
+	Documentation/devicetree/bindings/serial/serial.yaml
 	Documentation/devicetree/bindings/spi/spi-bus.txt
 
 Required properties:
diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
index dd258674633ca84e..a7d57ba5f2ac39bd 100644
--- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
+++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
@@ -20,7 +20,7 @@ Required properties:
 
 Optional properties:
 
- - max-speed: see Documentation/devicetree/bindings/serial/slave-device.txt
+ - max-speed: see Documentation/devicetree/bindings/serial/serial.yaml
  - shutdown-gpios: GPIO specifier, used to enable the BT module
  - device-wakeup-gpios: GPIO specifier, used to wakeup the controller
  - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor.
diff --git a/Documentation/devicetree/bindings/net/mediatek-bluetooth.txt b/Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
index 112011c51d5e3c1e..219bcbd0d34478ba 100644
--- a/Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
+++ b/Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
@@ -42,7 +42,7 @@ child node of the serial node with UART.
 
 Please refer to the following documents for generic properties:
 
-	Documentation/devicetree/bindings/serial/slave-device.txt
+	Documentation/devicetree/bindings/serial/serial.yaml
 
 Required properties:
 
diff --git a/Documentation/devicetree/bindings/net/qca,qca7000.txt b/Documentation/devicetree/bindings/net/qca,qca7000.txt
index 21c36e5249936c4c..8f5ae0b84eec2646 100644
--- a/Documentation/devicetree/bindings/net/qca,qca7000.txt
+++ b/Documentation/devicetree/bindings/net/qca,qca7000.txt
@@ -68,7 +68,7 @@ Required properties:
 Optional properties:
 - local-mac-address : see ./ethernet.txt
 - current-speed     : current baud rate of QCA7000 which defaults to 115200
-		      if absent, see also ../serial/slave-device.txt
+		      if absent, see also ../serial/serial.yaml
 
 UART Example:
 
diff --git a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
index beca6466d59a9d7d..d2202791c1d4c0c5 100644
--- a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
+++ b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
@@ -29,7 +29,7 @@ Required properties for compatible string qcom,wcn399x-bt:
 
 Optional properties for compatible string qcom,wcn399x-bt:
 
- - max-speed: see Documentation/devicetree/bindings/serial/slave-device.txt
+ - max-speed: see Documentation/devicetree/bindings/serial/serial.yaml
  - firmware-name: specify the name of nvm firmware to load
  - clocks: clock provided to the controller
 
diff --git a/Documentation/devicetree/bindings/net/ti-bluetooth.txt b/Documentation/devicetree/bindings/net/ti-bluetooth.txt
index 6d03ff8c7068135e..f48c17b38f5851de 100644
--- a/Documentation/devicetree/bindings/net/ti-bluetooth.txt
+++ b/Documentation/devicetree/bindings/net/ti-bluetooth.txt
@@ -15,8 +15,7 @@ standard BT HCI protocol with additional channels for the other functions.
 TI WiLink devices also have a separate WiFi interface as described in
 wireless/ti,wlcore.txt.
 
-This bindings follows the UART slave device binding in
-../serial/slave-device.txt.
+This bindings follows the UART slave device binding in ../serial/serial.yaml.
 
 Required properties:
  - compatible: should be one of the following:
diff --git a/Documentation/devicetree/bindings/serial/serial.yaml b/Documentation/devicetree/bindings/serial/serial.yaml
index ca2ae755b560141c..dd97ecd1a7fe8ddd 100644
--- a/Documentation/devicetree/bindings/serial/serial.yaml
+++ b/Documentation/devicetree/bindings/serial/serial.yaml
@@ -7,6 +7,7 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#"
 title: Serial Interface Generic DT Bindings
 
 maintainers:
+  - Rob Herring <robh@kernel.org>
   - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 description:
@@ -69,3 +70,58 @@ then:
   properties:
     cts-gpios: false
     rts-gpios: false
+
+patternProperties:
+  ".*":
+    if:
+      type: object
+    then:
+      description:
+        Serial attached devices shall be a child node of the host UART device
+        the slave device is attached to. It is expected that the attached
+        device is the only child node of the UART device. The slave device node
+        name shall reflect the generic type of device for the node.
+
+      properties:
+        compatible:
+          description:
+            Compatible of the device connected to the serial port.
+
+        max-speed:
+          $ref: /schemas/types.yaml#/definitions/uint32
+          description:
+            The maximum baud rate the device operates at.
+            This should only be present if the maximum is less than the slave
+            device can support.  For example, a particular board has some
+            signal quality issue or the host processor can't support higher
+            baud rates.
+
+        current-speed:
+          $ref: /schemas/types.yaml#/definitions/uint32
+          description: |
+            The current baud rate the device operates at.
+            This should only be present in case a driver has no chance to know
+            the baud rate of the slave device.
+            Examples:
+              * device supports auto-baud
+              * the rate is setup by a bootloader and there is no way to reset
+                the device
+              * device baud rate is configured by its firmware but there is no
+                way to request the actual settings
+
+      required:
+        - compatible
+
+examples:
+  - |
+    serial@1234 {
+            compatible = "ns16550a";
+            reg = <0x1234 0x20>;
+            interrupts = <1>;
+
+            bluetooth {
+                    compatible = "brcm,bcm43341-bt";
+                    interrupt-parent = <&gpio>;
+                    interrupts = <10>;
+            };
+    };
diff --git a/Documentation/devicetree/bindings/serial/slave-device.txt b/Documentation/devicetree/bindings/serial/slave-device.txt
deleted file mode 100644
index 40110e0196209fde..0000000000000000
--- a/Documentation/devicetree/bindings/serial/slave-device.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-Serial Slave Device DT binding
-
-This documents the binding structure and common properties for serial
-attached devices. Common examples include Bluetooth, WiFi, NFC and GPS
-devices.
-
-Serial attached devices shall be a child node of the host UART device the
-slave device is attached to. It is expected that the attached device is
-the only child node of the UART device. The slave device node name shall
-reflect the generic type of device for the node.
-
-Required Properties:
-
-- compatible 	: A string reflecting the vendor and specific device the node
-		  represents.
-
-Optional Properties:
-
-- max-speed	: The maximum baud rate the device operates at. This should
-		  only be present if the maximum is less than the slave device
-		  can support. For example, a particular board has some signal
-		  quality issue or the host processor can't support higher
-		  baud rates.
-- current-speed	: The current baud rate the device operates at. This should
-		  only be present in case a driver has no chance to know
-		  the baud rate of the slave device.
-		  Examples:
-		    * device supports auto-baud
-		    * the rate is setup by a bootloader and there is no
-		      way to reset the device
-		    * device baud rate is configured by its firmware but
-		      there is no way to request the actual settings
-
-Example:
-
-serial@1234 {
-	compatible = "ns16550a";
-	interrupts = <1>;
-
-	bluetooth {
-		compatible = "brcm,bcm43341-bt";
-		interrupt-parent = <&gpio>;
-		interrupts = <10>;
-	};
-};
diff --git a/MAINTAINERS b/MAINTAINERS
index 59c14ee9a917a794..5f5d074c7b3927a5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15034,7 +15034,7 @@ SERIAL DEVICE BUS
 M:	Rob Herring <robh@kernel.org>
 L:	linux-serial@vger.kernel.org
 S:	Maintained
-F:	Documentation/devicetree/bindings/serial/slave-device.txt
+F:	Documentation/devicetree/bindings/serial/serial.yaml
 F:	drivers/tty/serdev/
 F:	include/linux/serdev.h
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 0/2] dt-bindings: serial: Convert generic and slave bindings to json-schema
  2020-03-06  9:00 [PATCH v2 0/2] dt-bindings: serial: Convert generic and slave bindings to json-schema Geert Uytterhoeven
  2020-03-06  9:00 ` [PATCH v2 1/2] dt-bindings: serial: Convert generic " Geert Uytterhoeven
  2020-03-06  9:00 ` [PATCH v2 2/2] dt-bindings: serial: Convert slave-device " Geert Uytterhoeven
@ 2020-03-12 19:35 ` Rob Herring
  2 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2020-03-12 19:35 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Greg Kroah-Hartman, Johan Hovold, David S . Miller, Sean Wang,
	Shawn Guo, Sascha Hauer, Matthias Brugger, devicetree,
	linux-serial, linux-renesas-soc

On Fri, Mar 06, 2020 at 10:00:44AM +0100, Geert Uytterhoeven wrote:
> 	Hi Rob, Greg,
> 
> This patch series converts the generic serial interface and slave-device
> Device Tree bindings to json-schema.
> 
> Changes compared to v1[1]:
>   - Update references to serial.txt and slave-device.txt,
>   - Fix nodename pattern,
>   - Add missing maxItems to *-gpios,
>   - Express that uart-has-rtscts and [cr]ts-gpios are
>     mutually-exclusive,
>   - Drop examples,
>   - Allow any child node names,
>   - Typo s/connnected/connected/.
> 
> This is a dependency for converting more serial DT bindings that will
> refer to properties defined in serial.yaml.
> 
> This patch is based on next-20200306, which has a recent change to
> nextqualcomm-bluetooth.txt.

Basing it on next is not too useful. I'm inclined to apply and just drop 
what conflicts for me. We can fixup the reference after rc1.

Rob

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 2/2] dt-bindings: serial: Convert slave-device bindings to json-schema
  2020-03-06  9:00 ` [PATCH v2 2/2] dt-bindings: serial: Convert slave-device " Geert Uytterhoeven
@ 2020-03-16  9:42   ` Matthias Brugger
  2020-03-23 19:32   ` Rob Herring
  1 sibling, 0 replies; 7+ messages in thread
From: Matthias Brugger @ 2020-03-16  9:42 UTC (permalink / raw)
  To: Geert Uytterhoeven, Rob Herring, Greg Kroah-Hartman
  Cc: Johan Hovold, David S . Miller, Sean Wang, Shawn Guo,
	Sascha Hauer, devicetree, linux-serial, linux-renesas-soc



On 06/03/2020 10:00, Geert Uytterhoeven wrote:
> Convert the serial slave-device Device Tree binding documentation to
> json-schema, and incorporate it into the generic serial bindings.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

Reviewed-by: Matthias Brugger <mbrugger@suse.com>

> ---
> v2:
>   - Update references to slave-device.txt,
>   - Allow any child node names,
>   - Typo s/connnected/connected/.
> ---
>  .../devicetree/bindings/gnss/gnss.txt         |  2 +-
>  .../bindings/net/broadcom-bluetooth.txt       |  2 +-
>  .../bindings/net/mediatek-bluetooth.txt       |  2 +-
>  .../devicetree/bindings/net/qca,qca7000.txt   |  2 +-
>  .../bindings/net/qualcomm-bluetooth.txt       |  2 +-
>  .../devicetree/bindings/net/ti-bluetooth.txt  |  3 +-
>  .../devicetree/bindings/serial/serial.yaml    | 56 +++++++++++++++++++
>  .../bindings/serial/slave-device.txt          | 45 ---------------
>  MAINTAINERS                                   |  2 +-
>  9 files changed, 63 insertions(+), 53 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/serial/slave-device.txt
> 
> diff --git a/Documentation/devicetree/bindings/gnss/gnss.txt b/Documentation/devicetree/bindings/gnss/gnss.txt
> index f547bd4549fe4655..d6dc9c0d82499dd5 100644
> --- a/Documentation/devicetree/bindings/gnss/gnss.txt
> +++ b/Documentation/devicetree/bindings/gnss/gnss.txt
> @@ -8,7 +8,7 @@ bus (e.g. UART, I2C or SPI).
>  
>  Please refer to the following documents for generic properties:
>  
> -	Documentation/devicetree/bindings/serial/slave-device.txt
> +	Documentation/devicetree/bindings/serial/serial.yaml
>  	Documentation/devicetree/bindings/spi/spi-bus.txt
>  
>  Required properties:
> diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
> index dd258674633ca84e..a7d57ba5f2ac39bd 100644
> --- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
> +++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
> @@ -20,7 +20,7 @@ Required properties:
>  
>  Optional properties:
>  
> - - max-speed: see Documentation/devicetree/bindings/serial/slave-device.txt
> + - max-speed: see Documentation/devicetree/bindings/serial/serial.yaml
>   - shutdown-gpios: GPIO specifier, used to enable the BT module
>   - device-wakeup-gpios: GPIO specifier, used to wakeup the controller
>   - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor.
> diff --git a/Documentation/devicetree/bindings/net/mediatek-bluetooth.txt b/Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
> index 112011c51d5e3c1e..219bcbd0d34478ba 100644
> --- a/Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
> +++ b/Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
> @@ -42,7 +42,7 @@ child node of the serial node with UART.
>  
>  Please refer to the following documents for generic properties:
>  
> -	Documentation/devicetree/bindings/serial/slave-device.txt
> +	Documentation/devicetree/bindings/serial/serial.yaml
>  
>  Required properties:
>  
> diff --git a/Documentation/devicetree/bindings/net/qca,qca7000.txt b/Documentation/devicetree/bindings/net/qca,qca7000.txt
> index 21c36e5249936c4c..8f5ae0b84eec2646 100644
> --- a/Documentation/devicetree/bindings/net/qca,qca7000.txt
> +++ b/Documentation/devicetree/bindings/net/qca,qca7000.txt
> @@ -68,7 +68,7 @@ Required properties:
>  Optional properties:
>  - local-mac-address : see ./ethernet.txt
>  - current-speed     : current baud rate of QCA7000 which defaults to 115200
> -		      if absent, see also ../serial/slave-device.txt
> +		      if absent, see also ../serial/serial.yaml
>  
>  UART Example:
>  
> diff --git a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
> index beca6466d59a9d7d..d2202791c1d4c0c5 100644
> --- a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
> +++ b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
> @@ -29,7 +29,7 @@ Required properties for compatible string qcom,wcn399x-bt:
>  
>  Optional properties for compatible string qcom,wcn399x-bt:
>  
> - - max-speed: see Documentation/devicetree/bindings/serial/slave-device.txt
> + - max-speed: see Documentation/devicetree/bindings/serial/serial.yaml
>   - firmware-name: specify the name of nvm firmware to load
>   - clocks: clock provided to the controller
>  
> diff --git a/Documentation/devicetree/bindings/net/ti-bluetooth.txt b/Documentation/devicetree/bindings/net/ti-bluetooth.txt
> index 6d03ff8c7068135e..f48c17b38f5851de 100644
> --- a/Documentation/devicetree/bindings/net/ti-bluetooth.txt
> +++ b/Documentation/devicetree/bindings/net/ti-bluetooth.txt
> @@ -15,8 +15,7 @@ standard BT HCI protocol with additional channels for the other functions.
>  TI WiLink devices also have a separate WiFi interface as described in
>  wireless/ti,wlcore.txt.
>  
> -This bindings follows the UART slave device binding in
> -../serial/slave-device.txt.
> +This bindings follows the UART slave device binding in ../serial/serial.yaml.
>  
>  Required properties:
>   - compatible: should be one of the following:
> diff --git a/Documentation/devicetree/bindings/serial/serial.yaml b/Documentation/devicetree/bindings/serial/serial.yaml
> index ca2ae755b560141c..dd97ecd1a7fe8ddd 100644
> --- a/Documentation/devicetree/bindings/serial/serial.yaml
> +++ b/Documentation/devicetree/bindings/serial/serial.yaml
> @@ -7,6 +7,7 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#"
>  title: Serial Interface Generic DT Bindings
>  
>  maintainers:
> +  - Rob Herring <robh@kernel.org>
>    - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>  
>  description:
> @@ -69,3 +70,58 @@ then:
>    properties:
>      cts-gpios: false
>      rts-gpios: false
> +
> +patternProperties:
> +  ".*":
> +    if:
> +      type: object
> +    then:
> +      description:
> +        Serial attached devices shall be a child node of the host UART device
> +        the slave device is attached to. It is expected that the attached
> +        device is the only child node of the UART device. The slave device node
> +        name shall reflect the generic type of device for the node.
> +
> +      properties:
> +        compatible:
> +          description:
> +            Compatible of the device connected to the serial port.
> +
> +        max-speed:
> +          $ref: /schemas/types.yaml#/definitions/uint32
> +          description:
> +            The maximum baud rate the device operates at.
> +            This should only be present if the maximum is less than the slave
> +            device can support.  For example, a particular board has some
> +            signal quality issue or the host processor can't support higher
> +            baud rates.
> +
> +        current-speed:
> +          $ref: /schemas/types.yaml#/definitions/uint32
> +          description: |
> +            The current baud rate the device operates at.
> +            This should only be present in case a driver has no chance to know
> +            the baud rate of the slave device.
> +            Examples:
> +              * device supports auto-baud
> +              * the rate is setup by a bootloader and there is no way to reset
> +                the device
> +              * device baud rate is configured by its firmware but there is no
> +                way to request the actual settings
> +
> +      required:
> +        - compatible
> +
> +examples:
> +  - |
> +    serial@1234 {
> +            compatible = "ns16550a";
> +            reg = <0x1234 0x20>;
> +            interrupts = <1>;
> +
> +            bluetooth {
> +                    compatible = "brcm,bcm43341-bt";
> +                    interrupt-parent = <&gpio>;
> +                    interrupts = <10>;
> +            };
> +    };
> diff --git a/Documentation/devicetree/bindings/serial/slave-device.txt b/Documentation/devicetree/bindings/serial/slave-device.txt
> deleted file mode 100644
> index 40110e0196209fde..0000000000000000
> --- a/Documentation/devicetree/bindings/serial/slave-device.txt
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -Serial Slave Device DT binding
> -
> -This documents the binding structure and common properties for serial
> -attached devices. Common examples include Bluetooth, WiFi, NFC and GPS
> -devices.
> -
> -Serial attached devices shall be a child node of the host UART device the
> -slave device is attached to. It is expected that the attached device is
> -the only child node of the UART device. The slave device node name shall
> -reflect the generic type of device for the node.
> -
> -Required Properties:
> -
> -- compatible 	: A string reflecting the vendor and specific device the node
> -		  represents.
> -
> -Optional Properties:
> -
> -- max-speed	: The maximum baud rate the device operates at. This should
> -		  only be present if the maximum is less than the slave device
> -		  can support. For example, a particular board has some signal
> -		  quality issue or the host processor can't support higher
> -		  baud rates.
> -- current-speed	: The current baud rate the device operates at. This should
> -		  only be present in case a driver has no chance to know
> -		  the baud rate of the slave device.
> -		  Examples:
> -		    * device supports auto-baud
> -		    * the rate is setup by a bootloader and there is no
> -		      way to reset the device
> -		    * device baud rate is configured by its firmware but
> -		      there is no way to request the actual settings
> -
> -Example:
> -
> -serial@1234 {
> -	compatible = "ns16550a";
> -	interrupts = <1>;
> -
> -	bluetooth {
> -		compatible = "brcm,bcm43341-bt";
> -		interrupt-parent = <&gpio>;
> -		interrupts = <10>;
> -	};
> -};
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 59c14ee9a917a794..5f5d074c7b3927a5 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -15034,7 +15034,7 @@ SERIAL DEVICE BUS
>  M:	Rob Herring <robh@kernel.org>
>  L:	linux-serial@vger.kernel.org
>  S:	Maintained
> -F:	Documentation/devicetree/bindings/serial/slave-device.txt
> +F:	Documentation/devicetree/bindings/serial/serial.yaml
>  F:	drivers/tty/serdev/
>  F:	include/linux/serdev.h
>  
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: serial: Convert generic bindings to json-schema
  2020-03-06  9:00 ` [PATCH v2 1/2] dt-bindings: serial: Convert generic " Geert Uytterhoeven
@ 2020-03-23 19:31   ` Rob Herring
  0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2020-03-23 19:31 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Greg Kroah-Hartman, Johan Hovold, David S . Miller, Sean Wang,
	Shawn Guo, Sascha Hauer, Matthias Brugger, devicetree,
	linux-serial, linux-renesas-soc, Geert Uytterhoeven

On Fri,  6 Mar 2020 10:00:45 +0100, Geert Uytterhoeven wrote:
> Convert the generic serial interface Device Tree binding documentation
> to json-schema.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> v2:
>   - Update references to serial.txt,
>   - Fix nodename pattern,
>   - Add missing maxItems to *-gpios,
>   - Express that uart-has-rtscts and [cr]ts-gpios are
>     mutually-exclusive,
>   - Drop examples.
> ---
>  .../bindings/serial/fsl-imx-uart.txt          |  2 +-
>  .../bindings/serial/renesas,sci-serial.txt    |  4 +-
>  .../devicetree/bindings/serial/serial.txt     | 56 ---------------
>  .../devicetree/bindings/serial/serial.yaml    | 71 +++++++++++++++++++
>  4 files changed, 74 insertions(+), 59 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/serial/serial.txt
>  create mode 100644 Documentation/devicetree/bindings/serial/serial.yaml
> 

Applied, thanks.

Rob

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 2/2] dt-bindings: serial: Convert slave-device bindings to json-schema
  2020-03-06  9:00 ` [PATCH v2 2/2] dt-bindings: serial: Convert slave-device " Geert Uytterhoeven
  2020-03-16  9:42   ` Matthias Brugger
@ 2020-03-23 19:32   ` Rob Herring
  1 sibling, 0 replies; 7+ messages in thread
From: Rob Herring @ 2020-03-23 19:32 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Greg Kroah-Hartman, Johan Hovold, David S . Miller, Sean Wang,
	Shawn Guo, Sascha Hauer, Matthias Brugger, devicetree,
	linux-serial, linux-renesas-soc, Geert Uytterhoeven

On Fri,  6 Mar 2020 10:00:46 +0100, Geert Uytterhoeven wrote:
> Convert the serial slave-device Device Tree binding documentation to
> json-schema, and incorporate it into the generic serial bindings.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> v2:
>   - Update references to slave-device.txt,
>   - Allow any child node names,
>   - Typo s/connnected/connected/.
> ---
>  .../devicetree/bindings/gnss/gnss.txt         |  2 +-
>  .../bindings/net/broadcom-bluetooth.txt       |  2 +-
>  .../bindings/net/mediatek-bluetooth.txt       |  2 +-
>  .../devicetree/bindings/net/qca,qca7000.txt   |  2 +-
>  .../bindings/net/qualcomm-bluetooth.txt       |  2 +-
>  .../devicetree/bindings/net/ti-bluetooth.txt  |  3 +-
>  .../devicetree/bindings/serial/serial.yaml    | 56 +++++++++++++++++++
>  .../bindings/serial/slave-device.txt          | 45 ---------------
>  MAINTAINERS                                   |  2 +-
>  9 files changed, 63 insertions(+), 53 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/serial/slave-device.txt
> 

Applied, thanks.

I dropped qualcomm-bluetooth.txt change for now.

Rob

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-03-23 19:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-06  9:00 [PATCH v2 0/2] dt-bindings: serial: Convert generic and slave bindings to json-schema Geert Uytterhoeven
2020-03-06  9:00 ` [PATCH v2 1/2] dt-bindings: serial: Convert generic " Geert Uytterhoeven
2020-03-23 19:31   ` Rob Herring
2020-03-06  9:00 ` [PATCH v2 2/2] dt-bindings: serial: Convert slave-device " Geert Uytterhoeven
2020-03-16  9:42   ` Matthias Brugger
2020-03-23 19:32   ` Rob Herring
2020-03-12 19:35 ` [PATCH v2 0/2] dt-bindings: serial: Convert generic and slave " Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).