Kconfig 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # PHY Layer Configuration
  4. #
  5. config PHYLINK
  6. tristate
  7. depends on NETDEVICES
  8. select PHYLIB
  9. select SWPHY
  10. help
  11. PHYlink models the link between the PHY and MAC, allowing fixed
  12. configuration links, PHYs, and Serdes links with MAC level
  13. autonegotiation modes.
  14. menuconfig PHYLIB
  15. tristate "PHY Device support and infrastructure"
  16. depends on NETDEVICES
  17. select MDIO_DEVICE
  18. select MDIO_DEVRES
  19. help
  20. Ethernet controllers are usually attached to PHY
  21. devices. This option provides infrastructure for
  22. managing PHY devices.
  23. if PHYLIB
  24. config SWPHY
  25. bool
  26. config LED_TRIGGER_PHY
  27. bool "Support LED triggers for tracking link state"
  28. depends on LEDS_TRIGGERS
  29. help
  30. Adds support for a set of LED trigger events per-PHY. Link
  31. state change will trigger the events, for consumption by an
  32. LED class driver. There are triggers for each link speed currently
  33. supported by the PHY and also a one common "link" trigger as a
  34. logical-or of all the link speed ones.
  35. All these triggers are named according to the following pattern:
  36. <mii bus id>:<phy>:<speed>
  37. Where speed is in the form:
  38. <Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link
  39. for any speed known to the PHY.
  40. config OPEN_ALLIANCE_HELPERS
  41. bool
  42. config PHYLIB_LEDS
  43. def_bool OF
  44. depends on LEDS_CLASS=y || LEDS_CLASS=PHYLIB
  45. help
  46. When LED class support is enabled, phylib can automatically
  47. probe LED setting from device tree.
  48. config FIXED_PHY
  49. tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
  50. select SWPHY
  51. help
  52. Adds the platform "fixed" MDIO Bus to cover the boards that use
  53. PHYs that are not connected to the real MDIO bus.
  54. Currently tested with mpc866ads and mpc8349e-mitx.
  55. config RUST_PHYLIB_ABSTRACTIONS
  56. bool "Rust PHYLIB abstractions support"
  57. depends on RUST
  58. depends on PHYLIB=y
  59. help
  60. Adds support needed for PHY drivers written in Rust. It provides
  61. a wrapper around the C phylib core.
  62. config SFP
  63. tristate "SFP cage support"
  64. depends on I2C && PHYLINK
  65. depends on HWMON || HWMON=n
  66. select MDIO_I2C
  67. comment "MII PHY device drivers"
  68. config AIR_EN8811H_PHY
  69. tristate "Airoha EN8811H 2.5 Gigabit PHY"
  70. help
  71. Currently supports the Airoha EN8811H PHY.
  72. config AMD_PHY
  73. tristate "AMD and Altima PHYs"
  74. help
  75. Currently supports the AMD am79c874 and Altima AC101L.
  76. config MESON_GXL_PHY
  77. tristate "Amlogic Meson GXL Internal PHY"
  78. depends on ARCH_MESON || COMPILE_TEST
  79. select SMSC_PHY
  80. help
  81. Currently has a driver for the Amlogic Meson GXL Internal PHY
  82. config ADIN_PHY
  83. tristate "Analog Devices Industrial Ethernet PHYs"
  84. help
  85. Adds support for the Analog Devices Industrial Ethernet PHYs.
  86. Currently supports the:
  87. - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY
  88. - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit
  89. Ethernet PHY
  90. config ADIN1100_PHY
  91. tristate "Analog Devices Industrial Ethernet T1L PHYs"
  92. help
  93. Adds support for the Analog Devices Industrial T1L Ethernet PHYs.
  94. Currently supports the:
  95. - ADIN1100 - Robust,Industrial, Low Power 10BASE-T1L Ethernet PHY
  96. config AMCC_QT2025_PHY
  97. tristate "AMCC QT2025 PHY"
  98. depends on RUST_PHYLIB_ABSTRACTIONS
  99. depends on RUST_FW_LOADER_ABSTRACTIONS
  100. help
  101. Adds support for the Applied Micro Circuits Corporation QT2025 PHY.
  102. source "drivers/net/phy/aquantia/Kconfig"
  103. config AX88796B_PHY
  104. tristate "Asix PHYs"
  105. help
  106. Currently supports the Asix Electronics PHY found in the X-Surf 100
  107. AX88796B package.
  108. config AX88796B_RUST_PHY
  109. bool "Rust reference driver for Asix PHYs"
  110. depends on RUST_PHYLIB_ABSTRACTIONS && AX88796B_PHY
  111. help
  112. Uses the Rust reference driver for Asix PHYs (ax88796b_rust.ko).
  113. The features are equivalent. It supports the Asix Electronics PHY
  114. found in the X-Surf 100 AX88796B package.
  115. config BROADCOM_PHY
  116. tristate "Broadcom 54XX PHYs"
  117. select BCM_NET_PHYLIB
  118. select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING
  119. depends on PTP_1588_CLOCK_OPTIONAL
  120. help
  121. Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
  122. BCM5481, BCM54810 and BCM5482 PHYs.
  123. config BCM54140_PHY
  124. tristate "Broadcom BCM54140 PHY"
  125. depends on HWMON || HWMON=n
  126. select BCM_NET_PHYLIB
  127. help
  128. Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.
  129. This driver also supports the hardware monitoring of this PHY and
  130. exposes voltage and temperature sensors.
  131. config BCM63XX_PHY
  132. tristate "Broadcom 63xx SOCs internal PHY"
  133. depends on BCM63XX || COMPILE_TEST
  134. select BCM_NET_PHYLIB
  135. help
  136. Currently supports the 6348 and 6358 PHYs.
  137. config BCM7XXX_PHY
  138. tristate "Broadcom 7xxx SOCs internal PHYs"
  139. select BCM_NET_PHYLIB
  140. help
  141. Currently supports the BCM7366, BCM7439, BCM7445, and
  142. 40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
  143. config BCM84881_PHY
  144. tristate "Broadcom BCM84881 PHY"
  145. help
  146. Support the Broadcom BCM84881 PHY.
  147. config BCM87XX_PHY
  148. tristate "Broadcom BCM8706 and BCM8727 PHYs"
  149. help
  150. Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
  151. config BCM_CYGNUS_PHY
  152. tristate "Broadcom Cygnus/Omega SoC internal PHY"
  153. depends on ARCH_BCM_IPROC || COMPILE_TEST
  154. depends on MDIO_BCM_IPROC
  155. select BCM_NET_PHYLIB
  156. help
  157. This PHY driver is for the 1G internal PHYs of the Broadcom
  158. Cygnus and Omega Family SoC.
  159. Currently supports internal PHY's used in the BCM11300,
  160. BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
  161. BCM58303 & BCM58305 Broadcom Cygnus SoCs.
  162. config BCM_NET_PHYLIB
  163. tristate
  164. config BCM_NET_PHYPTP
  165. tristate
  166. config CICADA_PHY
  167. tristate "Cicada PHYs"
  168. help
  169. Currently supports the cis8204
  170. config CORTINA_PHY
  171. tristate "Cortina EDC CDR 10G Ethernet PHY"
  172. help
  173. Currently supports the CS4340 phy.
  174. config DAVICOM_PHY
  175. tristate "Davicom PHYs"
  176. help
  177. Currently supports dm9161e and dm9131
  178. config ICPLUS_PHY
  179. tristate "ICPlus PHYs"
  180. help
  181. Currently supports the IP175C and IP1001 PHYs.
  182. config LXT_PHY
  183. tristate "Intel LXT PHYs"
  184. help
  185. Currently supports the lxt970, lxt971
  186. config INTEL_XWAY_PHY
  187. tristate "Intel XWAY PHYs"
  188. help
  189. Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
  190. These PHYs are marked as standalone chips under the names
  191. PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
  192. SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
  193. config LSI_ET1011C_PHY
  194. tristate "LSI ET1011C PHY"
  195. help
  196. Supports the LSI ET1011C PHY.
  197. config MARVELL_PHY
  198. tristate "Marvell Alaska PHYs"
  199. help
  200. Currently has a driver for the 88E1XXX
  201. config MARVELL_10G_PHY
  202. tristate "Marvell Alaska 10Gbit PHYs"
  203. help
  204. Support for the Marvell Alaska MV88X3310 and compatible PHYs.
  205. config MARVELL_88Q2XXX_PHY
  206. tristate "Marvell 88Q2XXX PHY"
  207. depends on HWMON || HWMON=n
  208. help
  209. Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet
  210. PHYs.
  211. config MARVELL_88X2222_PHY
  212. tristate "Marvell 88X2222 PHY"
  213. help
  214. Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet
  215. Transceiver.
  216. config MAXLINEAR_GPHY
  217. tristate "Maxlinear Ethernet PHYs"
  218. select POLYNOMIAL if HWMON
  219. depends on HWMON || HWMON=n
  220. help
  221. Support for the Maxlinear GPY115, GPY211, GPY212, GPY215,
  222. GPY241, GPY245 PHYs.
  223. config MEDIATEK_GE_PHY
  224. tristate "MediaTek Gigabit Ethernet PHYs"
  225. help
  226. Supports the MediaTek Gigabit Ethernet PHYs.
  227. config MEDIATEK_GE_SOC_PHY
  228. tristate "MediaTek SoC Ethernet PHYs"
  229. depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST
  230. depends on NVMEM_MTK_EFUSE
  231. help
  232. Supports MediaTek SoC built-in Gigabit Ethernet PHYs.
  233. Include support for built-in Ethernet PHYs which are present in
  234. the MT7981 and MT7988 SoCs. These PHYs need calibration data
  235. present in the SoCs efuse and will dynamically calibrate VCM
  236. (common-mode voltage) during startup.
  237. config MICREL_PHY
  238. tristate "Micrel PHYs"
  239. depends on PTP_1588_CLOCK_OPTIONAL
  240. help
  241. Supports the KSZ9021, VSC8201, KS8001 PHYs.
  242. config MICROCHIP_T1S_PHY
  243. tristate "Microchip 10BASE-T1S Ethernet PHYs"
  244. help
  245. Currently supports the LAN8670/1/2 Rev.B1 and LAN8650/1 Rev.B0 Internal
  246. PHYs.
  247. config MICROCHIP_PHY
  248. tristate "Microchip PHYs"
  249. help
  250. Supports the LAN88XX PHYs.
  251. config MICROCHIP_T1_PHY
  252. tristate "Microchip T1 PHYs"
  253. help
  254. Supports the LAN87XX PHYs.
  255. config MICROSEMI_PHY
  256. tristate "Microsemi PHYs"
  257. depends on MACSEC || MACSEC=n
  258. depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING
  259. select CRYPTO_LIB_AES if MACSEC
  260. help
  261. Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
  262. config MOTORCOMM_PHY
  263. tristate "Motorcomm PHYs"
  264. help
  265. Enables support for Motorcomm network PHYs.
  266. Currently supports YT85xx Gigabit Ethernet PHYs.
  267. config NATIONAL_PHY
  268. tristate "National Semiconductor PHYs"
  269. help
  270. Currently supports the DP83865 PHY.
  271. config NXP_CBTX_PHY
  272. tristate "NXP 100BASE-TX PHYs"
  273. help
  274. Support the 100BASE-TX PHY integrated on the SJA1110 automotive
  275. switch family.
  276. config NXP_C45_TJA11XX_PHY
  277. tristate "NXP C45 TJA11XX PHYs"
  278. depends on PTP_1588_CLOCK_OPTIONAL
  279. depends on MACSEC || !MACSEC
  280. help
  281. Enable support for NXP C45 TJA11XX PHYs.
  282. Currently supports the TJA1103, TJA1104 and TJA1120 PHYs.
  283. config NXP_TJA11XX_PHY
  284. tristate "NXP TJA11xx PHYs support"
  285. depends on HWMON
  286. help
  287. Currently supports the NXP TJA1100 and TJA1101 PHY.
  288. config NCN26000_PHY
  289. tristate "Onsemi 10BASE-T1S Ethernet PHY"
  290. help
  291. Adds support for the onsemi 10BASE-T1S Ethernet PHY.
  292. Currently supports the NCN26000 10BASE-T1S Industrial PHY
  293. with MII interface.
  294. source "drivers/net/phy/qcom/Kconfig"
  295. config QSEMI_PHY
  296. tristate "Quality Semiconductor PHYs"
  297. help
  298. Currently supports the qs6612
  299. config REALTEK_PHY
  300. tristate "Realtek PHYs"
  301. help
  302. Supports the Realtek 821x PHY.
  303. config RENESAS_PHY
  304. tristate "Renesas PHYs"
  305. help
  306. Supports the Renesas PHYs uPD60620 and uPD60620A.
  307. config ROCKCHIP_PHY
  308. tristate "Rockchip Ethernet PHYs"
  309. help
  310. Currently supports the integrated Ethernet PHY.
  311. config SMSC_PHY
  312. tristate "SMSC PHYs"
  313. select CRC16
  314. help
  315. Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
  316. config STE10XP
  317. tristate "STMicroelectronics STe10Xp PHYs"
  318. help
  319. This is the driver for the STe100p and STe101p PHYs.
  320. config TERANETICS_PHY
  321. tristate "Teranetics PHYs"
  322. help
  323. Currently supports the Teranetics TN2020
  324. config DP83822_PHY
  325. tristate "Texas Instruments DP83822/825/826 PHYs"
  326. help
  327. Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,
  328. DP83826C and DP83826NC PHYs.
  329. config DP83TC811_PHY
  330. tristate "Texas Instruments DP83TC811 PHY"
  331. help
  332. Supports the DP83TC811 PHY.
  333. config DP83848_PHY
  334. tristate "Texas Instruments DP83848 PHY"
  335. help
  336. Supports the DP83848 PHY.
  337. config DP83867_PHY
  338. tristate "Texas Instruments DP83867 Gigabit PHY"
  339. help
  340. Currently supports the DP83867 PHY.
  341. config DP83869_PHY
  342. tristate "Texas Instruments DP83869 Gigabit PHY"
  343. help
  344. Currently supports the DP83869 PHY. This PHY supports copper and
  345. fiber connections.
  346. config DP83TD510_PHY
  347. tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY"
  348. help
  349. Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports
  350. a 10M single pair Ethernet connection for up to 1000 meter cable.
  351. config DP83TG720_PHY
  352. tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY"
  353. select OPEN_ALLIANCE_HELPERS
  354. help
  355. The DP83TG720S-Q1 is an automotive Ethernet physical layer
  356. transceiver compliant with IEEE 802.3bp and Open Alliance
  357. standards. It supports key functions necessary for
  358. transmitting and receiving data over both unshielded and
  359. shielded single twisted-pair cables. This device offers
  360. flexible xMII interface options, including support for both
  361. RGMII and SGMII MAC interfaces. It's suitable for applications
  362. requiring high-speed data transmission in automotive
  363. networking environments.
  364. config VITESSE_PHY
  365. tristate "Vitesse PHYs"
  366. help
  367. Currently supports the vsc8244
  368. config XILINX_GMII2RGMII
  369. tristate "Xilinx GMII2RGMII converter driver"
  370. help
  371. This driver support xilinx GMII to RGMII IP core it provides
  372. the Reduced Gigabit Media Independent Interface(RGMII) between
  373. Ethernet physical media devices and the Gigabit Ethernet controller.
  374. endif # PHYLIB
  375. config MICREL_KS8995MA
  376. tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
  377. depends on SPI