[RFC v2 0/5] Microchip mpfs/pic64gx pinctrl part 2

Conor Dooley
2025-11-27T10:58:08Z

Hey Linus,

v2 here, with what I need out of a generic function. I think I've done
what you wanted location wise, but my naming failed me again with the
Kconfig knob for it.

Still RFC, so ignore the lack of a meaningful commit message on it.

I didn't touch the mutual exclusion stuff yet, that's next and why I
left RFC on it in addition to ibufmd still being unexplained.

There's one @Linus in the driver worth checking out, cos it's the impact
of using a generic function to do function + group creation. Don't think
it's a big deal, but worth confirming that it's fine.

Mainly looking for feedback on the new generic function here.

Cheers,
Conor.

main changes in v2:
- bank voltage is now controllable from dt
- bank lockdown no longer controllable from dt
- dt_node_to_map callback is now a new (attempt at) a generic function
- some schmitt properties now no longer supported

CC: Linus Walleij <linus.walleij@linaro.org>
CC: Rob Herring <robh@kernel.org>
CC: Krzysztof Kozlowski <krzk+dt@kernel.org>
CC: linux-kernel@vger.kernel.org
CC: linux-gpio@vger.kernel.org
CC: devicetree@vger.kernel.org
CC: Valentina.FernandezAlanis@microchip.com

Conor Dooley (5):
dt-bindings: pinctrl: document polarfire soc mssio pin controller
pinctrl: add generic functions + pins mapper
pinctrl: add polarfire soc mssio pinctrl driver
MAINTAINERS: add Microchip mpfs mssio driver/bindings to entry
riscv: dts: microchip: add pinctrl nodes for mpfs/icicle kit

.../pinctrl/microchip,mpfs-pinctrl-mssio.yaml | 119 +++
.../microchip,mpfs-mss-top-sysreg.yaml | 4 +
MAINTAINERS | 2 +
.../dts/microchip/mpfs-icicle-kit-common.dtsi | 1 -
.../dts/microchip/mpfs-icicle-kit-fabric.dtsi | 63 ++
.../boot/dts/microchip/mpfs-pinctrl.dtsi | 167 ++++
arch/riscv/boot/dts/microchip/mpfs.dtsi | 16 +
drivers/pinctrl/Kconfig | 13 +-
drivers/pinctrl/Makefile | 2 +
drivers/pinctrl/pinconf.h | 7 +
drivers/pinctrl/pinctrl-generic.c | 186 +++++
drivers/pinctrl/pinctrl-mpfs-mssio.c | 750 ++++++++++++++++++
12 files changed, 1327 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pinctrl/microchip,mpfs-pinctrl-mssio.yaml
create mode 100644 arch/riscv/boot/dts/microchip/mpfs-pinctrl.dtsi
create mode 100644 drivers/pinctrl/pinctrl-generic.c
create mode 100644 drivers/pinctrl/pinctrl-mpfs-mssio.c

--
2.51.0