# 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.
