Re: [PATCH 04/10] dt-bindings: pinctrl: add Ambarella CV75 pinctrl
Linus Walleij <[email protected]> Sat, 1 Aug 2026 08:46:18 +0200
| Newsgroups | gmane.linux.serial,gmane.linux.ports.arm.kernel,gmane.linux.drivers.devicetree,gmane.linux.kernel.clk,gmane.linux.kernel.gpio,gmane.linux.kernel |
|---|---|
| Message-ID | <CAD++jL=Zw0_jKj4FiVHAVC6ASjRJgOF6WswAJBZD=Y3nQCAauA@mail.gmail.com> |
Hi Long, thanks for your patch! On Thu, Jul 30, 2026 at 12:44=E2=80=AFPM Long Zhao <[email protected]>= wrote: > + "^[a-z0-9-]+-pins$": > + type: object > + allOf: > + - $ref: pinmux-node.yaml# > + - $ref: pincfg-node.yaml# > + additionalProperties: false > + > + properties: > + function: true > + > + pinmux: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 1 > + maxItems: 96 > + > + bias-disable: true > + bias-pull-down: true > + bias-pull-up: true > + > + drive-strength: > + enum: [3, 4, 5, 6, 7, 8, 9, 12] > + > + required: > + - function > + - pinmux Usually either (function + group) OR pinmux is used, so this looks slightly confusing to me. > + uart0-pins { > + function =3D "uart0"; > + pinmux =3D <AMBA_PINMUX(44, 1)>, > + <AMBA_PINMUX(45, 1)>; > + bias-disable; > + drive-strength =3D <8>; > + }; > + }; So I take it that "pinmux" is used for all the muxing while the function "u= art0" is actually only used for the pin configs, right? It would be better to encode the groups into the driver I think and then it would look like this: uart0-pins { function =3D "uart0"; groups =3D "uart0tx", "uart0rx"; bias-disable; drive-strength =3D <8>; }; As you can see "uart0tx" is easier to read and understand than <AMBA_PINMUX(44, 1)>. Also it hides constants nicely in the driver. I know this is a lot of work. I know a lot of companies like "pinmux" because it's simple and convenient, but it really isn't the best for developers writing device trees and debugging. Yours, Linus Walleij