Commit ecc4b141 authored by Aapo Vienamo's avatar Aapo Vienamo Committed by Andy Shevchenko

gpio: Add Intel Granite Rapids-D vGPIO driver

This driver provides a basic GPIO driver for the Intel Granite Rapids-D
virtual GPIOs. On SoCs with limited physical pins on the package, the
physical pins controlled by this driver would be exposed on an external
device such as a BMC or CPLD. The virtual GPIO registers are an
interface to firmware, which communicates with the external device that
implements the GPIO hardware functionality.
Signed-off-by: default avatarAapo Vienamo <aapo.vienamo@linux.intel.com>
Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
parent 1736df17
...@@ -10891,6 +10891,7 @@ L: linux-gpio@vger.kernel.org ...@@ -10891,6 +10891,7 @@ L: linux-gpio@vger.kernel.org
S: Supported S: Supported
T: git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git
F: drivers/gpio/gpio-elkhartlake.c F: drivers/gpio/gpio-elkhartlake.c
F: drivers/gpio/gpio-graniterapids.c
F: drivers/gpio/gpio-ich.c F: drivers/gpio/gpio-ich.c
F: drivers/gpio/gpio-merrifield.c F: drivers/gpio/gpio-merrifield.c
F: drivers/gpio/gpio-ml-ioh.c F: drivers/gpio/gpio-ml-ioh.c
......
...@@ -312,6 +312,24 @@ config GPIO_GENERIC_PLATFORM ...@@ -312,6 +312,24 @@ config GPIO_GENERIC_PLATFORM
help help
Say yes here to support basic platform_device memory-mapped GPIO controllers. Say yes here to support basic platform_device memory-mapped GPIO controllers.
config GPIO_GRANITERAPIDS
tristate "Intel Granite Rapids-D vGPIO support"
depends on X86 || COMPILE_TEST
select GPIOLIB_IRQCHIP
help
Select this to enable virtual GPIO support on platforms with the
following SoCs:
- Intel Granite Rapids-D
The driver enables basic GPIO functionality and implements interrupt
support. The virtual GPIO driver controls GPIO lines via a firmware
interface. The physical GPIO pins reside on device that is external
from the main SoC package, such as a BMC or a CPLD.
To compile this driver as a module, choose M here: the module will
be called gpio-graniterapids.
config GPIO_GRGPIO config GPIO_GRGPIO
tristate "Aeroflex Gaisler GRGPIO support" tristate "Aeroflex Gaisler GRGPIO support"
depends on OF_GPIO depends on OF_GPIO
......
...@@ -66,6 +66,7 @@ obj-$(CONFIG_GPIO_FTGPIO010) += gpio-ftgpio010.o ...@@ -66,6 +66,7 @@ obj-$(CONFIG_GPIO_FTGPIO010) += gpio-ftgpio010.o
obj-$(CONFIG_GPIO_FXL6408) += gpio-fxl6408.o obj-$(CONFIG_GPIO_FXL6408) += gpio-fxl6408.o
obj-$(CONFIG_GPIO_GE_FPGA) += gpio-ge.o obj-$(CONFIG_GPIO_GE_FPGA) += gpio-ge.o
obj-$(CONFIG_GPIO_GPIO_MM) += gpio-gpio-mm.o obj-$(CONFIG_GPIO_GPIO_MM) += gpio-gpio-mm.o
obj-$(CONFIG_GPIO_GRANITERAPIDS) += gpio-graniterapids.o
obj-$(CONFIG_GPIO_GRGPIO) += gpio-grgpio.o obj-$(CONFIG_GPIO_GRGPIO) += gpio-grgpio.o
obj-$(CONFIG_GPIO_GW_PLD) += gpio-gw-pld.o obj-$(CONFIG_GPIO_GW_PLD) += gpio-gw-pld.o
obj-$(CONFIG_GPIO_HISI) += gpio-hisi.o obj-$(CONFIG_GPIO_HISI) += gpio-hisi.o
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment