xref: /openbmc/linux/drivers/ptp/Kconfig (revision aac5987a)
1#
2# PTP clock support configuration
3#
4
5menu "PTP clock support"
6
7config PTP_1588_CLOCK
8	tristate "PTP clock support"
9	depends on NET && POSIX_TIMERS
10	select PPS
11	select NET_PTP_CLASSIFY
12	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
28config PTP_1588_CLOCK_GIANFAR
29	tristate "Freescale eTSEC as PTP clock"
30	depends on GIANFAR
31	depends on PTP_1588_CLOCK
32	default y
33	help
34	  This driver adds support for using the eTSEC as a PTP
35	  clock. This clock is only useful if your PTP programs are
36	  getting hardware time stamps on the PTP Ethernet packets
37	  using the SO_TIMESTAMPING API.
38
39	  To compile this driver as a module, choose M here: the module
40	  will be called gianfar_ptp.
41
42config PTP_1588_CLOCK_IXP46X
43	tristate "Intel IXP46x as PTP clock"
44	depends on IXP4XX_ETH
45	depends on PTP_1588_CLOCK
46	default y
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 PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n
58
59config DP83640_PHY
60	tristate "Driver for the National Semiconductor DP83640 PHYTER"
61	depends on NETWORK_PHY_TIMESTAMPING
62	depends on PHYLIB
63	depends on PTP_1588_CLOCK
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 X86_32 || COMPILE_TEST
78	depends on HAS_IOMEM && NET
79	imply PTP_1588_CLOCK
80	help
81	  This driver adds support for using the PCH EG20T as a PTP
82	  clock. The hardware supports time stamping of PTP packets
83	  when using the end-to-end delay (E2E) mechansim. The peer
84	  delay mechansim (P2P) is not supported.
85
86	  This clock is only useful if your PTP programs are getting
87	  hardware time stamps on the PTP Ethernet packets using the
88	  SO_TIMESTAMPING API.
89
90	  To compile this driver as a module, choose M here: the module
91	  will be called ptp_pch.
92
93config PTP_1588_CLOCK_KVM
94	tristate "KVM virtual PTP clock"
95	depends on PTP_1588_CLOCK
96	depends on KVM_GUEST && X86
97	default y
98	help
99	  This driver adds support for using kvm infrastructure as a PTP
100	  clock. This clock is only useful if you are using KVM guests.
101
102	  To compile this driver as a module, choose M here: the module
103	  will be called ptp_kvm.
104
105endmenu
106