drivers/ptp/Kconfig

Source file repositories/reference/linux-study-clean/drivers/ptp/Kconfig

File Facts

System
Linux kernel
Corpus path
drivers/ptp/Kconfig
Extension
[no extension]
Size
9099 bytes
Lines
267
Domain
Driver Families
Bucket
drivers/ptp
Inferred role
Driver Families: build/configuration rule
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

# 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 if ARCH_BCM_MOBILE || ARCH_BCM_IPROC
	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 if GIANFAR || FSL_DPAA_ETH || FSL_DPAA2_ETH || FSL_ENETC || FSL_ENETC_VF
	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.

Annotation

Implementation Notes