|  | # SPDX-License-Identifier: GPL-2.0-only | 
|  | # | 
|  | # PTP clock support configuration | 
|  | # | 
|  |  | 
|  | menu "PTP clock support" | 
|  |  | 
|  | config PTP_1588_CLOCK | 
|  | tristate "PTP clock support" | 
|  | depends on NET && POSIX_TIMERS | 
|  | select PPS | 
|  | select NET_PTP_CLASSIFY | 
|  | help | 
|  | The IEEE 1588 standard defines a method to precisely | 
|  | synchronize distributed clocks over Ethernet networks. The | 
|  | standard defines a Precision Time Protocol (PTP), which can | 
|  | be used to achieve synchronization within a few dozen | 
|  | microseconds. In addition, with the help of special hardware | 
|  | time stamping units, it can be possible to achieve | 
|  | synchronization to within a few hundred nanoseconds. | 
|  |  | 
|  | This driver adds support for PTP clocks as character | 
|  | devices. If you want to use a PTP clock, then you should | 
|  | also enable at least one clock driver as well. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called ptp. | 
|  |  | 
|  | config PTP_1588_CLOCK_DTE | 
|  | tristate "Broadcom DTE as PTP clock" | 
|  | depends on PTP_1588_CLOCK | 
|  | depends on NET && HAS_IOMEM | 
|  | depends on ARCH_BCM_MOBILE || (ARCH_BCM_IPROC && !(ARCH_BCM_NSP || ARCH_BCM_5301X)) || COMPILE_TEST | 
|  | default y | 
|  | help | 
|  | This driver adds support for using the Digital timing engine | 
|  | (DTE) in the Broadcom SoC's as a PTP clock. | 
|  |  | 
|  | The clock can be used in both wired and wireless networks | 
|  | for PTP purposes. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called ptp_dte. | 
|  |  | 
|  | config PTP_1588_CLOCK_QORIQ | 
|  | tristate "Freescale QorIQ 1588 timer as PTP clock" | 
|  | depends on GIANFAR || FSL_DPAA_ETH || FSL_ENETC || FSL_ENETC_VF | 
|  | depends on PTP_1588_CLOCK | 
|  | default y | 
|  | help | 
|  | This driver adds support for using the Freescale QorIQ 1588 | 
|  | timer as a PTP clock. This clock is only useful if your PTP | 
|  | programs are getting hardware time stamps on the PTP Ethernet | 
|  | packets using the SO_TIMESTAMPING API. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called ptp-qoriq. | 
|  |  | 
|  | config PTP_1588_CLOCK_IXP46X | 
|  | tristate "Intel IXP46x as PTP clock" | 
|  | depends on IXP4XX_ETH | 
|  | depends on PTP_1588_CLOCK | 
|  | default y | 
|  | help | 
|  | This driver adds support for using the IXP46X as a PTP | 
|  | clock. This clock is only useful if your PTP programs are | 
|  | getting hardware time stamps on the PTP Ethernet packets | 
|  | using the SO_TIMESTAMPING API. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called ptp_ixp46x. | 
|  |  | 
|  | comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks." | 
|  | depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n | 
|  |  | 
|  | config DP83640_PHY | 
|  | tristate "Driver for the National Semiconductor DP83640 PHYTER" | 
|  | depends on NETWORK_PHY_TIMESTAMPING | 
|  | depends on PHYLIB | 
|  | depends on PTP_1588_CLOCK | 
|  | ---help--- | 
|  | Supports the DP83640 PHYTER with IEEE 1588 features. | 
|  |  | 
|  | This driver adds support for using the DP83640 as a PTP | 
|  | clock. This clock is only useful if your PTP programs are | 
|  | getting hardware time stamps on the PTP Ethernet packets | 
|  | using the SO_TIMESTAMPING API. | 
|  |  | 
|  | In order for this to work, your MAC driver must also | 
|  | implement the skb_tx_timestamp() function. | 
|  |  | 
|  | config PTP_1588_CLOCK_PCH | 
|  | tristate "Intel PCH EG20T as PTP clock" | 
|  | depends on X86_32 || COMPILE_TEST | 
|  | depends on HAS_IOMEM && NET | 
|  | imply PTP_1588_CLOCK | 
|  | help | 
|  | This driver adds support for using the PCH EG20T as a PTP | 
|  | clock. The hardware supports time stamping of PTP packets | 
|  | when using the end-to-end delay (E2E) mechansim. The peer | 
|  | delay mechansim (P2P) is not supported. | 
|  |  | 
|  | This clock is only useful if your PTP programs are getting | 
|  | hardware time stamps on the PTP Ethernet packets using the | 
|  | SO_TIMESTAMPING API. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called ptp_pch. | 
|  |  | 
|  | config PTP_1588_CLOCK_KVM | 
|  | tristate "KVM virtual PTP clock" | 
|  | depends on PTP_1588_CLOCK | 
|  | depends on KVM_GUEST && X86 | 
|  | default y | 
|  | help | 
|  | This driver adds support for using kvm infrastructure as a PTP | 
|  | clock. This clock is only useful if you are using KVM guests. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called ptp_kvm. | 
|  |  | 
|  | endmenu |