Commit 1948d5c5 authored by Rahul Tanwar's avatar Rahul Tanwar Committed by Linus Walleij
Browse files

pinctrl: Add pinmux & GPIO controller driver for a new SoC



Intel Lightning Mountain SoC has a pinmux controller & GPIO controller IP which
controls pin multiplexing & configuration including GPIO functions selection &
GPIO attributes configuration.

This IP is not based on & does not have anything in common with Chassis
specification. The pinctrl drivers under pinctrl/intel/* are all based upon
Chassis spec compliant pinctrl IPs. So this driver doesn't fit & can not use
pinctrl framework under pinctrl/intel/* and it requires a separate new driver.

Add a new GPIO & pin control framework based driver for this IP.

Signed-off-by: default avatarRahul Tanwar <rahul.tanwar@linux.intel.com>
Link: https://lore.kernel.org/r/33e649758b70490f01724a887c490d5008c7656d.1573797249.git.rahul.tanwar@linux.intel.com


Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 54787d7c
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -420,4 +420,22 @@ config PINCTRL_TB10X
	depends on OF && ARC_PLAT_TB10X
	select GPIOLIB

config PINCTRL_EQUILIBRIUM
	tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
	select PINMUX
	select PINCONF
	select GPIOLIB
	select GPIO_GENERIC
	select GPIOLIB_IRQCHIP
	select GENERIC_PINCONF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS

	help
	  Equilibrium pinctrl driver is a pinctrl & GPIO driver for Intel Lightning
	  Mountain network processor SoC that supports both the linux GPIO and pin
	  control frameworks. It provides interfaces to setup pinmux, assign desired
	  pin functions, configure GPIO attributes for LGM SoC pins. Pinmux and
	  pinconf settings are retrieved from device tree.

endif
+1 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ obj-$(CONFIG_PINCTRL_ZYNQ) += pinctrl-zynq.o
obj-$(CONFIG_PINCTRL_INGENIC)	+= pinctrl-ingenic.o
obj-$(CONFIG_PINCTRL_RK805)	+= pinctrl-rk805.o
obj-$(CONFIG_PINCTRL_OCELOT)	+= pinctrl-ocelot.o
obj-$(CONFIG_PINCTRL_EQUILIBRIUM)   += pinctrl-equilibrium.o

obj-y				+= actions/
obj-$(CONFIG_ARCH_ASPEED)	+= aspeed/
+944 −0

File added.

Preview size limit exceeded, changes collapsed.

+144 −0

File added.

Preview size limit exceeded, changes collapsed.