Add a binding description for the MStar/SigmaStar GPIO controller
found in the MSC313 and later ARMv7 SoCs.
Signed-off-by: Daniel Palmer <[email protected]>
---
.../bindings/gpio/mstar,msc313-gpio.yaml | 61 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 62 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml
diff --git a/Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml b/Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml
new file mode 100644
index 000000000000..8c69153ac27e
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml
@@ -0,0 +1,61 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/mstar,msc313-gpio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MStar/SigmaStar GPIO controller
+
+maintainers:
+ - Daniel Palmer <[email protected]>
+
+properties:
+ $nodename:
+ pattern: "^gpio@[0-9a-f]+$"
+
+ compatible:
+ const: mstar,msc313-gpio
+
+ reg:
+ maxItems: 1
+
+ gpio-controller: true
+
+ "#gpio-cells":
+ const: 2
+
+ gpio-ranges: true
+
+ gpio-ranges-group-names:
+ $ref: /schemas/types.yaml#/definitions/string-array
+
+ interrupt-controller: true
+
+ "#interrupt-cells":
+ const: 2
+
+required:
+ - compatible
+ - reg
+ - gpio-controller
+ - "#gpio-cells"
+ - interrupt-controller
+ - "#interrupt-cells"
+
+examples:
+ - |
+ #include <dt-bindings/gpio/msc313-gpio.h>
+
+ gpio: gpio@207800 {
+ compatible = "mstar,msc313e-gpio";
+ #gpio-cells = <2>;
+ reg = <0x207800 0x200>;
+ gpio-controller;
+ gpio-ranges = <&pinctrl 0 36 22>,
+ <&pinctrl 22 63 4>,
+ <&pinctrl 26 68 6>;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&intc_fiq>;
+ status = "okay";
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index a188fae8c04e..102aedca81dc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2130,6 +2130,7 @@ L: [email protected] (moderated for non-subscribers)
S: Maintained
W: http://linux-chenxing.org/
F: Documentation/devicetree/bindings/arm/mstar/*
+F: Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml
F: arch/arm/boot/dts/mstar-*
F: arch/arm/mach-mstar/
F: include/dt-bindings/gpio/msc313-gpio.h
--
2.28.0
On Mon, Oct 19, 2020 at 11:10:05PM +0900, Daniel Palmer wrote:
> Add a binding description for the MStar/SigmaStar GPIO controller
> found in the MSC313 and later ARMv7 SoCs.
>
> Signed-off-by: Daniel Palmer <[email protected]>
> ---
> .../bindings/gpio/mstar,msc313-gpio.yaml | 61 +++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 62 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml
>
> diff --git a/Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml b/Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml
> new file mode 100644
> index 000000000000..8c69153ac27e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml
> @@ -0,0 +1,61 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/mstar,msc313-gpio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MStar/SigmaStar GPIO controller
> +
> +maintainers:
> + - Daniel Palmer <[email protected]>
> +
> +properties:
> + $nodename:
> + pattern: "^gpio@[0-9a-f]+$"
> +
> + compatible:
> + const: mstar,msc313-gpio
> +
> + reg:
> + maxItems: 1
> +
> + gpio-controller: true
> +
> + "#gpio-cells":
> + const: 2
> +
> + gpio-ranges: true
> +
> + gpio-ranges-group-names:
> + $ref: /schemas/types.yaml#/definitions/string-array
The strings in your header should be defined here.
> +
> + interrupt-controller: true
> +
> + "#interrupt-cells":
> + const: 2
> +
> +required:
> + - compatible
> + - reg
> + - gpio-controller
> + - "#gpio-cells"
> + - interrupt-controller
> + - "#interrupt-cells"
additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/msc313-gpio.h>
> +
> + gpio: gpio@207800 {
> + compatible = "mstar,msc313e-gpio";
> + #gpio-cells = <2>;
> + reg = <0x207800 0x200>;
> + gpio-controller;
> + gpio-ranges = <&pinctrl 0 36 22>,
> + <&pinctrl 22 63 4>,
> + <&pinctrl 26 68 6>;
> + #interrupt-cells = <2>;
> + interrupt-controller;
> + interrupt-parent = <&intc_fiq>;
> + status = "okay";
Don't show status in examples.
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a188fae8c04e..102aedca81dc 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2130,6 +2130,7 @@ L: [email protected] (moderated for non-subscribers)
> S: Maintained
> W: http://linux-chenxing.org/
> F: Documentation/devicetree/bindings/arm/mstar/*
> +F: Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml
> F: arch/arm/boot/dts/mstar-*
> F: arch/arm/mach-mstar/
> F: include/dt-bindings/gpio/msc313-gpio.h
> --
> 2.28.0
>