[RFC PATCH v1 00/20] Review Request: Add support for Intel PMC

From: lakshmi . sowjanya . d
Date: Tue Aug 24 2021 - 12:48:08 EST


From: Lakshmi Sowjanya D <lakshmi.sowjanya.d@xxxxxxxxx>

Starting with Intel(R) Tiger Lake and Elkhart Lake platforms the PMC
hardware adds the Timed I/O hardware interface.

The Timed I/O hardware implements some functionality similar to GPIO
with added timing logic that is driven by the Always Running Timer
(ART).

The Timed I/O Hardware implement 3 basic functions:
* Input Timestamping
* Single Shot Timed Output
* Periodic Timed Output

Please help to review the changes.

Thanks in advance,
Sowjanya

Christopher Hall (9):
gpio: Add basic GPIO driver for Intel PMC Timed I/O device
arch: x86: Add ART support function to tsc code
gpio: Add input code to Intel PMC Timed I/O Driver
tools: gpio: Add additional polling support to gpio-event-mon
kernel: time: Add system time to system counter translation
tools: gpio: Add GPIO output generation user application
arch/x86: Add ART nanosecond to ART conversion
pwm: Add capability for PWM Driver managed state
tools: gpio: Add PWM monitor application

Lakshmi Sowjanya D (11):
gpio: Add GPIO polling interface to GPIO lib
gpio: Add set_input and polling interface to GPIO lib code
gpio: Add output event generation method to GPIOLIB and PMC Driver
arch: x86: Add TSC to ART translation
gpio: Add event count interface to gpiolib
gpio: Add event count to Intel(R) PMC Timed I/O driver
tools: gpio: Add event count capability to event monitor application
gpio: Add PWM capabilities to Intel(R) PMC TIO driver
pwm: Add second alignment to the core PWM interface
gpio: Add PWM alignment support to the Intel(R) PMC Timed I/O driver
gpio: Add GPIO monitor line to Intel(R) Timed I/O Driver

MAINTAINERS | 7 +
arch/x86/include/asm/tsc.h | 5 +
arch/x86/kernel/tsc.c | 73 +++
drivers/gpio/Kconfig | 11 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-intel-tio-pmc.c | 834 ++++++++++++++++++++++++++++++
drivers/gpio/gpiolib-cdev.c | 145 +++++-
drivers/pwm/core.c | 10 +-
drivers/pwm/sysfs.c | 37 ++
include/linux/gpio/driver.h | 29 ++
include/linux/pwm.h | 3 +
include/linux/timekeeping.h | 3 +
include/uapi/linux/gpio.h | 21 +
kernel/time/timekeeping.c | 63 +++
tools/gpio/.gitignore | 1 +
tools/gpio/Build | 2 +
tools/gpio/Makefile | 21 +-
tools/gpio/gpio-event-gen.c | 191 +++++++
tools/gpio/gpio-event-mon.c | 58 ++-
tools/gpio/gpio-pwm-mon.c | 431 +++++++++++++++
20 files changed, 1916 insertions(+), 30 deletions(-)
create mode 100644 drivers/gpio/gpio-intel-tio-pmc.c
create mode 100644 tools/gpio/gpio-event-gen.c
create mode 100644 tools/gpio/gpio-pwm-mon.c

--
2.17.1