xref: /openbmc/linux/drivers/ptp/Kconfig (revision e1858b2a)
1#
2# PTP clock support configuration
3#
4
5menu "PTP clock support"
6
7comment "Enable Device Drivers -> PPS to see the PTP clock options."
8	depends on PPS=n
9
10config PTP_1588_CLOCK
11	tristate "PTP clock support"
12	depends on EXPERIMENTAL
13	depends on PPS
14	help
15	  The IEEE 1588 standard defines a method to precisely
16	  synchronize distributed clocks over Ethernet networks. The
17	  standard defines a Precision Time Protocol (PTP), which can
18	  be used to achieve synchronization within a few dozen
19	  microseconds. In addition, with the help of special hardware
20	  time stamping units, it can be possible to achieve
21	  synchronization to within a few hundred nanoseconds.
22
23	  This driver adds support for PTP clocks as character
24	  devices. If you want to use a PTP clock, then you should
25	  also enable at least one clock driver as well.
26
27	  To compile this driver as a module, choose M here: the module
28	  will be called ptp.
29
30config PTP_1588_CLOCK_GIANFAR
31	tristate "Freescale eTSEC as PTP clock"
32	depends on PTP_1588_CLOCK
33	depends on GIANFAR
34	help
35	  This driver adds support for using the eTSEC as a PTP
36	  clock. This clock is only useful if your PTP programs are
37	  getting hardware time stamps on the PTP Ethernet packets
38	  using the SO_TIMESTAMPING API.
39
40	  To compile this driver as a module, choose M here: the module
41	  will be called gianfar_ptp.
42
43config PTP_1588_CLOCK_IXP46X
44	tristate "Intel IXP46x as PTP clock"
45	depends on PTP_1588_CLOCK
46	depends on IXP4XX_ETH
47	help
48	  This driver adds support for using the IXP46X as a PTP
49	  clock. This clock is only useful if your PTP programs are
50	  getting hardware time stamps on the PTP Ethernet packets
51	  using the SO_TIMESTAMPING API.
52
53	  To compile this driver as a module, choose M here: the module
54	  will be called ptp_ixp46x.
55
56comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks."
57	depends on PTP_1588_CLOCK && (PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n)
58
59config DP83640_PHY
60	tristate "Driver for the National Semiconductor DP83640 PHYTER"
61	depends on PTP_1588_CLOCK
62	depends on NETWORK_PHY_TIMESTAMPING
63	depends on PHYLIB
64	---help---
65	  Supports the DP83640 PHYTER with IEEE 1588 features.
66
67	  This driver adds support for using the DP83640 as a PTP
68	  clock. This clock is only useful if your PTP programs are
69	  getting hardware time stamps on the PTP Ethernet packets
70	  using the SO_TIMESTAMPING API.
71
72	  In order for this to work, your MAC driver must also
73	  implement the skb_tx_timestamp() function.
74
75config PTP_1588_CLOCK_PCH
76	tristate "Intel PCH EG20T as PTP clock"
77	depends on PTP_1588_CLOCK
78	depends on PCH_GBE
79	help
80	  This driver adds support for using the PCH EG20T as a PTP
81	  clock. The hardware supports time stamping of PTP packets
82	  when using the end-to-end delay (E2E) mechansim. The peer
83	  delay mechansim (P2P) is not supported.
84
85	  This clock is only useful if your PTP programs are getting
86	  hardware time stamps on the PTP Ethernet packets using the
87	  SO_TIMESTAMPING API.
88
89	  To compile this driver as a module, choose M here: the module
90	  will be called ptp_pch.
91
92endmenu
93