Message ID | 20201201181406.2371881-2-nobuhiro1.iwamatsu@toshiba.co.jp (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | gpio: visconti: Add Toshiba Visconti GPIO support | expand |
Iwamatsu-san, Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> writes: > Add bindings for the Toshiba Visconti GPIO Controller. > > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > --- > .../bindings/gpio/toshiba,gpio-visconti.yaml | 85 +++++++++++++++++++ > 1 file changed, 85 insertions(+) > create mode 100644 Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml > > diff --git a/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml b/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml > new file mode 100644 > index 000000000000..5168a15b90e1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml > @@ -0,0 +1,85 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/gpio/toshiba,gpio-visconti.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Toshiba Visconti ARM SoCs GPIO controller > + > +maintainers: > + - Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > + > +properties: > + compatible: > + items: > + - const: toshiba,gpio-tmpv7708 > + > + reg: > + maxItems: 1 > + > + "#gpio-cells": > + const: 2 > + > + gpio-ranges: true I am not sure I have a good handle on the yaml schema definitions but "gpio-ranges" feels like it should be a list of ranges not a boolean. Something like - gpio-ranges: maxItems: 1 feels more appropriate. I see both the usages in gpio bindings and for other range properties so maybe it's OK. I hope Rob or somebody more knowledgeable on this can clarify the usage. Otherwise, the patch looks good. Thanks, Punit > + > + gpio-controller: true > + > + interrupt-controller: true > + > + "#interrupt-cells": > + const: 2 > + > + interrupts: > + description: > + interrupt mapping one per GPIO. > + minItems: 16 > + maxItems: 16 > + > +required: > + - compatible > + - reg > + - "#gpio-cells" > + - gpio-ranges > + - gpio-controller > + - interrupt-controller > + - "#interrupt-cells" > + - interrupts > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + soc { > + #address-cells = <2>; > + #size-cells = <2>; > + > + gpio: gpio@28020000 { > + compatible = "toshiba,gpio-tmpv7708"; > + reg = <0 0x28020000 0 0x1000>; > + #gpio-cells = <0x2>; > + gpio-ranges = <&pmux 0 0 32>; > + gpio-controller; > + interrupt-controller; > + #interrupt-cells = <2>; > + interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; > + }; > + }; > +...
On Thu, Dec 03, 2020 at 05:16:51PM +0900, Punit Agrawal wrote: > Iwamatsu-san, > > Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> writes: > > > Add bindings for the Toshiba Visconti GPIO Controller. > > > > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > > --- > > .../bindings/gpio/toshiba,gpio-visconti.yaml | 85 +++++++++++++++++++ > > 1 file changed, 85 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml > > > > diff --git a/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml b/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml > > new file mode 100644 > > index 000000000000..5168a15b90e1 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml > > @@ -0,0 +1,85 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/gpio/toshiba,gpio-visconti.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Toshiba Visconti ARM SoCs GPIO controller > > + > > +maintainers: > > + - Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > > + > > +properties: > > + compatible: > > + items: > > + - const: toshiba,gpio-tmpv7708 > > + > > + reg: > > + maxItems: 1 > > + > > + "#gpio-cells": > > + const: 2 > > + > > + gpio-ranges: true > > I am not sure I have a good handle on the yaml schema definitions but > "gpio-ranges" feels like it should be a list of ranges not a boolean. > > Something like - > > gpio-ranges: > maxItems: 1 > > feels more appropriate. > > I see both the usages in gpio bindings and for other range properties so > maybe it's OK. I hope Rob or somebody more knowledgeable on this can > clarify the usage. If you know how many (or a range) entries there are for gpio-ranges, then maxItems is good. If you don't, then 'gpio-ranges: true' is fine. That doesn't make the property a boolean, but just says the property can be present. Rob
On Wed, 02 Dec 2020 03:14:03 +0900, Nobuhiro Iwamatsu wrote: > Add bindings for the Toshiba Visconti GPIO Controller. > > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > --- > .../bindings/gpio/toshiba,gpio-visconti.yaml | 85 +++++++++++++++++++ > 1 file changed, 85 insertions(+) > create mode 100644 Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml > Reviewed-by: Rob Herring <robh@kernel.org>
Rob Herring <robh@kernel.org> writes: [...] >> > + gpio-ranges: true >> >> I am not sure I have a good handle on the yaml schema definitions but >> "gpio-ranges" feels like it should be a list of ranges not a boolean. >> >> Something like - >> >> gpio-ranges: >> maxItems: 1 >> >> feels more appropriate. >> >> I see both the usages in gpio bindings and for other range properties so >> maybe it's OK. I hope Rob or somebody more knowledgeable on this can >> clarify the usage. > > If you know how many (or a range) entries there are for gpio-ranges, > then maxItems is good. If you don't, then 'gpio-ranges: true' is fine. > That doesn't make the property a boolean, but just says the property can > be present. Makes sense. Thanks for the explanation. [...]
Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> writes: > Add bindings for the Toshiba Visconti GPIO Controller. > > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > --- > .../bindings/gpio/toshiba,gpio-visconti.yaml | 85 +++++++++++++++++++ > 1 file changed, 85 insertions(+) > create mode 100644 Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml > > diff --git a/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml b/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml > new file mode 100644 > index 000000000000..5168a15b90e1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml > @@ -0,0 +1,85 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/gpio/toshiba,gpio-visconti.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Toshiba Visconti ARM SoCs GPIO controller > + > +maintainers: > + - Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > + > +properties: > + compatible: > + items: > + - const: toshiba,gpio-tmpv7708 > + > + reg: > + maxItems: 1 > + > + "#gpio-cells": > + const: 2 > + > + gpio-ranges: true > + > + gpio-controller: true > + > + interrupt-controller: true > + > + "#interrupt-cells": > + const: 2 > + > + interrupts: > + description: > + interrupt mapping one per GPIO. > + minItems: 16 > + maxItems: 16 > + > +required: > + - compatible > + - reg > + - "#gpio-cells" > + - gpio-ranges > + - gpio-controller > + - interrupt-controller > + - "#interrupt-cells" > + - interrupts > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + soc { > + #address-cells = <2>; > + #size-cells = <2>; > + > + gpio: gpio@28020000 { > + compatible = "toshiba,gpio-tmpv7708"; > + reg = <0 0x28020000 0 0x1000>; > + #gpio-cells = <0x2>; > + gpio-ranges = <&pmux 0 0 32>; > + gpio-controller; > + interrupt-controller; > + #interrupt-cells = <2>; > + interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; > + }; > + }; > +... FWIW, Reviewed-by: Punit Agrawal <punit1.agrawal@toshiba.co.jp> Thanks, Punit
diff --git a/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml b/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml new file mode 100644 index 000000000000..5168a15b90e1 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml @@ -0,0 +1,85 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/gpio/toshiba,gpio-visconti.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Toshiba Visconti ARM SoCs GPIO controller + +maintainers: + - Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> + +properties: + compatible: + items: + - const: toshiba,gpio-tmpv7708 + + reg: + maxItems: 1 + + "#gpio-cells": + const: 2 + + gpio-ranges: true + + gpio-controller: true + + interrupt-controller: true + + "#interrupt-cells": + const: 2 + + interrupts: + description: + interrupt mapping one per GPIO. + minItems: 16 + maxItems: 16 + +required: + - compatible + - reg + - "#gpio-cells" + - gpio-ranges + - gpio-controller + - interrupt-controller + - "#interrupt-cells" + - interrupts + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + soc { + #address-cells = <2>; + #size-cells = <2>; + + gpio: gpio@28020000 { + compatible = "toshiba,gpio-tmpv7708"; + reg = <0 0x28020000 0 0x1000>; + #gpio-cells = <0x2>; + gpio-ranges = <&pmux 0 0 32>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; + }; + }; +...
Add bindings for the Toshiba Visconti GPIO Controller. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> --- .../bindings/gpio/toshiba,gpio-visconti.yaml | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml