[PATCH v1 0/2] Introduce Intel Elkhart Lake PSE I/O

Raag Jadav
2025-10-29T06:21:52Z

This series adds Intel Elkhart Lake PSE I/O driver which enumerates the
PCI parent device and splits two child I/O devices (GPIO and Timed I/O
which are available as a single PCI function through shared MMIO) to their
respective I/O drivers.

In spirit, it is a continuation of PSE TIO series[1] which received
objection from Greg for abusing platform device and has now been reworked
to use auxiliary device instead.

Currently TIO driver[2] falls under PPS subsystem supporting generator
functionality and will be coming up in a separate follow-up series for
its independent design changes as per below roadmap.

=> Extend TIO driver[2] to support PPS client functionality.
=> Develop a PPS common driver which hooks to both generator and client
counterparts.
=> Develop an auxiliary glue driver for PPS common driver.

[1] https://lore.kernel.org/r/20250307052231.551737-1-raag.jadav@intel.com
[2] https://lore.kernel.org/r/20250219040618.70962-1-subramanian.mohan@intel.com

Raag Jadav (2):
platform/x86/intel: Introduce Intel Elkhart Lake PSE I/O
gpio: elkhartlake: Convert to auxiliary driver

MAINTAINERS | 7 ++
drivers/gpio/Kconfig | 2 +-
drivers/gpio/gpio-elkhartlake.c | 34 +++----
drivers/platform/x86/intel/Kconfig | 13 +++
drivers/platform/x86/intel/Makefile | 1 +
drivers/platform/x86/intel/ehl_pse_io.c | 128 ++++++++++++++++++++++++
include/linux/ehl_pse_io_aux.h | 30 ++++++
7 files changed, 196 insertions(+), 19 deletions(-)
create mode 100644 drivers/platform/x86/intel/ehl_pse_io.c
create mode 100644 include/linux/ehl_pse_io_aux.h

--
2.34.1