216 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			216 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								# 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 MIPS_GENERIC || 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_MOCK
							 | 
						||
| 
								 | 
							
									tristate "Mock-up PTP clock"
							 | 
						||
| 
								 | 
							
									depends on PTP_1588_CLOCK
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  This driver offers a set of PTP clock manipulation operations over
							 | 
						||
| 
								 | 
							
									  the system monotonic time. It can be used by virtual network device
							 | 
						||
| 
								 | 
							
									  drivers to emulate PTP capabilities.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  To compile this driver as a module, choose M here: the module
							 | 
						||
| 
								 | 
							
									  will be called ptp_mock.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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
							 | 
						||
| 
								 | 
							
									select DPLL
							 | 
						||
| 
								 | 
							
									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_DFL_TOD
							 | 
						||
| 
								 | 
							
									tristate "FPGA DFL ToD Driver"
							 | 
						||
| 
								 | 
							
									depends on FPGA_DFL
							 | 
						||
| 
								 | 
							
									depends on PTP_1588_CLOCK
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  The DFL (Device Feature List) device driver for the Intel ToD
							 | 
						||
| 
								 | 
							
									  (Time-of-Day) device in FPGA card. The ToD IP within the FPGA
							 | 
						||
| 
								 | 
							
									  is exposed as PTP Hardware Clock (PHC) device to the Linux PTP
							 | 
						||
| 
								 | 
							
									  stack to synchronize the system clock to its ToD information
							 | 
						||
| 
								 | 
							
									  using phc2sys utility of the Linux PTP stack.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  To compile this driver as a module, choose M here: the module
							 | 
						||
| 
								 | 
							
									  will be called ptp_dfl_tod.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								endmenu
							 |