From: Rafał Miłecki <rafal@xxxxxxxxxx> Two weeks ago I sent [PATCH RFC] dt-bindings: pinctrl: support specifying pins https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20211110231436.8866-1-zajec5@xxxxxxxxx/ and week ago I sent [PATCH 0/5] pinctrl: allow storing pins, groups & functions in DT https://patchwork.ozlabs.org/project/linux-gpio/list/?series=272685 Initially I planned to allow putting some pinctrl hw details in DT and later that evolved into a slightly more generic API. Again: Please note it's about describing hardware elements and not actual programming way. It may be used with pinctrl-single.c one day but it's designed as a generic solution for data. Patches 1-5 are for linux-pinctrl.git. Patch 6 I found worth including as DT big example. It can go through Linus with Florian's Ack or I can send it to Florian later. Rafał Miłecki (6): dt-bindings: pinctrl: support specifying pins, groups & functions dt-bindings: pinctrl: brcm,ns-pinmux: extend example pinctrl: prepare API for reading pins, groups & functions pinctrl: support reading pins, groups & functions from DT pinctrl: bcm: pinctrl-ns: supoprt DT specified pins, groups & functions ARM: dts: BCM5301X: add pinctrl pins, groups & functions .../bindings/pinctrl/brcm,ns-pinmux.yaml | 24 +++- .../devicetree/bindings/pinctrl/pinctrl.yaml | 40 ++++++ arch/arm/boot/dts/bcm4709.dtsi | 67 +++++++++ arch/arm/boot/dts/bcm47094.dtsi | 11 +- arch/arm/boot/dts/bcm5301x.dtsi | 109 +++++++++++++++ drivers/pinctrl/bcm/pinctrl-ns.c | 90 ++++++++---- drivers/pinctrl/core.c | 18 +++ drivers/pinctrl/core.h | 4 + drivers/pinctrl/devicetree.c | 131 ++++++++++++++++++ drivers/pinctrl/devicetree.h | 29 ++++ drivers/pinctrl/pinmux.c | 10 ++ drivers/pinctrl/pinmux.h | 2 + 12 files changed, 494 insertions(+), 41 deletions(-) -- 2.31.1