Kconfig 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # TI device configuration
  4. #
  5. config NET_VENDOR_TI
  6. bool "Texas Instruments (TI) devices"
  7. default y
  8. depends on PCI || EISA || ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3
  9. help
  10. If you have a network (Ethernet) card belonging to this class, say Y.
  11. Note that the answer to this question doesn't directly affect the
  12. kernel: saying N will just cause the configurator to skip all
  13. the questions about TI devices. If you say Y, you will be asked for
  14. your specific card in the following questions.
  15. if NET_VENDOR_TI
  16. config TI_DAVINCI_EMAC
  17. tristate "TI DaVinci EMAC Support"
  18. depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 ) || COMPILE_TEST
  19. select TI_DAVINCI_MDIO
  20. select PHYLIB
  21. select GENERIC_ALLOCATOR
  22. help
  23. This driver supports TI's DaVinci Ethernet .
  24. To compile this driver as a module, choose M here: the module
  25. will be called davinci_emac_driver. This is recommended.
  26. config TI_DAVINCI_MDIO
  27. tristate "TI DaVinci MDIO Support"
  28. depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
  29. select PHYLIB
  30. select MDIO_BITBANG
  31. help
  32. This driver supports TI's DaVinci MDIO module.
  33. To compile this driver as a module, choose M here: the module
  34. will be called davinci_mdio. This is recommended.
  35. config TI_CPSW_PHY_SEL
  36. bool "TI CPSW Phy mode Selection (DEPRECATED)"
  37. default n
  38. help
  39. This driver supports configuring of the phy mode connected to
  40. the CPSW. DEPRECATED: use PHY_TI_GMII_SEL.
  41. config TI_CPSW
  42. tristate "TI CPSW Switch Support"
  43. depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
  44. depends on TI_CPTS || !TI_CPTS
  45. select TI_DAVINCI_MDIO
  46. select MFD_SYSCON
  47. select PAGE_POOL
  48. select REGMAP
  49. imply PHY_TI_GMII_SEL
  50. help
  51. This driver supports TI's CPSW Ethernet Switch.
  52. To compile this driver as a module, choose M here: the module
  53. will be called cpsw.
  54. config TI_CPSW_SWITCHDEV
  55. tristate "TI CPSW Switch Support with switchdev"
  56. depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
  57. depends on NET_SWITCHDEV
  58. depends on TI_CPTS || !TI_CPTS
  59. select PAGE_POOL
  60. select TI_DAVINCI_MDIO
  61. select MFD_SYSCON
  62. select REGMAP
  63. select NET_DEVLINK
  64. imply PHY_TI_GMII_SEL
  65. help
  66. This driver supports TI's CPSW Ethernet Switch.
  67. To compile this driver as a module, choose M here: the module
  68. will be called cpsw_new.
  69. config TI_CPTS
  70. tristate "TI Common Platform Time Sync (CPTS) Support"
  71. depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
  72. depends on COMMON_CLK
  73. depends on PTP_1588_CLOCK
  74. help
  75. This driver supports the Common Platform Time Sync unit of
  76. the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
  77. The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the
  78. driver offers a PTP Hardware Clock.
  79. config TI_K3_CPPI_DESC_POOL
  80. tristate
  81. config TI_K3_AM65_CPSW_NUSS
  82. tristate "TI K3 AM654x/J721E CPSW Ethernet driver"
  83. depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
  84. select NET_DEVLINK
  85. select TI_DAVINCI_MDIO
  86. select PHYLINK
  87. select PAGE_POOL
  88. select TI_K3_CPPI_DESC_POOL
  89. imply PHY_TI_GMII_SEL
  90. depends on TI_K3_AM65_CPTS || !TI_K3_AM65_CPTS
  91. help
  92. This driver supports TI K3 AM654/J721E CPSW2G Ethernet SubSystem.
  93. The two-port Gigabit Ethernet MAC (MCU_CPSW0) subsystem provides
  94. Ethernet packet communication for the device: One Ethernet port
  95. (port 1) with selectable RGMII and RMII interfaces and an internal
  96. Communications Port Programming Interface (CPPI) port (port 0).
  97. To compile this driver as a module, choose M here: the module
  98. will be called ti-am65-cpsw-nuss.
  99. config TI_K3_AM65_CPSW_SWITCHDEV
  100. bool "TI K3 AM654x/J721E CPSW Switch mode support"
  101. depends on TI_K3_AM65_CPSW_NUSS
  102. depends on NET_SWITCHDEV
  103. help
  104. This enables switchdev support for TI K3 CPSWxG Ethernet
  105. Switch. Enable this driver to support hardware switch support for AM65
  106. CPSW NUSS driver.
  107. config TI_K3_AM65_CPTS
  108. tristate "TI K3 AM65x CPTS"
  109. depends on ARCH_K3 && OF
  110. depends on PTP_1588_CLOCK
  111. help
  112. Say y here to support the TI K3 AM65x CPTS with 1588 features such as
  113. PTP hardware clock for each CPTS device and network packets
  114. timestamping where applicable.
  115. Depending on integration CPTS blocks enable compliance with
  116. the IEEE 1588-2008 standard for a precision clock synchronization
  117. protocol, Ethernet Enhanced Scheduled Traffic Operations (CPTS_ESTFn)
  118. and PCIe Subsystem Precision Time Measurement (PTM).
  119. config TI_AM65_CPSW_QOS
  120. bool "Enable QoS offload features in AM65 CPSW"
  121. depends on TI_K3_AM65_CPSW_NUSS && NET_SCH_TAPRIO && TI_K3_AM65_CPTS
  122. help
  123. This option enables QoS offload features in AM65 CPSW like
  124. Time Aware Shaper (TAS) / Enhanced Scheduled Traffic (EST),
  125. MQPRIO qdisc offload and Frame-Preemption MAC Merge / Interspersing
  126. Express Traffic (IET).
  127. The EST scheduler runs on CPTS and the TAS/EST schedule is
  128. updated in the Fetch RAM memory of the CPSW.
  129. config TI_KEYSTONE_NETCP
  130. tristate "TI Keystone NETCP Core Support"
  131. select TI_DAVINCI_MDIO
  132. depends on OF
  133. depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
  134. depends on TI_CPTS || !TI_CPTS
  135. help
  136. This driver supports TI's Keystone NETCP Core.
  137. To compile this driver as a module, choose M here: the module
  138. will be called keystone_netcp.
  139. config TI_KEYSTONE_NETCP_ETHSS
  140. depends on TI_KEYSTONE_NETCP
  141. tristate "TI Keystone NETCP Ethernet subsystem Support"
  142. help
  143. To compile this driver as a module, choose M here: the module
  144. will be called keystone_netcp_ethss.
  145. config TLAN
  146. tristate "TI ThunderLAN support"
  147. depends on (PCI || EISA) && HAS_IOPORT
  148. help
  149. If you have a PCI Ethernet network card based on the ThunderLAN chip
  150. which is supported by this driver, say Y here.
  151. Devices currently supported by this driver are Compaq Netelligent,
  152. Compaq NetFlex and Olicom cards. Please read the file
  153. <file:Documentation/networking/device_drivers/ethernet/ti/tlan.rst>
  154. for more details.
  155. To compile this driver as a module, choose M here. The module
  156. will be called tlan.
  157. Please email feedback to <torben.mathiasen@compaq.com>.
  158. config TI_ICSSG_PRUETH
  159. tristate "TI Gigabit PRU Ethernet driver"
  160. select PHYLIB
  161. select TI_ICSS_IEP
  162. select TI_K3_CPPI_DESC_POOL
  163. depends on PRU_REMOTEPROC
  164. depends on NET_SWITCHDEV
  165. depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
  166. depends on PTP_1588_CLOCK_OPTIONAL
  167. depends on HSR || !HSR
  168. help
  169. Support dual Gigabit Ethernet ports over the ICSSG PRU Subsystem.
  170. This subsystem is available starting with the AM65 platform.
  171. This driver requires firmware binaries which will run on the PRUs
  172. to support the Ethernet operation. Currently, it supports Ethernet
  173. with 1G and 100M link speed.
  174. config TI_ICSSG_PRUETH_SR1
  175. tristate "TI Gigabit PRU SR1.0 Ethernet driver"
  176. select PHYLIB
  177. select TI_ICSS_IEP
  178. select TI_K3_CPPI_DESC_POOL
  179. select PAGE_POOL
  180. depends on PRU_REMOTEPROC
  181. depends on NET_SWITCHDEV
  182. depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
  183. depends on PTP_1588_CLOCK_OPTIONAL
  184. help
  185. Support dual Gigabit Ethernet ports over the ICSSG PRU Subsystem.
  186. This subsystem is available on the AM65 SR1.0 platform.
  187. This driver requires firmware binaries which will run on the PRUs
  188. to support the Ethernet operation. Currently, it supports Ethernet
  189. with 1G, 100M and 10M link speed.
  190. config TI_ICSS_IEP
  191. tristate "TI PRU ICSS IEP driver"
  192. depends on PTP_1588_CLOCK_OPTIONAL
  193. depends on TI_PRUSS
  194. default TI_PRUSS
  195. help
  196. This driver enables support for the PRU-ICSS Industrial Ethernet
  197. Peripheral within a PRU-ICSS subsystem present on various TI SoCs.
  198. To compile this driver as a module, choose M here. The module
  199. will be called icss_iep.
  200. config TI_PRUETH
  201. tristate "TI PRU Ethernet EMAC driver"
  202. depends on PRU_REMOTEPROC
  203. depends on NET_SWITCHDEV
  204. select TI_ICSS_IEP
  205. depends on PTP_1588_CLOCK_OPTIONAL
  206. help
  207. Some TI SoCs has Programmable Realtime Unit (PRU) cores which can
  208. support Single or Dual Ethernet ports with the help of firmware code
  209. running on PRU cores. This driver supports remoteproc based
  210. communication to PRU firmware to expose Ethernet interface to Linux.
  211. endif # NET_VENDOR_TI