From: Rafał Miłecki <rafal@xxxxxxxxxx> A week ago I sent [PATCH RFC] dt-bindings: pinctrl: support specifying pins https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20211110231436.8866-1-zajec5@xxxxxxxxx/ >From short discussion in that thread it seems that using DT to store pinctrl pins, groups & functions may be an option. I'd like to ask for reviewing my patchset implementing that. 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-4 are for linux-pinctrl.git. Patch 5 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 (5): dt-bindings: pinctrl: support specifying pins, groups & functions dt-bindings: pinctrl: brcm,ns-pinmux: extend example pinctrl: add helpers 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 | 29 ++++- .../devicetree/bindings/pinctrl/pinctrl.yaml | 50 +++++++ arch/arm/boot/dts/bcm4709.dtsi | 74 +++++++++++ arch/arm/boot/dts/bcm47094.dtsi | 11 +- arch/arm/boot/dts/bcm5301x.dtsi | 123 ++++++++++++++++++ drivers/pinctrl/bcm/pinctrl-ns.c | 90 ++++++++----- drivers/pinctrl/core.c | 89 +++++++++++++ drivers/pinctrl/core.h | 5 + drivers/pinctrl/pinmux.c | 43 ++++++ drivers/pinctrl/pinmux.h | 2 + 10 files changed, 475 insertions(+), 41 deletions(-) -- 2.31.1