diff mbox series

[1/4] dt-bindings: gnss: Rewrite common bindings in YAML

Message ID 20220311235119.523374-1-linus.walleij@linaro.org
State Superseded
Headers show
Series [1/4] dt-bindings: gnss: Rewrite common bindings in YAML | expand

Commit Message

Linus Walleij March 11, 2022, 11:51 p.m. UTC
This rewrites the text-based GNSS common bindings to use
a YAML schema.

Cc: devicetree@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 .../devicetree/bindings/gnss/gnss-common.yaml | 55 +++++++++++++++++++
 .../devicetree/bindings/gnss/gnss.txt         | 37 -------------
 2 files changed, 55 insertions(+), 37 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gnss/gnss-common.yaml
 delete mode 100644 Documentation/devicetree/bindings/gnss/gnss.txt

Comments

Krzysztof Kozlowski March 12, 2022, 11:41 a.m. UTC | #1
On 12/03/2022 00:51, Linus Walleij wrote:
> This modifies the existing U-Blox GNSS bindings to reference
> the common GNSS YAML bindings.
> 
> Fixed an unrelated whitespace error while at it.
> 
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  .../devicetree/bindings/gnss/u-blox,neo-6m.yaml        | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
> index 396101a223e7..5dffe722777f 100644
> --- a/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
> +++ b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
> @@ -6,6 +6,9 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
>  
>  title: U-blox GNSS Receiver Device Tree Bindings
>  
> +allOf:
> +  - $ref: gnss-common.yaml#
> +
>  maintainers:
>    - Johan Hovold <johan@kernel.org>
>  
> @@ -29,16 +32,13 @@ properties:
>      description: >
>        Main voltage regulator
>  
> -  timepulse-gpios:
> -    maxItems: 1
> -    description: >
> -      Time pulse GPIO
> +  timepulse-gpios: true
>  
>    u-blox,extint-gpios:
>      maxItems: 1
>      description: >
>        GPIO connected to the "external interrupt" input pin
> -  
> +
>    v-bckp-supply:
>      description: >
>        Backup voltage regulator

I propose to change additionalProperties->unevaluatedProperties and
remove current-speed and timepulse-gpios. This way also new properties
from gnss-common can be easily used.

Best regards,
Krzysztof
Linus Walleij March 17, 2022, 5:54 p.m. UTC | #2
On Sat, Mar 12, 2022 at 12:39 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:

> >  .../devicetree/bindings/gnss/gnss-common.yaml | 55 +++++++++++++++++++
> >  .../devicetree/bindings/gnss/gnss.txt         | 37 -------------
>
> I see you're updating later sirfstar.txt, but you also have mediatek.txt
> referencing old txt file.

You're right, why leave one off. I'll just convert that binding to YAML
as well and be done with it.

Thanks!
Linus Walleij
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/gnss/gnss-common.yaml b/Documentation/devicetree/bindings/gnss/gnss-common.yaml
new file mode 100644
index 000000000000..963b926e30a7
--- /dev/null
+++ b/Documentation/devicetree/bindings/gnss/gnss-common.yaml
@@ -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
index d6dc9c0d8249..000000000000
--- a/Documentation/devicetree/bindings/gnss/gnss.txt
+++ /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>;
-	};
-};