Re: [PATCH] dt-bindings: pinctrl: intel: Update to use generic bindings

From: Linus Walleij
Date: Mon Jan 13 2020 - 16:25:37 EST


On Mon, Jan 13, 2020 at 6:38 PM Rob Herring <robh+dt@xxxxxxxxxx> wrote:

> > +$id: http://devicetree.org/schemas/bindings/pinctrl/intel,lgm-io.yaml#
>
> Drop 'bindings' from the path.

I fixed this.

> > +allOf:
> > + - $ref: pincfg-node.yaml#
> > + - $ref: pinmux-node.yaml#
>
> This 'allOf' is at the wrong level...
(...)
> > +# Client device subnode's properties
> > +patternProperties:
> > + '-pins$':
> > + type: object
>
> ...It should be here.

I moved this.

> > + properties:
> > + function: true
> > + group: true

This should have both groups and group.

> > + pins: true
> > + pinmux: true
> > + bias-pull-up: true
> > + bias-pull-down: true
> > + drive-strength: true
> > + slew-rate: true
> > + drive-open-drain: true
> > + output-enable: true
> > +
> > + required:
> > + - function
> > + - group

This should have groups as compulsory.

> > + uart0-pins {
> > + pins = <64>, /* UART_RX0 */
> > + <65>; /* UART_TX0 */
> > + function = "CONSOLE_UART0";
> > + pinmux = <1>,
> > + <1>;
> > + groups = "CONSOLE_UART0";
>
> 'groups' is not a defined property. Should be 'group'.

Actually not in this case.

There was an error in commit 3af50e548019f6ee26d0ed4340f4ab980f884696
"dt-bindings: pinctrl: Convert generic pin mux and config properties to schema"

A function has a 1-to-many relationship to groups so it should be "groups"
for the multiplexing (pluralis).

A pin config on the other hand, such as "set slewrate for all the pins in
this pin group" has a 1-to-1 relationship to a group (singularis).

I am trying to fix it all up in one patch.

Yours,
Linus Walleij