![Alexander Gordeev](/assets/img/avatar_default.png)
This commit adds hardpps() implementation based upon the original one from the NTPv4 reference kernel code from David Mills. However, it is highly optimized towards very fast syncronization and maximum stickness to PPS signal. The typical error is less then a microsecond. To make it sync faster I had to throw away exponential phase filter so that the full phase offset is corrected immediately. Then I also had to throw away median phase filter because it gives a bigger error itself if used without exponential filter. Maybe we will find an appropriate filtering scheme in the future but it's not necessary if the signal quality is ok. Signed-off-by: Alexander Gordeev <lasaine@lvk.cs.msu.su> Acked-by: John Stultz <johnstul@us.ibm.com> Cc: Rodolfo Giometti <giometti@enneenne.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
45 lines
1.2 KiB
Plaintext
45 lines
1.2 KiB
Plaintext
#
|
|
# 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
|
|
|
|
endmenu
|