pinctrl: add polarfire soc mssio pinctrl driver

On Polarfire SoC, the Bank 2 and Bank 4 IOs connected to the
Multiprocessor Subsystem (MSS) are controlled by IOMUX_CRs 1 through 6,
which determine what function in routed to them, and
MSSIO_BANK#_IO_CFG_CRs, which determine the configuration of each pin.

Add a driver for this pin controller, including several custom
properties that reflect aspects of the MSS's configuration.

Reuse the Kconfig option for iomux0, since controlling MSSIOs without
iomux0 routing a function to the MSSIOs in question is pointless, and
routing a function to the MSSIOs is equally unhelpful if none of them
are configured to make use of that function.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
This commit is contained in:
Conor Dooley
2026-01-21 13:13:37 +01:00
committed by Linus Walleij
parent 6b324d1994
commit 488d704ed7
3 changed files with 741 additions and 3 deletions
+3 -3
View File
@@ -9,9 +9,9 @@ config PINCTRL_PIC64GX
This selects the pinctrl driver for gpio2 on pic64gx.
config PINCTRL_POLARFIRE_SOC
bool "Polarfire SoC pinctrl driver"
bool "Polarfire SoC pinctrl drivers"
depends on ARCH_MICROCHIP || COMPILE_TEST
depends on OF
select GENERIC_PINCONF
select GENERIC_PINCTRL
help
This selects the pinctrl driver for Microchip Polarfire SoC.
This selects the pinctrl drivers for Microchip Polarfire SoC.
+1
View File
@@ -2,3 +2,4 @@
obj-$(CONFIG_PINCTRL_PIC64GX) += pinctrl-pic64gx-gpio2.o
obj-$(CONFIG_PINCTRL_POLARFIRE_SOC) += pinctrl-mpfs-iomux0.o
obj-$(CONFIG_PINCTRL_POLARFIRE_SOC) += pinctrl-mpfs-mssio.o
File diff suppressed because it is too large Load Diff