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