Merge remote-tracking branches 'asoc/fix/arizona', 'asoc/fix/fsl', 'asoc/fix/fsl...
[firefly-linux-kernel-4.4.55.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         depends on NET
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
28 config PTP_1588_CLOCK_GIANFAR
29         tristate "Freescale eTSEC as PTP clock"
30         depends on GIANFAR
31         select 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
42 config PTP_1588_CLOCK_IXP46X
43         tristate "Intel IXP46x as PTP clock"
44         depends on IXP4XX_ETH
45         select 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
56 comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks."
57         depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n
58
59 config DP83640_PHY
60         tristate "Driver for the National Semiconductor DP83640 PHYTER"
61         depends on NETWORK_PHY_TIMESTAMPING
62         depends on PHYLIB
63         select 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
75 config 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         select 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
93 endmenu