Skip to content

Commit ecc4b14

Browse files
Aapo Vienamoandy-shev
authored andcommitted
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: Aapo Vienamo <[email protected]> Reviewed-by: Mika Westerberg <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]>
1 parent 1736df1 commit ecc4b14

File tree

4 files changed

+403
-0
lines changed

4 files changed

+403
-0
lines changed

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10891,6 +10891,7 @@ L: [email protected]
1089110891
S: Supported
1089210892
T: git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git
1089310893
F: drivers/gpio/gpio-elkhartlake.c
10894+
F: drivers/gpio/gpio-graniterapids.c
1089410895
F: drivers/gpio/gpio-ich.c
1089510896
F: drivers/gpio/gpio-merrifield.c
1089610897
F: drivers/gpio/gpio-ml-ioh.c

drivers/gpio/Kconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,24 @@ config GPIO_GENERIC_PLATFORM
312312
help
313313
Say yes here to support basic platform_device memory-mapped GPIO controllers.
314314

315+
config GPIO_GRANITERAPIDS
316+
tristate "Intel Granite Rapids-D vGPIO support"
317+
depends on X86 || COMPILE_TEST
318+
select GPIOLIB_IRQCHIP
319+
help
320+
Select this to enable virtual GPIO support on platforms with the
321+
following SoCs:
322+
323+
- Intel Granite Rapids-D
324+
325+
The driver enables basic GPIO functionality and implements interrupt
326+
support. The virtual GPIO driver controls GPIO lines via a firmware
327+
interface. The physical GPIO pins reside on device that is external
328+
from the main SoC package, such as a BMC or a CPLD.
329+
330+
To compile this driver as a module, choose M here: the module will
331+
be called gpio-graniterapids.
332+
315333
config GPIO_GRGPIO
316334
tristate "Aeroflex Gaisler GRGPIO support"
317335
depends on OF_GPIO

drivers/gpio/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ obj-$(CONFIG_GPIO_FTGPIO010) += gpio-ftgpio010.o
6666
obj-$(CONFIG_GPIO_FXL6408) += gpio-fxl6408.o
6767
obj-$(CONFIG_GPIO_GE_FPGA) += gpio-ge.o
6868
obj-$(CONFIG_GPIO_GPIO_MM) += gpio-gpio-mm.o
69+
obj-$(CONFIG_GPIO_GRANITERAPIDS) += gpio-graniterapids.o
6970
obj-$(CONFIG_GPIO_GRGPIO) += gpio-grgpio.o
7071
obj-$(CONFIG_GPIO_GW_PLD) += gpio-gw-pld.o
7172
obj-$(CONFIG_GPIO_HISI) += gpio-hisi.o

0 commit comments

Comments
 (0)