On Mon, Apr 25, 2022 at 8:46 PM Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> 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@xxxxxxxxxx> > Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > > --- > > 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@xxxxxxxxxx/ > > 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@xxxxxxxx> > + - Linus Walleij <linus.walleij@xxxxxxxxxx> > + > +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