devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert+renesas@glider.be>
To: Rob Herring <robh+dt@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-serial@vger.kernel.org, devicetree@vger.kernel.org,
	Geert Uytterhoeven <geert+renesas@glider.be>
Subject: [PATCH 2/2] dt-bindings: serial: Convert slave-device bindings to json-schema
Date: Tue,  3 Mar 2020 14:43:51 +0100	[thread overview]
Message-ID: <20200303134351.22270-3-geert+renesas@glider.be> (raw)
In-Reply-To: <20200303134351.22270-1-geert+renesas@glider.be>

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>
---
 .../devicetree/bindings/serial/serial.yaml    | 53 +++++++++++++++++++
 .../bindings/serial/slave-device.txt          | 45 ----------------
 MAINTAINERS                                   |  2 +-
 3 files changed, 54 insertions(+), 46 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/serial/slave-device.txt

diff --git a/Documentation/devicetree/bindings/serial/serial.yaml b/Documentation/devicetree/bindings/serial/serial.yaml
index d408335319f00215..7381966449b62deb 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:
@@ -59,6 +60,45 @@ properties:
       "rts-gpios" above, unless support is provided to switch between modes
       dynamically.
 
+patternProperties:
+  "^(bluetooth|ethernet|gnss|nfc|wifi)$":
+    type: object
+
+    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 connnected 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:
   - |
     #include <dt-bindings/gpio/gpio.h>
@@ -93,3 +133,16 @@ examples:
             power-domains = <&pd_a3sp>;
             uart-has-rtscts;
     };
+
+  - |
+    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


  parent reply	other threads:[~2020-03-03 13:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-03 13:43 [PATCH 0/2] dt-bindings: serial: Convert generic and slave bindings to json-schema Geert Uytterhoeven
2020-03-03 13:43 ` [PATCH 1/2] dt-bindings: serial: Convert generic " Geert Uytterhoeven
2020-03-03 15:09   ` Geert Uytterhoeven
2020-03-04 14:03   ` Rob Herring
2020-03-04 14:44     ` Geert Uytterhoeven
2020-03-03 13:43 ` Geert Uytterhoeven [this message]
2020-03-03 15:10   ` [PATCH 2/2] dt-bindings: serial: Convert slave-device " Geert Uytterhoeven
2020-03-04 14:44   ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200303134351.22270-3-geert+renesas@glider.be \
    --to=geert+renesas@glider.be \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).