Skip to content
Permalink
Browse files
Add support for PMC Time-Aware GPIO (TGPIO) hardware that is present …
…on upcoming Intel platforms. The hardware logic is driven by the ART clock. The current hardware has two GPIO pins. Input interrupts are not implemented in hardware.

The driver implements to the expanded PHC interface. Input requires use of
the user-polling interface. Also, since the ART clock can't be adjusted,
modulating the output frequency uses the edge timestamp interface
(EVENT_COUNT_TSTAMP2) and the PEROUT2 ioctl output frequency adjustment
interface.

Signed-off-by: Christopher Hall <christopher.s.hall@intel.com>
  • Loading branch information
christopher-s-hall authored and nanli2x committed Nov 1, 2021
1 parent ef00639 commit ba88170534041ab8213508ceddf96c012d9d9e7e
Show file tree
Hide file tree
Showing 3 changed files with 881 additions and 0 deletions.
@@ -106,6 +106,19 @@ config PTP_1588_CLOCK_PCH
To compile this driver as a module, choose M here: the module
will be called ptp_pch.

config PTP_INTEL_PMC_TGPIO
tristate "Intel PMC Timed GPIO"
depends on X86
depends on ACPI
depends on PTP_1588_CLOCK
help
This driver adds support for Intel PMC Timed-Aware GPIO (TGPIO)
Controller. The device clock used to drive TGPIO logic is the
Always Running Timer (ART).

To compile this driver as a module, choose M here: the module
will be called ptp-intel-pmc-tgpio.

config PTP_1588_CLOCK_KVM
tristate "KVM virtual PTP clock"
depends on PTP_1588_CLOCK
@@ -15,3 +15,4 @@ ptp-qoriq-$(CONFIG_DEBUG_FS) += ptp_qoriq_debugfs.o
obj-$(CONFIG_PTP_1588_CLOCK_IDTCM) += ptp_clockmatrix.o
obj-$(CONFIG_PTP_1588_CLOCK_IDT82P33) += ptp_idt82p33.o
obj-$(CONFIG_PTP_1588_CLOCK_VMW) += ptp_vmw.o
obj-$(CONFIG_PTP_INTEL_PMC_TGPIO) += ptp-intel-pmc-tgpio.o

0 comments on commit ba88170

Please sign in to comment.