Skip to content
Permalink
Browse files
mfd: intel-ehl-gpio: Introduce MFD framework to PSE GPIO/TGPIO
In Elkhart Lake, the PSE GPIO and TGPIO shares the PCI device,
albeit being accessed at different MMIO BAR offset. Thus, to properly
register device drivers and enable support of both functionalities,
we choose Linux MFD framework.

1) intel-ehl-gpio - probe base on the PCI device, and split the resources
accordingly.
2) gpio-ehl-pse-plat - platform driver which will register support of
PSE GPIO (30 pins max per device)
3) ptp-intel-tgpio-plat - platform driver which will register support of
PSE TGPIO (20 pins max per device)

Note: BIOS configuration is required to properly assign the pin-mux.
Note: PSE TGPIO driver is based on Balbi Felipe's original driver.
Note: PSE GPIO driver is based on Pandith N's original driver.

Signed-off-by: N Pandith <pandith.n@intel.com>
Signed-off-by: Raymond Tan <raymond.tan@intel.com>
  • Loading branch information
ytan29 authored and nanli2x committed Nov 1, 2021
1 parent 87e7ffa commit 0bce160955505f13b1c53ce6c48eaa49f3dd472d
Show file tree
Hide file tree
Showing 9 changed files with 1,502 additions and 0 deletions.
@@ -246,6 +246,17 @@ config GPIO_EM
help
Say yes here to support GPIO on Renesas Emma Mobile SoCs.

config GPIO_EHL_PSE_PLAT
tristate "Intel EHL PSE GPIO support as platform MFD"
depends on ACPI && X86
select GPIOLIB_IRQCHIP
help
Enable Intel EHL PSE GPIO support as platform
MFD.

Driver for GPIO functionality on Intel Elkhart Lake SoC on
PSE under Host-Owned mode.

config GPIO_EP93XX
def_bool y
depends on ARCH_EP93XX
@@ -80,6 +80,7 @@ obj-$(CONFIG_GPIO_LP873X) += gpio-lp873x.o
obj-$(CONFIG_GPIO_LP87565) += gpio-lp87565.o
obj-$(CONFIG_GPIO_LPC18XX) += gpio-lpc18xx.o
obj-$(CONFIG_GPIO_LPC32XX) += gpio-lpc32xx.o
obj-$(CONFIG_GPIO_EHL_PSE_PLAT) += gpio-ehl-pse-plat.o
obj-$(CONFIG_GPIO_MADERA) += gpio-madera.o
obj-$(CONFIG_GPIO_MAX3191X) += gpio-max3191x.o
obj-$(CONFIG_GPIO_MAX7300) += gpio-max7300.o

0 comments on commit 0bce160

Please sign in to comment.