]>
Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
d94ba80e RC |
2 | # |
3 | # PTP clock support configuration | |
4 | # | |
5 | ||
6 | menu "PTP clock support" | |
7 | ||
d94ba80e RC |
8 | config PTP_1588_CLOCK |
9 | tristate "PTP clock support" | |
baa73d9e | 10 | depends on NET && POSIX_TIMERS |
42a7ccef | 11 | select PPS |
408eccce | 12 | select NET_PTP_CLASSIFY |
d94ba80e RC |
13 | 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 | ||
8a56aa10 AP |
29 | config 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 | ||
ceefc71d YL |
45 | config PTP_1588_CLOCK_QORIQ |
46 | tristate "Freescale QorIQ 1588 timer as PTP clock" | |
8099d7ca | 47 | depends on GIANFAR || FSL_DPAA_ETH || FSL_DPAA2_ETH || FSL_ENETC || FSL_ENETC_VF || COMPILE_TEST |
d1cbfd77 | 48 | depends on PTP_1588_CLOCK |
a24006ed | 49 | default y |
c78275f3 | 50 | help |
ceefc71d YL |
51 | 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. | |
c78275f3 RC |
55 | |
56 | To compile this driver as a module, choose M here: the module | |
19df7510 | 57 | will be called ptp-qoriq. |
c78275f3 | 58 | |
cb646e2b | 59 | comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks." |
a24006ed | 60 | depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n |
cb646e2b RC |
61 | |
62 | config DP83640_PHY | |
63 | tristate "Driver for the National Semiconductor DP83640 PHYTER" | |
cb646e2b RC |
64 | depends on NETWORK_PHY_TIMESTAMPING |
65 | depends on PHYLIB | |
d1cbfd77 | 66 | depends on PTP_1588_CLOCK |
f9d6f941 | 67 | select CRC32 |
a7f7f624 | 68 | help |
cb646e2b RC |
69 | Supports the DP83640 PHYTER with IEEE 1588 features. |
70 | ||
71 | This driver adds support for using the DP83640 as a PTP | |
72 | clock. This clock is only useful if your PTP programs are | |
73 | getting hardware time stamps on the PTP Ethernet packets | |
74 | using the SO_TIMESTAMPING API. | |
75 | ||
76 | In order for this to work, your MAC driver must also | |
6b2aac42 | 77 | implement the skb_tx_timestamp() function. |
cb646e2b | 78 | |
bad1eaa6 RC |
79 | config PTP_1588_CLOCK_INES |
80 | tristate "ZHAW InES PTP time stamping IP core" | |
81 | depends on NETWORK_PHY_TIMESTAMPING | |
1f685e6a | 82 | depends on HAS_IOMEM |
bad1eaa6 RC |
83 | depends on PHYLIB |
84 | depends on PTP_1588_CLOCK | |
85 | help | |
86 | This driver adds support for using the ZHAW InES 1588 IP | |
87 | core. This clock is only useful if the MII bus of your MAC | |
88 | is wired up to the core. | |
89 | ||
863d08ec TS |
90 | config PTP_1588_CLOCK_PCH |
91 | tristate "Intel PCH EG20T as PTP clock" | |
bc56151d | 92 | depends on X86_32 || COMPILE_TEST |
1a466ae9 | 93 | depends on HAS_IOMEM && NET |
d1cbfd77 | 94 | imply PTP_1588_CLOCK |
863d08ec TS |
95 | help |
96 | This driver adds support for using the PCH EG20T as a PTP | |
358dfb6d | 97 | clock. The hardware supports time stamping of PTP packets |
503c9add AB |
98 | when using the end-to-end delay (E2E) mechanism. The peer |
99 | delay mechanism (P2P) is not supported. | |
358dfb6d TS |
100 | |
101 | This clock is only useful if your PTP programs are getting | |
102 | hardware time stamps on the PTP Ethernet packets using the | |
103 | SO_TIMESTAMPING API. | |
863d08ec TS |
104 | |
105 | To compile this driver as a module, choose M here: the module | |
106 | will be called ptp_pch. | |
107 | ||
a0e136d4 MT |
108 | config PTP_1588_CLOCK_KVM |
109 | tristate "KVM virtual PTP clock" | |
110 | depends on PTP_1588_CLOCK | |
300bb1fe | 111 | depends on (KVM_GUEST && X86) || (HAVE_ARM_SMCCC_DISCOVERY && ARM_ARCH_TIMER) |
a0e136d4 MT |
112 | default y |
113 | help | |
114 | This driver adds support for using kvm infrastructure as a PTP | |
115 | clock. This clock is only useful if you are using KVM guests. | |
116 | ||
117 | To compile this driver as a module, choose M here: the module | |
118 | will be called ptp_kvm. | |
119 | ||
57a10d8c ML |
120 | config PTP_1588_CLOCK_IDT82P33 |
121 | tristate "IDT 82P33xxx PTP clock" | |
122 | depends on PTP_1588_CLOCK && I2C | |
123 | default n | |
124 | help | |
125 | This driver adds support for using the IDT 82P33xxx as a PTP | |
126 | clock. This clock is only useful if your time stamping MAC | |
127 | is connected to the IDT chip. | |
128 | ||
129 | To compile this driver as a module, choose M here: the module | |
130 | will be called ptp_idt82p33. | |
131 | ||
3a6ba7dc VC |
132 | config PTP_1588_CLOCK_IDTCM |
133 | tristate "IDT CLOCKMATRIX as PTP clock" | |
03b06e3f | 134 | depends on PTP_1588_CLOCK && I2C |
3a6ba7dc VC |
135 | default n |
136 | help | |
137 | This driver adds support for using IDT CLOCKMATRIX(TM) as a PTP | |
138 | clock. This clock is only useful if your time stamping MAC | |
139 | is connected to the IDT chip. | |
140 | ||
141 | To compile this driver as a module, choose M here: the module | |
142 | will be called ptp_clockmatrix. | |
143 | ||
7d10001e VT |
144 | config PTP_1588_CLOCK_VMW |
145 | tristate "VMware virtual PTP clock" | |
146 | depends on ACPI && HYPERVISOR_GUEST && X86 | |
147 | depends on PTP_1588_CLOCK | |
148 | help | |
149 | This driver adds support for using VMware virtual precision | |
150 | clock device as a PTP clock. This is only useful in virtual | |
151 | machines running on VMware virtual infrastructure. | |
152 | ||
153 | To compile this driver as a module, choose M here: the module | |
154 | will be called ptp_vmw. | |
155 | ||
a7e1abad JL |
156 | config PTP_1588_CLOCK_OCP |
157 | tristate "OpenCompute TimeCard as PTP clock" | |
158 | depends on PTP_1588_CLOCK | |
159 | depends on HAS_IOMEM && PCI | |
160 | default n | |
161 | help | |
162 | This driver adds support for an OpenCompute time card. | |
163 | ||
164 | The OpenCompute time card is an atomic clock along with | |
165 | a GPS receiver that provides a Grandmaster clock source | |
166 | for a PTP enabled network. | |
167 | ||
168 | More information is available at http://www.timingcard.com/ | |
169 | ||
d94ba80e | 170 | endmenu |