platform/x86/intel: Introduce Intel Elkhart Lake PSE I/O
authorRaag Jadav <raag.jadav@intel.com>
Wed, 12 Nov 2025 03:40:10 +0000 (09:10 +0530)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 19 Nov 2025 13:08:51 +0000 (14:08 +0100)
commita0c83150eea5807dbedf786f55cd49b14af118a8
tree1a7d0dbef5b3a9544c9e0f7d86ce4466c158edfd
parent5ef5f3c2245e13c62adf4cb0980cdd7bd72c59d0
platform/x86/intel: Introduce Intel Elkhart Lake PSE I/O

Intel Elkhart Lake Programmable Service Engine (PSE) includes two PCI
devices that expose two different capabilities of GPIO and Timed I/O
as a single PCI function through shared MMIO with below layout.

GPIO: 0x0000 - 0x1000
TIO:  0x1000 - 0x2000

This driver enumerates the PCI parent device and creates auxiliary child
devices for these capabilities. The actual functionalities are provided
by their respective auxiliary drivers.

Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20251112034040.457801-2-raag.jadav@intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
MAINTAINERS
drivers/platform/x86/intel/Kconfig
drivers/platform/x86/intel/Makefile
drivers/platform/x86/intel/ehl_pse_io.c [new file with mode: 0644]
include/linux/ehl_pse_io_aux.h [new file with mode: 0644]