Kconfig 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # PTP clock support configuration
  4. #
  5. menu "PTP clock support"
  6. config PTP_1588_CLOCK
  7. tristate "PTP clock support"
  8. depends on NET && POSIX_TIMERS
  9. select PPS
  10. select NET_PTP_CLASSIFY
  11. help
  12. The IEEE 1588 standard defines a method to precisely
  13. synchronize distributed clocks over Ethernet networks. The
  14. standard defines a Precision Time Protocol (PTP), which can
  15. be used to achieve synchronization within a few dozen
  16. microseconds. In addition, with the help of special hardware
  17. time stamping units, it can be possible to achieve
  18. synchronization to within a few hundred nanoseconds.
  19. This driver adds support for PTP clocks as character
  20. devices. If you want to use a PTP clock, then you should
  21. also enable at least one clock driver as well.
  22. To compile this driver as a module, choose M here: the module
  23. will be called ptp.
  24. config PTP_1588_CLOCK_DTE
  25. tristate "Broadcom DTE as PTP clock"
  26. depends on PTP_1588_CLOCK
  27. depends on NET && HAS_IOMEM
  28. depends on ARCH_BCM_MOBILE || (ARCH_BCM_IPROC && !(ARCH_BCM_NSP || ARCH_BCM_5301X)) || COMPILE_TEST
  29. default y
  30. help
  31. This driver adds support for using the Digital timing engine
  32. (DTE) in the Broadcom SoC's as a PTP clock.
  33. The clock can be used in both wired and wireless networks
  34. for PTP purposes.
  35. To compile this driver as a module, choose M here: the module
  36. will be called ptp_dte.
  37. config PTP_1588_CLOCK_QORIQ
  38. tristate "Freescale QorIQ 1588 timer as PTP clock"
  39. depends on GIANFAR || FSL_DPAA_ETH || FSL_DPAA2_ETH || FSL_ENETC || FSL_ENETC_VF || COMPILE_TEST
  40. depends on PTP_1588_CLOCK
  41. default y
  42. help
  43. This driver adds support for using the Freescale QorIQ 1588
  44. timer as a PTP clock. This clock is only useful if your PTP
  45. programs are getting hardware time stamps on the PTP Ethernet
  46. packets using the SO_TIMESTAMPING API.
  47. To compile this driver as a module, choose M here: the module
  48. will be called ptp-qoriq.
  49. comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks."
  50. depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n
  51. config DP83640_PHY
  52. tristate "Driver for the National Semiconductor DP83640 PHYTER"
  53. depends on NETWORK_PHY_TIMESTAMPING
  54. depends on PHYLIB
  55. depends on PTP_1588_CLOCK
  56. select CRC32
  57. help
  58. Supports the DP83640 PHYTER with IEEE 1588 features.
  59. This driver adds support for using the DP83640 as a PTP
  60. clock. This clock is only useful if your PTP programs are
  61. getting hardware time stamps on the PTP Ethernet packets
  62. using the SO_TIMESTAMPING API.
  63. In order for this to work, your MAC driver must also
  64. implement the skb_tx_timestamp() function.
  65. config PTP_1588_CLOCK_INES
  66. tristate "ZHAW InES PTP time stamping IP core"
  67. depends on NETWORK_PHY_TIMESTAMPING
  68. depends on HAS_IOMEM
  69. depends on PHYLIB
  70. depends on PTP_1588_CLOCK
  71. help
  72. This driver adds support for using the ZHAW InES 1588 IP
  73. core. This clock is only useful if the MII bus of your MAC
  74. is wired up to the core.
  75. config PTP_1588_CLOCK_PCH
  76. tristate "Intel PCH EG20T as PTP clock"
  77. depends on X86_32 || COMPILE_TEST
  78. depends on HAS_IOMEM && PCI
  79. depends on NET
  80. imply PTP_1588_CLOCK
  81. help
  82. This driver adds support for using the PCH EG20T as a PTP
  83. clock. The hardware supports time stamping of PTP packets
  84. when using the end-to-end delay (E2E) mechanism. The peer
  85. delay mechanism (P2P) is not supported.
  86. This clock is only useful if your PTP programs are getting
  87. hardware time stamps on the PTP Ethernet packets using the
  88. SO_TIMESTAMPING API.
  89. To compile this driver as a module, choose M here: the module
  90. will be called ptp_pch.
  91. config PTP_1588_CLOCK_KVM
  92. tristate "KVM virtual PTP clock"
  93. depends on PTP_1588_CLOCK
  94. depends on KVM_GUEST && X86
  95. default y
  96. help
  97. This driver adds support for using kvm infrastructure as a PTP
  98. clock. This clock is only useful if you are using KVM guests.
  99. To compile this driver as a module, choose M here: the module
  100. will be called ptp_kvm.
  101. config PTP_1588_CLOCK_IDT82P33
  102. tristate "IDT 82P33xxx PTP clock"
  103. depends on PTP_1588_CLOCK && I2C
  104. default n
  105. help
  106. This driver adds support for using the IDT 82P33xxx as a PTP
  107. clock. This clock is only useful if your time stamping MAC
  108. is connected to the IDT chip.
  109. To compile this driver as a module, choose M here: the module
  110. will be called ptp_idt82p33.
  111. config PTP_1588_CLOCK_IDTCM
  112. tristate "IDT CLOCKMATRIX as PTP clock"
  113. depends on PTP_1588_CLOCK && I2C
  114. default n
  115. help
  116. This driver adds support for using IDT CLOCKMATRIX(TM) as a PTP
  117. clock. This clock is only useful if your time stamping MAC
  118. is connected to the IDT chip.
  119. To compile this driver as a module, choose M here: the module
  120. will be called ptp_clockmatrix.
  121. config PTP_1588_CLOCK_VMW
  122. tristate "VMware virtual PTP clock"
  123. depends on ACPI && HYPERVISOR_GUEST && X86
  124. depends on PTP_1588_CLOCK
  125. help
  126. This driver adds support for using VMware virtual precision
  127. clock device as a PTP clock. This is only useful in virtual
  128. machines running on VMware virtual infrastructure.
  129. To compile this driver as a module, choose M here: the module
  130. will be called ptp_vmw.
  131. endmenu