blob: 0517272a268edb82743993d49861e17a1fb30f79 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Richard Cochrand94ba802011-04-22 12:03:08 +02002#
3# PTP clock support configuration
4#
5
6menu "PTP clock support"
7
Richard Cochrand94ba802011-04-22 12:03:08 +02008config PTP_1588_CLOCK
9 tristate "PTP clock support"
Nicolas Pitrebaa73d92016-11-11 00:10:10 -050010 depends on NET && POSIX_TIMERS
Ben Hutchings42a7cce2012-10-31 15:32:44 +000011 select PPS
Daniel Borkmann408eccc2014-04-01 16:20:23 +020012 select NET_PTP_CLASSIFY
Richard Cochrand94ba802011-04-22 12:03:08 +020013 help
14 The IEEE 1588 standard defines a method to precisely
15 synchronize distributed clocks over Ethernet networks. The
16 standard defines a Precision Time Protocol (PTP), which can
17 be used to achieve synchronization within a few dozen
18 microseconds. In addition, with the help of special hardware
19 time stamping units, it can be possible to achieve
20 synchronization to within a few hundred nanoseconds.
21
22 This driver adds support for PTP clocks as character
23 devices. If you want to use a PTP clock, then you should
24 also enable at least one clock driver as well.
25
26 To compile this driver as a module, choose M here: the module
27 will be called ptp.
28
Arun Parameswaran8a56aa12017-06-12 13:26:01 -070029config PTP_1588_CLOCK_DTE
30 tristate "Broadcom DTE as PTP clock"
31 depends on PTP_1588_CLOCK
32 depends on NET && HAS_IOMEM
33 depends on ARCH_BCM_MOBILE || (ARCH_BCM_IPROC && !(ARCH_BCM_NSP || ARCH_BCM_5301X)) || COMPILE_TEST
34 default y
35 help
36 This driver adds support for using the Digital timing engine
37 (DTE) in the Broadcom SoC's as a PTP clock.
38
39 The clock can be used in both wired and wireless networks
40 for PTP purposes.
41
42 To compile this driver as a module, choose M here: the module
43 will be called ptp_dte.
44
Yangbo Luceefc71d2018-05-25 12:40:34 +080045config PTP_1588_CLOCK_QORIQ
46 tristate "Freescale QorIQ 1588 timer as PTP clock"
Yangbo Lu8099d7c2019-06-14 18:40:50 +080047 depends on GIANFAR || FSL_DPAA_ETH || FSL_DPAA2_ETH || FSL_ENETC || FSL_ENETC_VF || COMPILE_TEST
Nicolas Pitred1cbfd72016-11-11 00:10:07 -050048 depends on PTP_1588_CLOCK
Ben Hutchingsa24006e2012-10-31 15:33:52 +000049 default y
Richard Cochranc78275f2011-04-22 12:03:54 +020050 help
Yangbo Luceefc71d2018-05-25 12:40:34 +080051 This driver adds support for using the Freescale QorIQ 1588
52 timer as a PTP clock. This clock is only useful if your PTP
53 programs are getting hardware time stamps on the PTP Ethernet
54 packets using the SO_TIMESTAMPING API.
Richard Cochranc78275f2011-04-22 12:03:54 +020055
56 To compile this driver as a module, choose M here: the module
Yangbo Lu19df7512019-01-21 18:41:42 +080057 will be called ptp-qoriq.
Richard Cochranc78275f2011-04-22 12:03:54 +020058
Richard Cochran32bd93e2011-04-22 12:04:31 +020059config PTP_1588_CLOCK_IXP46X
60 tristate "Intel IXP46x as PTP clock"
Richard Cochran32bd93e2011-04-22 12:04:31 +020061 depends on IXP4XX_ETH
Nicolas Pitred1cbfd72016-11-11 00:10:07 -050062 depends on PTP_1588_CLOCK
Ben Hutchingsa24006e2012-10-31 15:33:52 +000063 default y
Richard Cochran32bd93e2011-04-22 12:04:31 +020064 help
65 This driver adds support for using the IXP46X as a PTP
66 clock. This clock is only useful if your PTP programs are
67 getting hardware time stamps on the PTP Ethernet packets
68 using the SO_TIMESTAMPING API.
69
70 To compile this driver as a module, choose M here: the module
71 will be called ptp_ixp46x.
72
Richard Cochrancb646e22011-04-22 12:04:55 +020073comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks."
Ben Hutchingsa24006e2012-10-31 15:33:52 +000074 depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n
Richard Cochrancb646e22011-04-22 12:04:55 +020075
76config DP83640_PHY
77 tristate "Driver for the National Semiconductor DP83640 PHYTER"
Richard Cochrancb646e22011-04-22 12:04:55 +020078 depends on NETWORK_PHY_TIMESTAMPING
79 depends on PHYLIB
Nicolas Pitred1cbfd72016-11-11 00:10:07 -050080 depends on PTP_1588_CLOCK
Richard Cochrancb646e22011-04-22 12:04:55 +020081 ---help---
82 Supports the DP83640 PHYTER with IEEE 1588 features.
83
84 This driver adds support for using the DP83640 as a PTP
85 clock. This clock is only useful if your PTP programs are
86 getting hardware time stamps on the PTP Ethernet packets
87 using the SO_TIMESTAMPING API.
88
89 In order for this to work, your MAC driver must also
Masanari Iida6b2aac42012-04-14 00:14:11 +090090 implement the skb_tx_timestamp() function.
Richard Cochrancb646e22011-04-22 12:04:55 +020091
Takahiro Shimizu863d08e2012-03-07 22:16:26 +000092config PTP_1588_CLOCK_PCH
93 tristate "Intel PCH EG20T as PTP clock"
Jean Delvarebc561512014-06-17 11:59:20 +020094 depends on X86_32 || COMPILE_TEST
Randy Dunlap1a466ae2014-05-08 14:54:42 -070095 depends on HAS_IOMEM && NET
Nicolas Pitred1cbfd72016-11-11 00:10:07 -050096 imply PTP_1588_CLOCK
Takahiro Shimizu863d08e2012-03-07 22:16:26 +000097 help
98 This driver adds support for using the PCH EG20T as a PTP
Takahiro Shimizu358dfb62012-04-20 18:50:34 +000099 clock. The hardware supports time stamping of PTP packets
Antonio Borneo503c9ad2019-10-07 17:43:02 +0200100 when using the end-to-end delay (E2E) mechanism. The peer
101 delay mechanism (P2P) is not supported.
Takahiro Shimizu358dfb62012-04-20 18:50:34 +0000102
103 This clock is only useful if your PTP programs are getting
104 hardware time stamps on the PTP Ethernet packets using the
105 SO_TIMESTAMPING API.
Takahiro Shimizu863d08e2012-03-07 22:16:26 +0000106
107 To compile this driver as a module, choose M here: the module
108 will be called ptp_pch.
109
Marcelo Tosattia0e136d2017-01-24 15:09:42 -0200110config PTP_1588_CLOCK_KVM
111 tristate "KVM virtual PTP clock"
112 depends on PTP_1588_CLOCK
113 depends on KVM_GUEST && X86
114 default y
115 help
116 This driver adds support for using kvm infrastructure as a PTP
117 clock. This clock is only useful if you are using KVM guests.
118
119 To compile this driver as a module, choose M here: the module
120 will be called ptp_kvm.
121
Richard Cochrand94ba802011-04-22 12:03:08 +0200122endmenu