blob: aeb4a8b2e0afd4d9727426fe85332d50fab4279d [file] [log] [blame]
Richard Cochrand94ba802011-04-22 12:03:08 +02001#
2# PTP clock support configuration
3#
4
5menu "PTP clock support"
6
Richard Cochrand94ba802011-04-22 12:03:08 +02007config PTP_1588_CLOCK
8 tristate "PTP clock support"
Nicolas Pitrebaa73d92016-11-11 00:10:10 -05009 depends on NET && POSIX_TIMERS
Ben Hutchings42a7cce2012-10-31 15:32:44 +000010 select PPS
Daniel Borkmann408eccc2014-04-01 16:20:23 +020011 select NET_PTP_CLASSIFY
Richard Cochrand94ba802011-04-22 12:03:08 +020012 help
13 The IEEE 1588 standard defines a method to precisely
14 synchronize distributed clocks over Ethernet networks. The
15 standard defines a Precision Time Protocol (PTP), which can
16 be used to achieve synchronization within a few dozen
17 microseconds. In addition, with the help of special hardware
18 time stamping units, it can be possible to achieve
19 synchronization to within a few hundred nanoseconds.
20
21 This driver adds support for PTP clocks as character
22 devices. If you want to use a PTP clock, then you should
23 also enable at least one clock driver as well.
24
25 To compile this driver as a module, choose M here: the module
26 will be called ptp.
27
Arun Parameswaran8a56aa12017-06-12 13:26:01 -070028config PTP_1588_CLOCK_DTE
29 tristate "Broadcom DTE as PTP clock"
30 depends on PTP_1588_CLOCK
31 depends on NET && HAS_IOMEM
32 depends on ARCH_BCM_MOBILE || (ARCH_BCM_IPROC && !(ARCH_BCM_NSP || ARCH_BCM_5301X)) || COMPILE_TEST
33 default y
34 help
35 This driver adds support for using the Digital timing engine
36 (DTE) in the Broadcom SoC's as a PTP clock.
37
38 The clock can be used in both wired and wireless networks
39 for PTP purposes.
40
41 To compile this driver as a module, choose M here: the module
42 will be called ptp_dte.
43
Yangbo Luceefc71d2018-05-25 12:40:34 +080044config PTP_1588_CLOCK_QORIQ
45 tristate "Freescale QorIQ 1588 timer as PTP clock"
Yangbo Lua8f62d02018-06-25 20:37:08 +080046 depends on GIANFAR || FSL_DPAA_ETH
Nicolas Pitred1cbfd72016-11-11 00:10:07 -050047 depends on PTP_1588_CLOCK
Ben Hutchingsa24006e2012-10-31 15:33:52 +000048 default y
Richard Cochranc78275f2011-04-22 12:03:54 +020049 help
Yangbo Luceefc71d2018-05-25 12:40:34 +080050 This driver adds support for using the Freescale QorIQ 1588
51 timer as a PTP clock. This clock is only useful if your PTP
52 programs are getting hardware time stamps on the PTP Ethernet
53 packets using the SO_TIMESTAMPING API.
Richard Cochranc78275f2011-04-22 12:03:54 +020054
55 To compile this driver as a module, choose M here: the module
Yangbo Lu19df7512019-01-21 18:41:42 +080056 will be called ptp-qoriq.
Richard Cochranc78275f2011-04-22 12:03:54 +020057
Richard Cochran32bd93e2011-04-22 12:04:31 +020058config PTP_1588_CLOCK_IXP46X
59 tristate "Intel IXP46x as PTP clock"
Richard Cochran32bd93e2011-04-22 12:04:31 +020060 depends on IXP4XX_ETH
Nicolas Pitred1cbfd72016-11-11 00:10:07 -050061 depends on PTP_1588_CLOCK
Ben Hutchingsa24006e2012-10-31 15:33:52 +000062 default y
Richard Cochran32bd93e2011-04-22 12:04:31 +020063 help
64 This driver adds support for using the IXP46X as a PTP
65 clock. This clock is only useful if your PTP programs are
66 getting hardware time stamps on the PTP Ethernet packets
67 using the SO_TIMESTAMPING API.
68
69 To compile this driver as a module, choose M here: the module
70 will be called ptp_ixp46x.
71
Richard Cochrancb646e22011-04-22 12:04:55 +020072comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks."
Ben Hutchingsa24006e2012-10-31 15:33:52 +000073 depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n
Richard Cochrancb646e22011-04-22 12:04:55 +020074
75config DP83640_PHY
76 tristate "Driver for the National Semiconductor DP83640 PHYTER"
Richard Cochrancb646e22011-04-22 12:04:55 +020077 depends on NETWORK_PHY_TIMESTAMPING
78 depends on PHYLIB
Nicolas Pitred1cbfd72016-11-11 00:10:07 -050079 depends on PTP_1588_CLOCK
Richard Cochrancb646e22011-04-22 12:04:55 +020080 ---help---
81 Supports the DP83640 PHYTER with IEEE 1588 features.
82
83 This driver adds support for using the DP83640 as a PTP
84 clock. This clock is only useful if your PTP programs are
85 getting hardware time stamps on the PTP Ethernet packets
86 using the SO_TIMESTAMPING API.
87
88 In order for this to work, your MAC driver must also
Masanari Iida6b2aac42012-04-14 00:14:11 +090089 implement the skb_tx_timestamp() function.
Richard Cochrancb646e22011-04-22 12:04:55 +020090
Takahiro Shimizu863d08e2012-03-07 22:16:26 +000091config PTP_1588_CLOCK_PCH
92 tristate "Intel PCH EG20T as PTP clock"
Jean Delvarebc561512014-06-17 11:59:20 +020093 depends on X86_32 || COMPILE_TEST
Randy Dunlap1a466ae2014-05-08 14:54:42 -070094 depends on HAS_IOMEM && NET
Nicolas Pitred1cbfd72016-11-11 00:10:07 -050095 imply PTP_1588_CLOCK
Takahiro Shimizu863d08e2012-03-07 22:16:26 +000096 help
97 This driver adds support for using the PCH EG20T as a PTP
Takahiro Shimizu358dfb62012-04-20 18:50:34 +000098 clock. The hardware supports time stamping of PTP packets
99 when using the end-to-end delay (E2E) mechansim. The peer
100 delay mechansim (P2P) is not supported.
101
102 This clock is only useful if your PTP programs are getting
103 hardware time stamps on the PTP Ethernet packets using the
104 SO_TIMESTAMPING API.
Takahiro Shimizu863d08e2012-03-07 22:16:26 +0000105
106 To compile this driver as a module, choose M here: the module
107 will be called ptp_pch.
108
Marcelo Tosattia0e136d2017-01-24 15:09:42 -0200109config PTP_1588_CLOCK_KVM
110 tristate "KVM virtual PTP clock"
111 depends on PTP_1588_CLOCK
112 depends on KVM_GUEST && X86
113 default y
114 help
115 This driver adds support for using kvm infrastructure as a PTP
116 clock. This clock is only useful if you are using KVM guests.
117
118 To compile this driver as a module, choose M here: the module
119 will be called ptp_kvm.
120
Richard Cochrand94ba802011-04-22 12:03:08 +0200121endmenu