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 | |
32bd93e8 RC |
59 | config PTP_1588_CLOCK_IXP46X |
60 | tristate "Intel IXP46x as PTP clock" | |
32bd93e8 | 61 | depends on IXP4XX_ETH |
d1cbfd77 | 62 | depends on PTP_1588_CLOCK |
a24006ed | 63 | default y |
32bd93e8 RC |
64 | 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 | ||
cb646e2b | 73 | comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks." |
a24006ed | 74 | depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n |
cb646e2b RC |
75 | |
76 | config DP83640_PHY | |
77 | tristate "Driver for the National Semiconductor DP83640 PHYTER" | |
cb646e2b RC |
78 | depends on NETWORK_PHY_TIMESTAMPING |
79 | depends on PHYLIB | |
d1cbfd77 | 80 | depends on PTP_1588_CLOCK |
cb646e2b RC |
81 | ---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 | |
6b2aac42 | 90 | implement the skb_tx_timestamp() function. |
cb646e2b | 91 | |
863d08ec TS |
92 | config PTP_1588_CLOCK_PCH |
93 | tristate "Intel PCH EG20T as PTP clock" | |
bc56151d | 94 | depends on X86_32 || COMPILE_TEST |
1a466ae9 | 95 | depends on HAS_IOMEM && NET |
d1cbfd77 | 96 | imply PTP_1588_CLOCK |
863d08ec TS |
97 | help |
98 | This driver adds support for using the PCH EG20T as a PTP | |
358dfb6d TS |
99 | clock. The hardware supports time stamping of PTP packets |
100 | when using the end-to-end delay (E2E) mechansim. The peer | |
101 | delay mechansim (P2P) is not supported. | |
102 | ||
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. | |
863d08ec TS |
106 | |
107 | To compile this driver as a module, choose M here: the module | |
108 | will be called ptp_pch. | |
109 | ||
a0e136d4 MT |
110 | config 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 | ||
d94ba80e | 122 | endmenu |