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

menuconfig 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_COMMON
	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.

source "drivers/pps/clients/Kconfig"

source "drivers/pps/generators/Kconfig"

endif # PPS
