# SPDX-License-Identifier: GPL-2.0-only
#
# PPS clients configuration
#

comment "PPS clients support"

config PPS_CLIENT_KTIMER
	tristate "Kernel timer client (Testing client, use for debug)"
	help
	  If you say yes here you get support for a PPS debugging client
	  which uses a kernel timer to generate the PPS signal.

	  This driver can also be built as a module.  If so, the module
	  will be called pps-ktimer.

config PPS_CLIENT_LDISC
	tristate "PPS line discipline"
	depends on TTY
	help
	  If you say yes here you get support for a PPS source connected
	  with the CD (Carrier Detect) pin of your serial port.

config PPS_CLIENT_PARPORT
	tristate "Parallel port PPS client"
	depends on PARPORT
	help
	  If you say yes here you get support for a PPS source connected
	  with the interrupt pin of your parallel port.

config PPS_CLIENT_GPIO
	tristate "PPS client using GPIO"
	help
	  If you say yes here you get support for a PPS source using
	  GPIO. To be useful you must also register a platform device
	  specifying the GPIO pin and other options, usually in your board
	  setup.

config PPS_CLIENT_TIO
	tristate "PPS client using TIO"
	depends on INTEL_TIO_PLAT
	help
	This driver registers a Pulse-Per-Second (PPS) source using
	Intel Time I/O (TIO) TGPIO hardware which captures ART
	(Always Running Timer)timestamps.This hardware is present
	on 2019 and newer Intel CPUs.The device is instantiated by the
	Intel TIO platform driver and operates as an auxiliary child device.

	Since the hardware does not provide an interrupt for PPS capture
	events, the driver polls the hardware using a high-resolution timer
	and converts ART timestamps to system wall time before reporting
	them to the PPS subsystem.

	If unsure, say N.
