#
# PPS support configuration
#

menu "PPS support"

config PPS
	tristate "PPS support"
	depends on EXPERIMENTAL
	---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.

config PPS_DEBUG
	bool "PPS debugging messages"
	depends on PPS
	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 PPS && !NO_HZ
	help
	  This option adds support for direct in-kernel time
	  syncronization using an external PPS signal.

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

source drivers/pps/clients/Kconfig

source drivers/pps/generators/Kconfig

endmenu
