On 01/06/2023 07:33, Nikita Shubin wrote: > Add YAML bindings for ep93xx SoC pinctrl. > > Signed-off-by: Nikita Shubin <nikita.shubin@xxxxxxxxxxx> > Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > > Notes: > v0 -> v1: > > Krzysztof Kozlowski: > - removed wildcards > - use fallback compatible and list all possible compatibles > - fix ident > - dropped bindings in title > > .../pinctrl/cirrus,ep9301-pinctrl.yaml | 66 +++++++++++++++++++ > 1 file changed, 66 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml > > diff --git a/Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml > new file mode 100644 > index 000000000000..ff7b30a11bab > --- /dev/null > +++ b/Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml > @@ -0,0 +1,66 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pinctrl/cirrus,ep9301-pinctrl.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Cirrus ep93xx pins mux controller > + > +maintainers: > + - Nikita Shubin <nikita.shubin@xxxxxxxxxxx> > + - Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> > + > +properties: > + compatible: > + oneOf: > + - const: cirrus,ep9301-pinctrl > + - items: > + - enum: > + - cirrus,ep9302-pinctrl > + - cirrus,ep9307-pinctrl > + - cirrus,ep9312-pinctrl > + - cirrus,ep9315-pinctrl > + - const: cirrus,ep9301-pinctrl > + > +patternProperties: > + '^pins-': > + type: object > + description: pin node > + $ref: pinmux-node.yaml# > + > + properties: > + function: > + enum: [ spi, ac97, i2s, pwm, keypad, pata, lcd, gpio ] Blank line. > + groups: > + minItems: 1 > + maxItems: 2 How one pin can belong to two groups? What does it mean? > + items: > + enum: [ ssp, ac97, i2s_on_ssp, i2s_on_ac97, pwm1, gpio1agrp, > + gpio2agrp, gpio3agrp, gpio4agrp, gpio6agrp, gpio7agrp, > + rasteronsdram0grp, rasteronsdram3grp, keypadgrp, idegrp] > + > + required: > + - function > + - groups > + > +required: > + - compatible > + > +additionalProperties: false > + > +examples: > + - | > + syscon@80930000 { > + compatible = "cirrus,ep9301-syscon", > + "syscon", "simple-mfd"; Weird wrapping. > + reg = <0x80930000 0x1000>; > + #clock-cells = <1>; > + #reset-cells = <1>; > + pinctrl { > + compatible = "cirrus,ep9312-pinctrl", "cirrus,ep9301-pinctrl"; > + spi_default_pins: pins-spi { > + function = "spi"; > + groups = "ssp"; > + }; > + }; > + }; Best regards, Krzysztof