Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[cascardo/linux.git] / drivers / ptp / Kconfig
1 #
2 # PTP clock support configuration
3 #
4
5 menu "PTP clock support"
6
7 comment "Enable Device Drivers -> PPS to see the PTP clock options."
8         depends on PPS=n
9
10 config 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
30 config 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
43 config 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
56 comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks."
57         depends on PTP_1588_CLOCK && (PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n)
58
59 config 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
75 config 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
92 endmenu