Commit dba52960 authored by Linus Walleij's avatar Linus Walleij Committed by Rob Herring
Browse files

dt-bindings: gnss: Rewrite common bindings in YAML



This rewrites the text-based GNSS common bindings to use
a YAML schema.

Cc: devicetree@vger.kernel.org
Reviewed-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220317225844.1262643-1-linus.walleij@linaro.org
parent 593adaa6
Loading
Loading
Loading
Loading
+55 −0
Original line number Diff line number Diff line
# 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>;
      };
    };
+0 −37
Original line number Diff line number Diff line
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>;
	};
};