brintos

brintos / linux-shallow public Read only

0
0
Text · 7.3 KiB · 604541d Raw
228 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2#3# PTP clock support configuration4#5 6menu "PTP clock support"7 8config PTP_1588_CLOCK9	tristate "PTP clock support"10	depends on NET && POSIX_TIMERS11	default ETHERNET12	select PPS13	select NET_PTP_CLASSIFY14	help15	  The IEEE 1588 standard defines a method to precisely16	  synchronize distributed clocks over Ethernet networks. The17	  standard defines a Precision Time Protocol (PTP), which can18	  be used to achieve synchronization within a few dozen19	  microseconds. In addition, with the help of special hardware20	  time stamping units, it can be possible to achieve21	  synchronization to within a few hundred nanoseconds.22 23	  This driver adds support for PTP clocks as character24	  devices. If you want to use a PTP clock, then you should25	  also enable at least one clock driver as well.26 27	  To compile this driver as a module, choose M here: the module28	  will be called ptp.29 30config PTP_1588_CLOCK_OPTIONAL31	tristate32	default y if PTP_1588_CLOCK=n33	default PTP_1588_CLOCK34	help35	  Drivers that can optionally use the PTP_1588_CLOCK framework36	  should depend on this symbol to prevent them from being built37	  into vmlinux while the PTP support itself is in a loadable38	  module.39	  If PTP support is disabled, this dependency will still be40	  met, and drivers refer to dummy helpers.41 42config PTP_1588_CLOCK_DTE43	tristate "Broadcom DTE as PTP clock"44	depends on PTP_1588_CLOCK45	depends on NET && HAS_IOMEM46	depends on ARCH_BCM_MOBILE || (ARCH_BCM_IPROC && !(ARCH_BCM_NSP || ARCH_BCM_5301X)) || COMPILE_TEST47	default y48	help49	  This driver adds support for using the Digital timing engine50	  (DTE) in the Broadcom SoC's as a PTP clock.51 52	  The clock can be used in both wired and wireless networks53	  for PTP purposes.54 55	  To compile this driver as a module, choose M here: the module56	  will be called ptp_dte.57 58config PTP_1588_CLOCK_QORIQ59	tristate "Freescale QorIQ 1588 timer as PTP clock"60	depends on GIANFAR || FSL_DPAA_ETH || FSL_DPAA2_ETH || FSL_ENETC || FSL_ENETC_VF || COMPILE_TEST61	depends on PTP_1588_CLOCK62	default y63	help64	  This driver adds support for using the Freescale QorIQ 158865	  timer as a PTP clock. This clock is only useful if your PTP66	  programs are getting hardware time stamps on the PTP Ethernet67	  packets using the SO_TIMESTAMPING API.68 69	  To compile this driver as a module, choose M here: the module70	  will be called ptp-qoriq.71 72comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks."73	depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n74 75config DP83640_PHY76	tristate "Driver for the National Semiconductor DP83640 PHYTER"77	depends on NETWORK_PHY_TIMESTAMPING78	depends on PHYLIB79	depends on PTP_1588_CLOCK80	select CRC3281	help82	  Supports the DP83640 PHYTER with IEEE 1588 features.83 84	  This driver adds support for using the DP83640 as a PTP85	  clock. This clock is only useful if your PTP programs are86	  getting hardware time stamps on the PTP Ethernet packets87	  using the SO_TIMESTAMPING API.88 89	  In order for this to work, your MAC driver must also90	  implement the skb_tx_timestamp() function.91 92config PTP_1588_CLOCK_INES93	tristate "ZHAW InES PTP time stamping IP core"94	depends on NETWORK_PHY_TIMESTAMPING95	depends on HAS_IOMEM96	depends on PHYLIB97	depends on PTP_1588_CLOCK98	help99	  This driver adds support for using the ZHAW InES 1588 IP100	  core.  This clock is only useful if the MII bus of your MAC101	  is wired up to the core.102 103config PTP_1588_CLOCK_PCH104	tristate "Intel PCH EG20T as PTP clock"105	depends on MIPS_GENERIC || X86_32 || COMPILE_TEST106	depends on HAS_IOMEM && PCI107	depends on NET108	depends on PTP_1588_CLOCK109	help110	  This driver adds support for using the PCH EG20T as a PTP111	  clock. The hardware supports time stamping of PTP packets112	  when using the end-to-end delay (E2E) mechanism. The peer113	  delay mechanism (P2P) is not supported.114 115	  This clock is only useful if your PTP programs are getting116	  hardware time stamps on the PTP Ethernet packets using the117	  SO_TIMESTAMPING API.118 119	  To compile this driver as a module, choose M here: the module120	  will be called ptp_pch.121 122config PTP_1588_CLOCK_KVM123	tristate "KVM virtual PTP clock"124	depends on PTP_1588_CLOCK125	depends on (KVM_GUEST && X86) || (HAVE_ARM_SMCCC_DISCOVERY && ARM_ARCH_TIMER)126	default y127	help128	  This driver adds support for using kvm infrastructure as a PTP129	  clock. This clock is only useful if you are using KVM guests.130 131	  To compile this driver as a module, choose M here: the module132	  will be called ptp_kvm.133 134config PTP_1588_CLOCK_IDT82P33135	tristate "IDT 82P33xxx PTP clock"136	depends on PTP_1588_CLOCK && I2C137	default n138	help139	  This driver adds support for using the IDT 82P33xxx as a PTP140	  clock. This clock is only useful if your time stamping MAC141	  is connected to the IDT chip.142 143	  To compile this driver as a module, choose M here: the module144	  will be called ptp_idt82p33.145 146config PTP_1588_CLOCK_IDTCM147	tristate "IDT CLOCKMATRIX as PTP clock"148	depends on PTP_1588_CLOCK && I2C149	default n150	help151	  This driver adds support for using IDT CLOCKMATRIX(TM) as a PTP152	  clock. This clock is only useful if your time stamping MAC153	  is connected to the IDT chip.154 155	  To compile this driver as a module, choose M here: the module156	  will be called ptp_clockmatrix.157 158config PTP_1588_CLOCK_FC3W159	tristate "RENESAS FemtoClock3 Wireless as PTP clock"160	depends on PTP_1588_CLOCK && I2C161	default n162	help163	  This driver adds support for using Renesas FemtoClock3 Wireless164	  as a PTP clock. This clock is only useful if your time stamping165	  MAC is connected to the RENESAS chip.166 167	  To compile this driver as a module, choose M here: the module168	  will be called ptp_fc3.169 170config PTP_1588_CLOCK_MOCK171	tristate "Mock-up PTP clock"172	depends on PTP_1588_CLOCK173	help174	  This driver offers a set of PTP clock manipulation operations over175	  the system monotonic time. It can be used by virtual network device176	  drivers to emulate PTP capabilities.177 178	  To compile this driver as a module, choose M here: the module179	  will be called ptp_mock.180 181config PTP_1588_CLOCK_VMW182	tristate "VMware virtual PTP clock"183	depends on ACPI && HYPERVISOR_GUEST && X86184	depends on PTP_1588_CLOCK185	help186	  This driver adds support for using VMware virtual precision187	  clock device as a PTP clock. This is only useful in virtual188	  machines running on VMware virtual infrastructure.189 190	  To compile this driver as a module, choose M here: the module191	  will be called ptp_vmw.192 193config PTP_1588_CLOCK_OCP194	tristate "OpenCompute TimeCard as PTP clock"195	depends on PTP_1588_CLOCK196	depends on HAS_IOMEM && PCI197	depends on I2C && MTD198	depends on SERIAL_8250199	depends on !S390200	depends on COMMON_CLK201	select NET_DEVLINK202	select CRC16203	select DPLL204	help205	  This driver adds support for an OpenCompute time card.206 207	  The OpenCompute time card is an atomic clock along with208	  a GPS receiver that provides a Grandmaster clock source209	  for a PTP enabled network.210 211	  More information is available at http://www.timingcard.com/212 213config PTP_DFL_TOD214	tristate "FPGA DFL ToD Driver"215	depends on FPGA_DFL216	depends on PTP_1588_CLOCK217	help218	  The DFL (Device Feature List) device driver for the Intel ToD219	  (Time-of-Day) device in FPGA card. The ToD IP within the FPGA220	  is exposed as PTP Hardware Clock (PHC) device to the Linux PTP221	  stack to synchronize the system clock to its ToD information222	  using phc2sys utility of the Linux PTP stack.223 224	  To compile this driver as a module, choose M here: the module225	  will be called ptp_dfl_tod.226 227endmenu228