On Thu, Nov 11, 2021 at 12:14:36AM +0100, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@xxxxxxxxxx> > > Add support for "pins" node with pin@ subnodes. This allows specifying > all pins (and their names) at DT level. > > Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx> > --- > While working with pinctrl in Linux I started wondering if we could > start specifying pins in DT instead of Linux drivers. When working with > DT we usually avoid hardcoding hardware description in drivers so it > isn't clear to me why it doesn't apply to pins. > > Please let me know if this makes sense. If by some chance I'm correct I > think that specifying groups and functions could follow too. > > FWIW: I didn't start working on Linux reading pins from DT yet. > --- > .../bindings/pinctrl/brcm,ns-pinmux.yaml | 12 +++++++++- > .../devicetree/bindings/pinctrl/pinctrl.yaml | 23 +++++++++++++++++++ > 2 files changed, 34 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml b/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml > index 8d1e5b1cdd5f..92a86b0822d6 100644 > --- a/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml > @@ -74,7 +74,7 @@ required: > - reg > - reg-names > > -additionalProperties: false > +unevaluatedProperties: false > > examples: > - | > @@ -83,6 +83,16 @@ examples: > reg = <0x1800c1c0 0x24>; > reg-names = "cru_gpio_control"; > > + pins { > + #address-cells = <1>; > + #size-cells = <0>; > + > + pin@0 { > + reg = <0>; Where does 'reg' value come from? > + label = "spi_clk"; > + }; If you just want a list of pins names, then why not just a list of names? Rob