123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- # 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
- default ETHERNET
- 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_OPTIONAL
- tristate
- default y if PTP_1588_CLOCK=n
- default PTP_1588_CLOCK
- help
- Drivers that can optionally use the PTP_1588_CLOCK framework
- should depend on this symbol to prevent them from being built
- into vmlinux while the PTP support itself is in a loadable
- module.
- If PTP support is disabled, this dependency will still be
- met, and drivers refer to dummy helpers.
- 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_DPAA2_ETH || FSL_ENETC || FSL_ENETC_VF || COMPILE_TEST
- 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.
- 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
- select CRC32
- 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_INES
- tristate "ZHAW InES PTP time stamping IP core"
- depends on NETWORK_PHY_TIMESTAMPING
- depends on HAS_IOMEM
- depends on PHYLIB
- depends on PTP_1588_CLOCK
- help
- This driver adds support for using the ZHAW InES 1588 IP
- core. This clock is only useful if the MII bus of your MAC
- is wired up to the core.
- config PTP_1588_CLOCK_PCH
- tristate "Intel PCH EG20T as PTP clock"
- depends on X86_32 || COMPILE_TEST
- depends on HAS_IOMEM && PCI
- depends on NET
- depends on 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) mechanism. The peer
- delay mechanism (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) || (HAVE_ARM_SMCCC_DISCOVERY && ARM_ARCH_TIMER)
- 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.
- config PTP_1588_CLOCK_IDT82P33
- tristate "IDT 82P33xxx PTP clock"
- depends on PTP_1588_CLOCK && I2C
- default n
- help
- This driver adds support for using the IDT 82P33xxx as a PTP
- clock. This clock is only useful if your time stamping MAC
- is connected to the IDT chip.
- To compile this driver as a module, choose M here: the module
- will be called ptp_idt82p33.
- config PTP_1588_CLOCK_IDTCM
- tristate "IDT CLOCKMATRIX as PTP clock"
- depends on PTP_1588_CLOCK && I2C
- default n
- help
- This driver adds support for using IDT CLOCKMATRIX(TM) as a PTP
- clock. This clock is only useful if your time stamping MAC
- is connected to the IDT chip.
- To compile this driver as a module, choose M here: the module
- will be called ptp_clockmatrix.
- config PTP_1588_CLOCK_VMW
- tristate "VMware virtual PTP clock"
- depends on ACPI && HYPERVISOR_GUEST && X86
- depends on PTP_1588_CLOCK
- help
- This driver adds support for using VMware virtual precision
- clock device as a PTP clock. This is only useful in virtual
- machines running on VMware virtual infrastructure.
- To compile this driver as a module, choose M here: the module
- will be called ptp_vmw.
- config PTP_1588_CLOCK_OCP
- tristate "OpenCompute TimeCard as PTP clock"
- depends on PTP_1588_CLOCK
- depends on HAS_IOMEM && PCI
- depends on I2C && MTD
- depends on SERIAL_8250
- depends on !S390
- depends on COMMON_CLK
- select NET_DEVLINK
- select CRC16
- help
- This driver adds support for an OpenCompute time card.
- The OpenCompute time card is an atomic clock along with
- a GPS receiver that provides a Grandmaster clock source
- for a PTP enabled network.
- More information is available at http://www.timingcard.com/
- config PTP_QCOM_CLOCK_TSC
- tristate "QCOM TSC as PTP clock"
- depends on COMMON_CLK
- help
- This driver adds support for using the TSC as a PTP clock.
- The hardware supports time stamping of PTP packets.
- This PTP driver also registers interrupts for ETU(Event Timestamp Unit)
- and updates the TSC timestamps to PTP clock.
- To compile this driver as a module, choose M here: the module
- will be called ptp_qcom_tsc.
- endmenu
|