Skip to content

Commit 7e5ea97

Browse files
lpovlsenlinusw
authored andcommitted
pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO
This adds a pinctrl driver for the Microsemi/Microchip Serial GPIO (SGPIO) device used in various SoC's. The driver is added as a pinctrl driver, albeit only having just GPIO support currently. The hardware supports other functions that will be added following. Signed-off-by: Lars Povlsen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
1 parent ce4d781 commit 7e5ea97

File tree

4 files changed

+727
-0
lines changed

4 files changed

+727
-0
lines changed

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2117,6 +2117,7 @@ L: [email protected] (moderated for non-subscribers)
21172117
S: Supported
21182118
T: git git://github.com/microchip-ung/linux-upstream.git
21192119
F: arch/arm64/boot/dts/microchip/
2120+
F: drivers/pinctrl/pinctrl-microchip-sgpio.c
21202121
N: sparx5
21212122

21222123
ARM/MIOA701 MACHINE SUPPORT

drivers/pinctrl/Kconfig

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,22 @@ config PINCTRL_OCELOT
374374
select OF_GPIO
375375
select REGMAP_MMIO
376376

377+
config PINCTRL_MICROCHIP_SGPIO
378+
bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
379+
depends on HAS_IOMEM
380+
select GPIOLIB
381+
select GENERIC_PINCONF
382+
select GENERIC_PINCTRL_GROUPS
383+
select GENERIC_PINMUX_FUNCTIONS
384+
help
385+
Support for the serial GPIO interface used on Microsemi and
386+
Microchip SoC's. By using a serial interface, the SIO
387+
controller significantly extends the number of available
388+
GPIOs with a minimum number of additional pins on the
389+
device. The primary purpose of the SIO controller is to
390+
connect control signals from SFP modules and to act as an
391+
LED controller.
392+
377393
source "drivers/pinctrl/actions/Kconfig"
378394
source "drivers/pinctrl/aspeed/Kconfig"
379395
source "drivers/pinctrl/bcm/Kconfig"

drivers/pinctrl/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ obj-$(CONFIG_PINCTRL_ZYNQ) += pinctrl-zynq.o
4646
obj-$(CONFIG_PINCTRL_INGENIC) += pinctrl-ingenic.o
4747
obj-$(CONFIG_PINCTRL_RK805) += pinctrl-rk805.o
4848
obj-$(CONFIG_PINCTRL_OCELOT) += pinctrl-ocelot.o
49+
obj-$(CONFIG_PINCTRL_MICROCHIP_SGPIO) += pinctrl-microchip-sgpio.o
4950
obj-$(CONFIG_PINCTRL_EQUILIBRIUM) += pinctrl-equilibrium.o
5051

5152
obj-y += actions/

0 commit comments

Comments
 (0)