.../bindings/gpio/gpio-consumer-common.yaml | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml
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 <krzysztof.kozlowski@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
---
Reason for resend:
==================
Previously patch was on hold because richtek,rt4801 bindings were using
two GPIOs in "enable-gpios", so this schema would complain. This was
resolved here:
https://lore.kernel.org/all/165089886500.211842.728549769223794277.b4-ty@kernel.org/
Changes since v2:
==================
1. Correct my email address.
2. Add Rob's review.
Changes since v1:
==================
1. Select-true, add maxItems and description for each entry (Rob).
2. Mention ACTIVE_LOW in bindings description (Linus).
3. Add allOf for pwrseq reset-gpios case.
---
.../bindings/gpio/gpio-consumer-common.yaml | 64 +++++++++++++++++++
1 file changed, 64 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..40d0be31e200
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml
@@ -0,0 +1,64 @@
+# 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 <brgl@bgdev.pl>
+ - Linus Walleij <linus.walleij@linaro.org>
+
+description:
+ Pay attention to using proper GPIO flag (e.g. GPIO_ACTIVE_LOW) for the GPIOs
+ using inverted signal (e.g. RESETN).
+
+select: true
+
+properties:
+ enable-gpios:
+ maxItems: 1
+ description:
+ GPIO connected to the enable control pin.
+
+ reset-gpios:
+ description:
+ GPIO (or GPIOs for power sequence) connected to the device reset pin
+ (e.g. RESET or RESETN).
+
+ powerdown-gpios:
+ maxItems: 1
+ description:
+ GPIO connected to the power down pin (hardware power down or power cut,
+ e.g. PD or PWDN).
+
+ pwdn-gpios:
+ maxItems: 1
+ description: Use powerdown-gpios
+ deprecated: true
+
+ wakeup-gpios:
+ maxItems: 1
+ description:
+ GPIO connected to the pin waking up the device from suspend or other
+ power-saving modes.
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - mmc-pwrseq-simple
+ then:
+ properties:
+ reset-gpios:
+ minItems: 1
+ maxItems: 32
+ else:
+ properties:
+ reset-gpios:
+ maxItems: 1
+
+additionalProperties: true
--
2.32.0
On Mon, Apr 25, 2022 at 8:46 PM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 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 <krzysztof.kozlowski@linaro.org> > Reviewed-by: Rob Herring <robh@kernel.org> > > --- > > Reason for resend: > ================== > Previously patch was on hold because richtek,rt4801 bindings were using > two GPIOs in "enable-gpios", so this schema would complain. This was > resolved here: > https://lore.kernel.org/all/165089886500.211842.728549769223794277.b4-ty@kernel.org/ > > Changes since v2: > ================== > 1. Correct my email address. > 2. Add Rob's review. > > Changes since v1: > ================== > 1. Select-true, add maxItems and description for each entry (Rob). > 2. Mention ACTIVE_LOW in bindings description (Linus). > 3. Add allOf for pwrseq reset-gpios case. > --- > .../bindings/gpio/gpio-consumer-common.yaml | 64 +++++++++++++++++++ > 1 file changed, 64 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..40d0be31e200 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/gpio-consumer-common.yaml > @@ -0,0 +1,64 @@ > +# 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 <brgl@bgdev.pl> > + - Linus Walleij <linus.walleij@linaro.org> > + > +description: > + Pay attention to using proper GPIO flag (e.g. GPIO_ACTIVE_LOW) for the GPIOs > + using inverted signal (e.g. RESETN). > + > +select: true > + > +properties: > + enable-gpios: > + maxItems: 1 > + description: > + GPIO connected to the enable control pin. > + > + reset-gpios: > + description: > + GPIO (or GPIOs for power sequence) connected to the device reset pin > + (e.g. RESET or RESETN). > + > + powerdown-gpios: > + maxItems: 1 > + description: > + GPIO connected to the power down pin (hardware power down or power cut, > + e.g. PD or PWDN). > + > + pwdn-gpios: > + maxItems: 1 > + description: Use powerdown-gpios > + deprecated: true > + > + wakeup-gpios: > + maxItems: 1 > + description: > + GPIO connected to the pin waking up the device from suspend or other > + power-saving modes. > + > +allOf: > + - if: > + properties: > + compatible: > + contains: > + enum: > + - mmc-pwrseq-simple > + then: > + properties: > + reset-gpios: > + minItems: 1 > + maxItems: 32 > + else: > + properties: > + reset-gpios: > + maxItems: 1 > + > +additionalProperties: true > -- > 2.32.0 > Applied, thanks! Bart
© 2016 - 2026 Red Hat, Inc.