#
# PPS support configuration
#

menu "PPS support"

config PPS
	tristate "PPS support"
	---help---
	  PPS (Pulse Per Second) is a special pulse provided by some GPS
	  antennae. Userland can use it to get a high-precision time
	  reference.

	  Some antennae's PPS signals are connected with the CD (Carrier
	  Detect) pin of the serial line they use to communicate with the
	  host. In this case use the SERIAL_LINE client support.

	  Some antennae's PPS signals are connected with some special host
	  inputs so you have to enable the corresponding client support.

	  To compile this driver as a module, choose M here: the module
	  will be called pps_core.ko.
if PPS

config PPS_DEBUG
	bool "PPS debugging messages"
	help
	  Say Y here if you want the PPS support to produce a bunch of debug
	  messages to the system log.  Select this if you are having a
	  problem with PPS support and want to see more of what is going on.

config NTP_PPS
	bool "PPS kernel consumer support"
	depends on !NO_HZ
	help
	  This option adds support for direct in-kernel time
	  synchronization using an external PPS signal.

	  It doesn't work on tickless systems at the moment.

endif

source drivers/pps/clients/Kconfig

source drivers/pps/generators/Kconfig

endmenu
