dt-bindings: gnss: Rewrite common bindings in YAML
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 17 Mar 2022 22:58:40 +0000 (23:58 +0100)
committerRob Herring <robh@kernel.org>
Sun, 20 Mar 2022 18:53:50 +0000 (14:53 -0400)
This rewrites the text-based GNSS common bindings to use
a YAML schema.

Cc: devicetree@vger.kernel.org
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220317225844.1262643-1-linus.walleij@linaro.org
Documentation/devicetree/bindings/gnss/gnss-common.yaml [new file with mode: 0644]
Documentation/devicetree/bindings/gnss/gnss.txt [deleted file]

diff --git a/Documentation/devicetree/bindings/gnss/gnss-common.yaml b/Documentation/devicetree/bindings/gnss/gnss-common.yaml
new file mode 100644 (file)
index 0000000..963b926
--- /dev/null
@@ -0,0 +1,55 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gnss/gnss-common.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Common Properties for Global Navigation Satellite Systems (GNSS)
+  receiver devices
+
+maintainers:
+  - Johan Hovold <johan@kernel.org>
+
+description: |
+  This document defines device tree properties common to Global Navigation
+  Satellite System receivers.
+
+properties:
+  $nodename:
+    pattern: "^gnss(@.*)?$"
+
+  lna-supply:
+    description: A separate regulator supplying power for the Low Noise
+      Amplifier (LNA). This is an amplifier connected between the GNSS
+      device and the receiver antenna.
+
+  enable-gpios:
+    description: A GPIO line that will enable the GNSS receiver when
+      asserted. If this line is active low, the GPIO phandle should
+      consequently be tagged with the GPIO_ACTIVE_LOW flag so the operating
+      system can rely on asserting the line to enable the GNSS device.
+    maxItems: 1
+
+  timepulse-gpios:
+    description: When a timepulse is provided to the GNSS device using a
+      GPIO line, this is used.
+    maxItems: 1
+
+  current-speed:
+    description: The baudrate in bits per second of the device as it comes
+      online, current active speed.
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+additionalProperties: true
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    serial {
+      gnss {
+        compatible = "u-blox,neo-8";
+        vcc-supply = <&gnss_reg>;
+        timepulse-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
+        current-speed = <4800>;
+      };
+    };
diff --git a/Documentation/devicetree/bindings/gnss/gnss.txt b/Documentation/devicetree/bindings/gnss/gnss.txt
deleted file mode 100644 (file)
index d6dc9c0..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-GNSS Receiver DT binding
-
-This documents the binding structure and common properties for GNSS receiver
-devices.
-
-A GNSS receiver node is a node named "gnss" and typically resides on a serial
-bus (e.g. UART, I2C or SPI).
-
-Please refer to the following documents for generic properties:
-
-       Documentation/devicetree/bindings/serial/serial.yaml
-       Documentation/devicetree/bindings/spi/spi-bus.txt
-
-Required properties:
-
-- compatible   : A string reflecting the vendor and specific device the node
-                 represents
-
-Optional properties:
-- lna-supply   : Separate supply for an LNA
-- enable-gpios : GPIO used to enable the device
-- timepulse-gpios      : Time pulse GPIO
-
-Example:
-
-serial@1234 {
-       compatible = "ns16550a";
-
-       gnss {
-               compatible = "u-blox,neo-8";
-
-               vcc-supply = <&gnss_reg>;
-               timepulse-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
-
-               current-speed = <4800>;
-       };
-};