2022-03-17 00:29:28

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH] dt-bindings: gpio: add common consumer GPIO lines

Typical GPIO lines like enable, powerdown, reset or wakeup are not
documented as common, which leads to new variations of these (e.g.
pwdn-gpios). Add a common schema which serves also as a documentation
for preferred naming.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
.../bindings/gpio/gpio-consumer-common.yaml | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml

diff --git a/Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml b/Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml
new file mode 100644
index 000000000000..098dc913f9e5
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml
@@ -0,0 +1,36 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/gpio-consumer-common.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Common GPIO lines
+
+maintainers:
+ - Bartosz Golaszewski <[email protected]>
+ - Linus Walleij <[email protected]>
+
+# do not select this schema for GPIO hogs
+select:
+ properties:
+ gpio-hog: false
+
+properties:
+ enable-gpios:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+
+ reset-gpios:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+
+ powerdown-gpios:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+
+ pwdn-gpios:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description: Use powerdown-gpios
+ deprecated: true
+
+ wakeup-gpios:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+
+additionalProperties: true
--
2.32.0


2022-03-21 21:38:08

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: gpio: add common consumer GPIO lines

On Tue, Mar 15, 2022 at 09:37:23AM +0100, Krzysztof Kozlowski wrote:
> Typical GPIO lines like enable, powerdown, reset or wakeup are not
> documented as common, which leads to new variations of these (e.g.
> pwdn-gpios). Add a common schema which serves also as a documentation
> for preferred naming.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../bindings/gpio/gpio-consumer-common.yaml | 36 +++++++++++++++++++
> 1 file changed, 36 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml
>
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml b/Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml
> new file mode 100644
> index 000000000000..098dc913f9e5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml
> @@ -0,0 +1,36 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/gpio-consumer-common.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Common GPIO lines
> +
> +maintainers:
> + - Bartosz Golaszewski <[email protected]>
> + - Linus Walleij <[email protected]>
> +
> +# do not select this schema for GPIO hogs
> +select:
> + properties:
> + gpio-hog: false

'select: true' should be sufficient here.

> +
> +properties:
> + enable-gpios:
> + $ref: /schemas/types.yaml#/definitions/phandle-array

Perhaps some sort of description on these.

I think these are always a single line, so 'maxItems: 1'.

> +
> + reset-gpios:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> +
> + powerdown-gpios:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> +
> + pwdn-gpios:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> + description: Use powerdown-gpios
> + deprecated: true
> +
> + wakeup-gpios:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> +
> +additionalProperties: true
> --
> 2.32.0
>
>

2022-03-23 17:35:01

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: gpio: add common consumer GPIO lines

On 21/03/2022 19:20, Rob Herring wrote:
> On Tue, Mar 15, 2022 at 09:37:23AM +0100, Krzysztof Kozlowski wrote:
>> Typical GPIO lines like enable, powerdown, reset or wakeup are not
>> documented as common, which leads to new variations of these (e.g.
>> pwdn-gpios). Add a common schema which serves also as a documentation
>> for preferred naming.
>>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>> ---
>> .../bindings/gpio/gpio-consumer-common.yaml | 36 +++++++++++++++++++
>> 1 file changed, 36 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml b/Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml
>> new file mode 100644
>> index 000000000000..098dc913f9e5
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml
>> @@ -0,0 +1,36 @@
>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/gpio/gpio-consumer-common.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Common GPIO lines
>> +
>> +maintainers:
>> + - Bartosz Golaszewski <[email protected]>
>> + - Linus Walleij <[email protected]>
>> +
>> +# do not select this schema for GPIO hogs
>> +select:
>> + properties:
>> + gpio-hog: false
>
> 'select: true' should be sufficient here.
>
>> +
>> +properties:
>> + enable-gpios:
>> + $ref: /schemas/types.yaml#/definitions/phandle-array
>
> Perhaps some sort of description on these.
>
> I think these are always a single line, so 'maxItems: 1'.

I assume you meant all other as well (so reset-gpios, powerdown-gpios) -
also with maxItems:1.

I'll fix it.


Best regards,
Krzysztof

2022-03-26 01:08:35

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: gpio: add common consumer GPIO lines

On Tue, Mar 15, 2022 at 9:37 AM Krzysztof Kozlowski
<[email protected]> wrote:

> Typical GPIO lines like enable, powerdown, reset or wakeup are not
> documented as common, which leads to new variations of these (e.g.
> pwdn-gpios). Add a common schema which serves also as a documentation
> for preferred naming.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>

I like the idea!

> + enable-gpios:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> +
> + reset-gpios:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> +
> + powerdown-gpios:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> +
> + pwdn-gpios:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> + description: Use powerdown-gpios
> + deprecated: true
> +
> + wakeup-gpios:
> + $ref: /schemas/types.yaml#/definitions/phandle-array

I would underscore either on each one or in a global description:
that lines on components that indicate they are active low
such as RESETN, RESET* etc MUST have the flag in the
second cell set to GPIO_ACTIVE_LOW.

Yours,
Linus Walleij

2022-03-26 09:38:31

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: gpio: add common consumer GPIO lines

On Sat, 26 Mar 2022 at 01:28, Linus Walleij <[email protected]> wrote:
>
> On Tue, Mar 15, 2022 at 9:37 AM Krzysztof Kozlowski
> <[email protected]> wrote:
>
> > Typical GPIO lines like enable, powerdown, reset or wakeup are not
> > documented as common, which leads to new variations of these (e.g.
> > pwdn-gpios). Add a common schema which serves also as a documentation
> > for preferred naming.
> >
> > Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> I like the idea!
>
> > + enable-gpios:
> > + $ref: /schemas/types.yaml#/definitions/phandle-array
> > +
> > + reset-gpios:
> > + $ref: /schemas/types.yaml#/definitions/phandle-array
> > +
> > + powerdown-gpios:
> > + $ref: /schemas/types.yaml#/definitions/phandle-array
> > +
> > + pwdn-gpios:
> > + $ref: /schemas/types.yaml#/definitions/phandle-array
> > + description: Use powerdown-gpios
> > + deprecated: true
> > +
> > + wakeup-gpios:
> > + $ref: /schemas/types.yaml#/definitions/phandle-array
>
> I would underscore either on each one or in a global description:
> that lines on components that indicate they are active low
> such as RESETN, RESET* etc MUST have the flag in the
> second cell set to GPIO_ACTIVE_LOW.

Sure, I'll add it.

Best regards,
Krzysztof