Re: [PATCH 4/4] dt-bindings: sc16is7xx: convert to YAML

From: Rob Herring
Date: Thu Sep 21 2023 - 16:23:26 EST


On Wed, Sep 20, 2023 at 11:20:15AM -0400, Hugo Villeneuve wrote:
> From: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
>
> Convert binding from text format to YAML.
>
> Additions to original text binding:
> - add rs485 reference.
>
> Signed-off-by: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
> ---
> .../bindings/serial/nxp,sc16is7xx.txt | 118 ----------------
> .../bindings/serial/nxp,sc16is7xx.yaml | 126 ++++++++++++++++++
> 2 files changed, 126 insertions(+), 118 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt
> create mode 100644 Documentation/devicetree/bindings/serial/nxp,sc16is7xx.yaml
>
> diff --git a/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt
> deleted file mode 100644
> index d89815c5c562..000000000000
> --- a/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt
> +++ /dev/null
> @@ -1,118 +0,0 @@
> -* NXP SC16IS7xx advanced Universal Asynchronous Receiver-Transmitter (UART)
> -* i2c as bus
> -
> -Required properties:
> -- compatible: Should be one of the following:
> - - "nxp,sc16is740" for NXP SC16IS740,
> - - "nxp,sc16is741" for NXP SC16IS741,
> - - "nxp,sc16is750" for NXP SC16IS750,
> - - "nxp,sc16is752" for NXP SC16IS752,
> - - "nxp,sc16is760" for NXP SC16IS760,
> - - "nxp,sc16is762" for NXP SC16IS762.
> -- reg: I2C address of the SC16IS7xx device.
> -- interrupts: Should contain the UART interrupt
> -- clocks: Reference to the IC source clock.
> - OR (when there is no clock provider visible to the platform)
> -- clock-frequency: The source clock frequency for the IC.
> -
> -Optional properties:
> -- gpio-controller: Marks the device node as a GPIO controller.
> -- #gpio-cells: Should be two. The first cell is the GPIO number and
> - the second cell is used to specify the GPIO polarity:
> - 0 = active high,
> - 1 = active low.
> -- nxp,irda-mode-ports: An array that lists the indices of the port that
> - should operate in IrDA mode.
> -- nxp,modem-control-line-ports: An array that lists the indices of the port that
> - should have shared GPIO lines configured as
> - modem control lines.
> -
> -Example:
> - sc16is750: sc16is750@51 {
> - compatible = "nxp,sc16is750";
> - reg = <0x51>;
> - clocks = <&clk20m>;
> - interrupt-parent = <&gpio3>;
> - interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
> - gpio-controller;
> - #gpio-cells = <2>;
> - };
> -
> - sc16is752: sc16is752@53 {
> - compatible = "nxp,sc16is752";
> - reg = <0x53>;
> - clocks = <&clk20m>;
> - interrupt-parent = <&gpio3>;
> - interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
> - nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */
> - gpio-controller; /* Port 0 as GPIOs */
> - #gpio-cells = <2>;
> - };
> -
> - sc16is752: sc16is752@54 {
> - compatible = "nxp,sc16is752";
> - reg = <0x54>;
> - clocks = <&clk20m>;
> - interrupt-parent = <&gpio3>;
> - interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
> - nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */
> - };
> -
> -* spi as bus
> -
> -Required properties:
> -- compatible: Should be one of the following:
> - - "nxp,sc16is740" for NXP SC16IS740,
> - - "nxp,sc16is741" for NXP SC16IS741,
> - - "nxp,sc16is750" for NXP SC16IS750,
> - - "nxp,sc16is752" for NXP SC16IS752,
> - - "nxp,sc16is760" for NXP SC16IS760,
> - - "nxp,sc16is762" for NXP SC16IS762.
> -- reg: SPI chip select number.
> -- interrupts: Specifies the interrupt source of the parent interrupt
> - controller. The format of the interrupt specifier depends on the
> - parent interrupt controller.
> -- clocks: phandle to the IC source clock.
> -
> -Optional properties:
> -- gpio-controller: Marks the device node as a GPIO controller.
> -- #gpio-cells: Should be two. The first cell is the GPIO number and
> - the second cell is used to specify the GPIO polarity:
> - 0 = active high,
> - 1 = active low.
> -- nxp,irda-mode-ports: An array that lists the indices of the port that
> - should operate in IrDA mode.
> -- nxp,modem-control-line-ports: An array that lists the indices of the port that
> - should have shared GPIO lines configured as
> - modem control lines.
> -
> -Example:
> - sc16is750: sc16is750@0 {
> - compatible = "nxp,sc16is750";
> - reg = <0>;
> - clocks = <&clk20m>;
> - interrupt-parent = <&gpio3>;
> - interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
> - gpio-controller;
> - #gpio-cells = <2>;
> - };
> -
> - sc16is752: sc16is752@1 {
> - compatible = "nxp,sc16is752";
> - reg = <1>;
> - clocks = <&clk20m>;
> - interrupt-parent = <&gpio3>;
> - interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
> - nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */
> - gpio-controller; /* Port 0 as GPIOs */
> - #gpio-cells = <2>;
> - };
> -
> - sc16is752: sc16is752@2 {
> - compatible = "nxp,sc16is752";
> - reg = <2>;
> - clocks = <&clk20m>;
> - interrupt-parent = <&gpio3>;
> - interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
> - nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */
> - };
> diff --git a/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.yaml b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.yaml
> new file mode 100644
> index 000000000000..508639e09e06
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.yaml
> @@ -0,0 +1,126 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/serial/nxp,sc16is7xx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP SC16IS7xx advanced Universal Asynchronous Receiver-Transmitter (UART)
> +
> +maintainers:
> + - Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
> +
> +properties:
> + compatible:
> + enum:
> + - nxp,sc16is740
> + - nxp,sc16is741
> + - nxp,sc16is750
> + - nxp,sc16is752
> + - nxp,sc16is760
> + - nxp,sc16is762
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> + description: Reference to the IC source clock.
> +
> + clock-frequency:
> + description: |
> + When there is no clock provider visible to the platform, this
> + is the source crystal or external clock frequency for the IC in Hz.
> + $ref: /schemas/types.yaml#/definitions/uint32

Don't need a type here. 'clock-frequency' is already defined.

> + minimum: 1
> + maximum: 80000000
> +
> + gpio-controller:
> + description: Marks the device node as a GPIO controller.
> + type: boolean

Just:

gpio-controller: true