diff mbox series

[v2,2/2] dt-bindings: gpio: Add devicetree binding for IDT 79RC3243x GPIO controller

Message ID 20210421162026.41978-2-tsbogend@alpha.franken.de
State New
Headers show
Series [v2,1/2] gpio: Add support for IDT 79RC3243x GPIO controller | expand

Commit Message

Thomas Bogendoerfer April 21, 2021, 4:20 p.m. UTC
Add YAML devicetree binding for IDT 79RC3243x GPIO controller

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
---
 .../bindings/gpio/gpio-idt3243x.yaml          | 73 +++++++++++++++++++
 1 file changed, 73 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml

Comments

Rob Herring April 21, 2021, 5:17 p.m. UTC | #1
On Wed, Apr 21, 2021 at 06:20:26PM +0200, Thomas Bogendoerfer wrote:
> Add YAML devicetree binding for IDT 79RC3243x GPIO controller
> 
> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> ---
>  .../bindings/gpio/gpio-idt3243x.yaml          | 73 +++++++++++++++++++

Use compatible string for filename.

>  1 file changed, 73 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml
> 
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml b/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml
> new file mode 100644
> index 000000000000..346a57ef8298
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml
> @@ -0,0 +1,73 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/gpio-idt3243x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: IDT 79RC32434x GPIO controller
> +
> +maintainers:
> +  - Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> +
> +properties:
> +  compatible:
> +    const: idt,3243x-gpio

What's the 'x'? Generally, we don't do wildcards for compatible strings.

> +
> +  reg:
> +    maxItems: 2
> +
> +  reg-names:
> +    items:
> +      - const: gpio
> +      - const: pic
> +
> +  gpio-controller: true
> +
> +  "#gpio-cells":
> +    const: 2
> +
> +  ngpios:
> +    description:
> +      Number of available gpios in a bank.

That's every 'ngpios'. Drop.

> +    minimum: 1
> +    maximum: 32
> +
> +  interrupt-controller: true
> +
> +  "#interrupt-cells":
> +    const: 2
> +
> +  interrupts:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - reg-names
> +  - gpio-controller
> +  - "#gpio-cells"
> +  - ngpios
> +  - interrupt-controller
> +  - "#interrupt-cells"
> +  - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    gpio0: interrupt-controller@50000 {

gpio@...

As generally it's primarily a GPIO controller and secondarily an 
interrupt controller.

> +        compatible = "idt,3243x-gpio";
> +        reg = <0x50000 0x14>, <0x38030 0x0c>;
> +        reg-names = "gpio", "pic";
> +
> +        interrupt-controller;
> +        #interrupt-cells = <2>;
> +
> +        interrupt-parent = <&cpuintc>;
> +        interrupts = <6>;
> +
> +        gpio-controller;
> +        #gpio-cells = <2>;
> +
> +        ngpios = <14>;
> +    };
> -- 
> 2.29.2
>
Thomas Bogendoerfer April 21, 2021, 5:39 p.m. UTC | #2
On Wed, Apr 21, 2021 at 12:17:27PM -0500, Rob Herring wrote:
> On Wed, Apr 21, 2021 at 06:20:26PM +0200, Thomas Bogendoerfer wrote:
> > Add YAML devicetree binding for IDT 79RC3243x GPIO controller
> > 
> > Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> > ---
> >  .../bindings/gpio/gpio-idt3243x.yaml          | 73 +++++++++++++++++++
> 
> Use compatible string for filename.

ok

> >  1 file changed, 73 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml b/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml
> > new file mode 100644
> > index 000000000000..346a57ef8298
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml
> > @@ -0,0 +1,73 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/gpio/gpio-idt3243x.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: IDT 79RC32434x GPIO controller
> > +
> > +maintainers:
> > +  - Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> > +
> > +properties:
> > +  compatible:
> > +    const: idt,3243x-gpio
> 
> What's the 'x'? Generally, we don't do wildcards for compatible strings.

there are 3 different SoCs 79rc32434, 79rc32435 and 79rc32438. So should
I add 3 compatible strings and use the first as filename ?

> > +  ngpios:
> > +    description:
> > +      Number of available gpios in a bank.
> 
> That's every 'ngpios'. Drop.

ok.

> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    gpio0: interrupt-controller@50000 {
> 
> gpio@...
> 
> As generally it's primarily a GPIO controller and secondarily an 
> interrupt controller.

ok.

Thomas.
Rob Herring April 22, 2021, 1:45 p.m. UTC | #3
On Wed, Apr 21, 2021 at 12:40 PM Thomas Bogendoerfer
<tsbogend@alpha.franken.de> wrote:
>
> On Wed, Apr 21, 2021 at 12:17:27PM -0500, Rob Herring wrote:
> > On Wed, Apr 21, 2021 at 06:20:26PM +0200, Thomas Bogendoerfer wrote:
> > > Add YAML devicetree binding for IDT 79RC3243x GPIO controller
> > >
> > > Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> > > ---
> > >  .../bindings/gpio/gpio-idt3243x.yaml          | 73 +++++++++++++++++++
> >
> > Use compatible string for filename.
>
> ok
>
> > >  1 file changed, 73 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml b/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml
> > > new file mode 100644
> > > index 000000000000..346a57ef8298
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml
> > > @@ -0,0 +1,73 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/gpio/gpio-idt3243x.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: IDT 79RC32434x GPIO controller
> > > +
> > > +maintainers:
> > > +  - Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> > > +
> > > +properties:
> > > +  compatible:
> > > +    const: idt,3243x-gpio
> >
> > What's the 'x'? Generally, we don't do wildcards for compatible strings.
>
> there are 3 different SoCs 79rc32434, 79rc32435 and 79rc32438. So should
> I add 3 compatible strings and use the first as filename ?

Kind of depends on the differences. If it is just fuse or packaging
differences between them, then probably okay to use the same
compatible. If the block is maybe the same, but not certain, then then
you can make the oldest a fallback (e.g. compatible =
"idt,32435-gpio", "idt,32434-gpio").

Either the first/oldest or a wildcard is fine for the filename.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml b/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml
new file mode 100644
index 000000000000..346a57ef8298
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-idt3243x.yaml
@@ -0,0 +1,73 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/gpio-idt3243x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: IDT 79RC32434x GPIO controller
+
+maintainers:
+  - Thomas Bogendoerfer <tsbogend@alpha.franken.de>
+
+properties:
+  compatible:
+    const: idt,3243x-gpio
+
+  reg:
+    maxItems: 2
+
+  reg-names:
+    items:
+      - const: gpio
+      - const: pic
+
+  gpio-controller: true
+
+  "#gpio-cells":
+    const: 2
+
+  ngpios:
+    description:
+      Number of available gpios in a bank.
+    minimum: 1
+    maximum: 32
+
+  interrupt-controller: true
+
+  "#interrupt-cells":
+    const: 2
+
+  interrupts:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - gpio-controller
+  - "#gpio-cells"
+  - ngpios
+  - interrupt-controller
+  - "#interrupt-cells"
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+    gpio0: interrupt-controller@50000 {
+        compatible = "idt,3243x-gpio";
+        reg = <0x50000 0x14>, <0x38030 0x0c>;
+        reg-names = "gpio", "pic";
+
+        interrupt-controller;
+        #interrupt-cells = <2>;
+
+        interrupt-parent = <&cpuintc>;
+        interrupts = <6>;
+
+        gpio-controller;
+        #gpio-cells = <2>;
+
+        ngpios = <14>;
+    };