2022-01-27 23:11:53

by Corentin LABBE

[permalink] [raw]
Subject: [PATCH] dt-bindings: gpio: convert faraday,ftgpio01 to yaml

Converts gpio/faraday,ftgpio010.txt to yaml.

Signed-off-by: Corentin Labbe <[email protected]>
---

This commit will cause arch/arm/boot/dts/moxart-uc7112lx.dts to fail DT validation,
but the GPIO driver need an interrupt so the current moxart DT is incomplete and the error is appropriate.

.../bindings/gpio/faraday,ftgpio010.txt | 27 ---------
.../bindings/gpio/faraday,ftgpio010.yaml | 59 +++++++++++++++++++
2 files changed, 59 insertions(+), 27 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt
create mode 100644 Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml

diff --git a/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt b/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt
deleted file mode 100644
index d04236558619..000000000000
--- a/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-Faraday Technology FTGPIO010 GPIO Controller
-
-Required properties:
-
-- compatible : Should be one of
- "cortina,gemini-gpio", "faraday,ftgpio010"
- "moxa,moxart-gpio", "faraday,ftgpio010"
- "faraday,ftgpio010"
-- reg : Should contain registers location and length
-- interrupts : Should contain the interrupt line for the GPIO block
-- gpio-controller : marks this as a GPIO controller
-- #gpio-cells : Should be 2, see gpio/gpio.txt
-- interrupt-controller : marks this as an interrupt controller
-- #interrupt-cells : a standard two-cell interrupt flag, see
- interrupt-controller/interrupts.txt
-
-Example:
-
-gpio@4d000000 {
- compatible = "cortina,gemini-gpio", "faraday,ftgpio010";
- reg = <0x4d000000 0x100>;
- interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
-};
diff --git a/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml b/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml
new file mode 100644
index 000000000000..dfd10b76c9d5
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml
@@ -0,0 +1,59 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/faraday,ftgpio010.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Faraday Technology FTGPIO010 GPIO Controller
+
+maintainers:
+ - Linus Walleij <[email protected]>
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - const: "cortina,gemini-gpio"
+ - const: "faraday,ftgpio010"
+ - items:
+ - const: "moxa,moxart-gpio"
+ - const: "faraday,ftgpio010"
+ - const: "faraday,ftgpio010"
+ reg:
+ maxItems: 1
+ resets:
+ maxItems: 1
+ clocks:
+ maxItems: 1
+ interrupts:
+ maxItems: 1
+ description: Should contain the interrupt line for the GPIO block
+ gpio-controller: true
+ "#gpio-cells":
+ const: 2
+ interrupt-controller: true
+ "#interrupt-cells":
+ const: 2
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - "#gpio-cells"
+ - interrupt-controller
+ - "#interrupt-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ gpio@4d000000 {
+ compatible = "cortina,gemini-gpio", "faraday,ftgpio010";
+ reg = <0x4d000000 0x100>;
+ interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
--
2.34.1


2022-01-31 22:44:43

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: gpio: convert faraday,ftgpio01 to yaml

On Thu, Jan 27, 2022 at 1:30 PM Corentin Labbe <[email protected]> wrote:

> Converts gpio/faraday,ftgpio010.txt to yaml.
>
> Signed-off-by: Corentin Labbe <[email protected]>
(...)
> This commit will cause arch/arm/boot/dts/moxart-uc7112lx.dts to fail DT validation,
> but the GPIO driver need an interrupt so the current moxart DT is incomplete and the error is appropriate.

The Linux GPIO driver may need it but that does not mean it is necessary
for all other operating systems. (Could be a Linux bug.)

But I think it should be there because the hardware does support it
and I'm pretty sure that IRQ is available on the Moxart as well,
so:
Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

2022-02-02 10:04:27

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: gpio: convert faraday,ftgpio01 to yaml

On Thu, Jan 27, 2022 at 1:30 PM Corentin Labbe <[email protected]> wrote:
>
> Converts gpio/faraday,ftgpio010.txt to yaml.
>
> Signed-off-by: Corentin Labbe <[email protected]>
> ---
>
> This commit will cause arch/arm/boot/dts/moxart-uc7112lx.dts to fail DT validation,
> but the GPIO driver need an interrupt so the current moxart DT is incomplete and the error is appropriate.
>
> .../bindings/gpio/faraday,ftgpio010.txt | 27 ---------
> .../bindings/gpio/faraday,ftgpio010.yaml | 59 +++++++++++++++++++
> 2 files changed, 59 insertions(+), 27 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt
> create mode 100644 Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml
>
> diff --git a/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt b/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt
> deleted file mode 100644
> index d04236558619..000000000000
> --- a/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt
> +++ /dev/null
> @@ -1,27 +0,0 @@
> -Faraday Technology FTGPIO010 GPIO Controller
> -
> -Required properties:
> -
> -- compatible : Should be one of
> - "cortina,gemini-gpio", "faraday,ftgpio010"
> - "moxa,moxart-gpio", "faraday,ftgpio010"
> - "faraday,ftgpio010"
> -- reg : Should contain registers location and length
> -- interrupts : Should contain the interrupt line for the GPIO block
> -- gpio-controller : marks this as a GPIO controller
> -- #gpio-cells : Should be 2, see gpio/gpio.txt
> -- interrupt-controller : marks this as an interrupt controller
> -- #interrupt-cells : a standard two-cell interrupt flag, see
> - interrupt-controller/interrupts.txt
> -
> -Example:
> -
> -gpio@4d000000 {
> - compatible = "cortina,gemini-gpio", "faraday,ftgpio010";
> - reg = <0x4d000000 0x100>;
> - interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
> - gpio-controller;
> - #gpio-cells = <2>;
> - interrupt-controller;
> - #interrupt-cells = <2>;
> -};
> diff --git a/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml b/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml
> new file mode 100644
> index 000000000000..dfd10b76c9d5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml
> @@ -0,0 +1,59 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/faraday,ftgpio010.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Faraday Technology FTGPIO010 GPIO Controller
> +
> +maintainers:
> + - Linus Walleij <[email protected]>
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - const: "cortina,gemini-gpio"
> + - const: "faraday,ftgpio010"
> + - items:
> + - const: "moxa,moxart-gpio"
> + - const: "faraday,ftgpio010"
> + - const: "faraday,ftgpio010"
> + reg:
> + maxItems: 1
> + resets:
> + maxItems: 1
> + clocks:
> + maxItems: 1
> + interrupts:
> + maxItems: 1
> + description: Should contain the interrupt line for the GPIO block
> + gpio-controller: true
> + "#gpio-cells":
> + const: 2
> + interrupt-controller: true
> + "#interrupt-cells":
> + const: 2
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - "#gpio-cells"
> + - interrupt-controller
> + - "#interrupt-cells"
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + gpio@4d000000 {
> + compatible = "cortina,gemini-gpio", "faraday,ftgpio010";
> + reg = <0x4d000000 0x100>;
> + interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + };
> --
> 2.34.1
>

Looks good to me but I'll wait for Rob's ack on that.

Bart

2022-02-09 06:23:30

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: gpio: convert faraday,ftgpio01 to yaml

On Thu, Jan 27, 2022 at 12:30:28PM +0000, Corentin Labbe wrote:
> Converts gpio/faraday,ftgpio010.txt to yaml.
>
> Signed-off-by: Corentin Labbe <[email protected]>
> ---
>
> This commit will cause arch/arm/boot/dts/moxart-uc7112lx.dts to fail DT validation,
> but the GPIO driver need an interrupt so the current moxart DT is incomplete and the error is appropriate.
>
> .../bindings/gpio/faraday,ftgpio010.txt | 27 ---------
> .../bindings/gpio/faraday,ftgpio010.yaml | 59 +++++++++++++++++++
> 2 files changed, 59 insertions(+), 27 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt
> create mode 100644 Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml
>
> diff --git a/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt b/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt
> deleted file mode 100644
> index d04236558619..000000000000
> --- a/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.txt
> +++ /dev/null
> @@ -1,27 +0,0 @@
> -Faraday Technology FTGPIO010 GPIO Controller
> -
> -Required properties:
> -
> -- compatible : Should be one of
> - "cortina,gemini-gpio", "faraday,ftgpio010"
> - "moxa,moxart-gpio", "faraday,ftgpio010"
> - "faraday,ftgpio010"
> -- reg : Should contain registers location and length
> -- interrupts : Should contain the interrupt line for the GPIO block
> -- gpio-controller : marks this as a GPIO controller
> -- #gpio-cells : Should be 2, see gpio/gpio.txt
> -- interrupt-controller : marks this as an interrupt controller
> -- #interrupt-cells : a standard two-cell interrupt flag, see
> - interrupt-controller/interrupts.txt
> -
> -Example:
> -
> -gpio@4d000000 {
> - compatible = "cortina,gemini-gpio", "faraday,ftgpio010";
> - reg = <0x4d000000 0x100>;
> - interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
> - gpio-controller;
> - #gpio-cells = <2>;
> - interrupt-controller;
> - #interrupt-cells = <2>;
> -};
> diff --git a/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml b/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml
> new file mode 100644
> index 000000000000..dfd10b76c9d5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/faraday,ftgpio010.yaml
> @@ -0,0 +1,59 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/faraday,ftgpio010.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Faraday Technology FTGPIO010 GPIO Controller
> +
> +maintainers:
> + - Linus Walleij <[email protected]>
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - const: "cortina,gemini-gpio"
> + - const: "faraday,ftgpio010"
> + - items:
> + - const: "moxa,moxart-gpio"
> + - const: "faraday,ftgpio010"
> + - const: "faraday,ftgpio010"

Don't need quotes.

> + reg:
> + maxItems: 1

blank line between DT properties

With those fixes,

Reviewed-by: Rob Herring <[email protected]>

> + resets:
> + maxItems: 1
> + clocks:
> + maxItems: 1
> + interrupts:
> + maxItems: 1
> + description: Should contain the interrupt line for the GPIO block
> + gpio-controller: true
> + "#gpio-cells":
> + const: 2
> + interrupt-controller: true
> + "#interrupt-cells":
> + const: 2
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - "#gpio-cells"
> + - interrupt-controller
> + - "#interrupt-cells"
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + gpio@4d000000 {
> + compatible = "cortina,gemini-gpio", "faraday,ftgpio010";
> + reg = <0x4d000000 0x100>;
> + interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + };
> --
> 2.34.1
>
>