1# SPDX-License-Identifier: GPL-2.0-only 2# 3# PHY Layer Configuration 4# 5 6config PHYLINK 7 tristate 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 15menuconfig PHYLIB 16 tristate "PHY Device support and infrastructure" 17 help 18 Ethernet controllers are usually attached to PHY 19 devices. This option provides infrastructure for 20 managing PHY devices. 21 22if PHYLIB 23 24config SWPHY 25 bool 26 27config PHY_PACKAGE 28 tristate 29 30config LED_TRIGGER_PHY 31 bool "Support LED triggers for tracking link state" 32 depends on LEDS_TRIGGERS 33 help 34 Adds support for a set of LED trigger events per-PHY. Link 35 state change will trigger the events, for consumption by an 36 LED class driver. There are triggers for each link speed currently 37 supported by the PHY and also a one common "link" trigger as a 38 logical-or of all the link speed ones. 39 All these triggers are named according to the following pattern: 40 <mii bus id>:<phy>:<speed> 41 42 Where speed is in the form: 43 <Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link 44 for any speed known to the PHY. 45 46config OPEN_ALLIANCE_HELPERS 47 bool 48 49config PHYLIB_LEDS 50 def_bool OF 51 depends on LEDS_CLASS=y || LEDS_CLASS=PHYLIB 52 help 53 When LED class support is enabled, phylib can automatically 54 probe LED setting from device tree. 55 56config FIXED_PHY 57 tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs" 58 select SWPHY 59 help 60 Adds the platform "fixed" MDIO Bus to cover the boards that use 61 PHYs that are not connected to the real MDIO bus. 62 63 Currently tested with mpc866ads and mpc8349e-mitx. 64 65config RUST_PHYLIB_ABSTRACTIONS 66 bool "Rust PHYLIB abstractions support" 67 depends on RUST 68 depends on PHYLIB=y 69 help 70 Adds support needed for PHY drivers written in Rust. It provides 71 a wrapper around the C phylib core. 72 73config SFP 74 tristate "SFP cage support" 75 depends on I2C && PHYLINK 76 depends on HWMON || HWMON=n 77 select MDIO_I2C 78 79comment "MII PHY device drivers" 80 81config AS21XXX_PHY 82 tristate "Aeonsemi AS21xxx PHYs" 83 help 84 Currently supports the Aeonsemi AS21xxx PHY. 85 86 These are C45 PHYs 10G that require all a generic firmware. 87 88 Supported PHYs AS21011JB1, AS21011PB1, AS21010JB1, AS21010PB1, 89 AS21511JB1, AS21511PB1, AS21510JB1, AS21510PB1, AS21210JB1, 90 AS21210PB1 that all register with the PHY ID 0x7500 0x7500 91 before the firmware is loaded. 92 93config AIR_AN8801_PHY 94 tristate "Airoha AN8801 Gigabit PHY" 95 select AIR_NET_PHYLIB 96 help 97 Currently supports the Airoha AN8801R PHY. 98 99config AIR_EN8811H_PHY 100 tristate "Airoha EN8811H 2.5 Gigabit PHY" 101 select AIR_NET_PHYLIB 102 select PHY_COMMON_PROPS 103 help 104 Currently supports the Airoha EN8811H PHY. 105 106config AIR_NET_PHYLIB 107 tristate 108 help 109 Airoha Ethernet PHY common library 110 111config AMD_PHY 112 tristate "AMD and Altima PHYs" 113 help 114 Currently supports the AMD am79c874 and Altima AC101L. 115 116config MESON_GXL_PHY 117 tristate "Amlogic Meson GXL Internal PHY" 118 depends on ARCH_MESON || COMPILE_TEST 119 select SMSC_PHY 120 help 121 Currently has a driver for the Amlogic Meson GXL Internal PHY 122 123config ADIN_PHY 124 tristate "Analog Devices Industrial Ethernet PHYs" 125 help 126 Adds support for the Analog Devices Industrial Ethernet PHYs. 127 Currently supports the: 128 - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY 129 - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit 130 Ethernet PHY 131 132config ADIN1100_PHY 133 tristate "Analog Devices Industrial Ethernet T1L PHYs" 134 help 135 Adds support for the Analog Devices Industrial T1L Ethernet PHYs. 136 Currently supports the: 137 - ADIN1100 - Robust,Industrial, Low Power 10BASE-T1L Ethernet PHY 138 139config ADIN1140_PHY 140 tristate "Analog Devices ADIN1140 10BASE-T1S PHY" 141 help 142 Adds support for the Analog Devices, Inc. ADIN1140's internal 143 10BASE-T1S PHY. 144 145config AMCC_QT2025_PHY 146 tristate "AMCC QT2025 PHY" 147 depends on RUST_PHYLIB_ABSTRACTIONS 148 depends on RUST_FW_LOADER_ABSTRACTIONS 149 help 150 Adds support for the Applied Micro Circuits Corporation QT2025 PHY. 151 152source "drivers/net/phy/aquantia/Kconfig" 153 154config AX88796B_PHY 155 tristate "Asix PHYs" 156 help 157 Currently supports the Asix Electronics PHY found in the X-Surf 100 158 AX88796B package. 159 160config AX88796B_RUST_PHY 161 bool "Rust reference driver for Asix PHYs" 162 depends on RUST_PHYLIB_ABSTRACTIONS && AX88796B_PHY 163 help 164 Uses the Rust reference driver for Asix PHYs (ax88796b_rust.ko). 165 The features are equivalent. It supports the Asix Electronics PHY 166 found in the X-Surf 100 AX88796B package. 167 168config BROADCOM_PHY 169 tristate "Broadcom 54XX PHYs" 170 select BCM_NET_PHYLIB 171 select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING 172 depends on PTP_1588_CLOCK_OPTIONAL 173 help 174 Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464, 175 BCM5481, BCM54810 and BCM5482 PHYs. 176 177config BCM54140_PHY 178 tristate "Broadcom BCM54140 PHY" 179 depends on HWMON || HWMON=n 180 select BCM_NET_PHYLIB 181 select PHY_PACKAGE 182 help 183 Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY. 184 185 This driver also supports the hardware monitoring of this PHY and 186 exposes voltage and temperature sensors. 187 188config BCM63XX_PHY 189 tristate "Broadcom 63xx SOCs internal PHY" 190 depends on BCM63XX || COMPILE_TEST 191 select BCM_NET_PHYLIB 192 help 193 Currently supports the 6348 and 6358 PHYs. 194 195config BCM7XXX_PHY 196 tristate "Broadcom 7xxx SOCs internal PHYs" 197 select BCM_NET_PHYLIB 198 help 199 Currently supports the BCM7366, BCM7439, BCM7445, and 200 40nm and 65nm generation of BCM7xxx Set Top Box SoCs. 201 202config BCM84881_PHY 203 tristate "Broadcom BCM84881 PHY" 204 help 205 Support the Broadcom BCM84881 PHY. 206 207config BCM87XX_PHY 208 tristate "Broadcom BCM8706 and BCM8727 PHYs" 209 help 210 Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs. 211 212config BCM_CYGNUS_PHY 213 tristate "Broadcom Cygnus/Omega SoC internal PHY" 214 depends on ARCH_BCM_IPROC || COMPILE_TEST 215 depends on MDIO_BCM_IPROC 216 select BCM_NET_PHYLIB 217 help 218 This PHY driver is for the 1G internal PHYs of the Broadcom 219 Cygnus and Omega Family SoC. 220 221 Currently supports internal PHY's used in the BCM11300, 222 BCM11320, BCM11350, BCM11360, BCM58300, BCM58302, 223 BCM58303 & BCM58305 Broadcom Cygnus SoCs. 224 225config BCM_NET_PHYLIB 226 tristate 227 228config BCM_NET_PHYPTP 229 tristate 230 231config CICADA_PHY 232 tristate "Cicada PHYs" 233 help 234 Currently supports the cis8204 235 236config CORTINA_PHY 237 tristate "Cortina EDC CDR 10G Ethernet PHY" 238 help 239 Currently supports the CS4340 phy. 240 241config DAP8211R_PHY 242 tristate "DAPU Telecom DAP8211R(I) Gigabit Ethernet PHY" 243 depends on OF 244 help 245 Support for the DAPU Telecom DAP8211R(I) Gigabit Ethernet PHY. 246 This PHY is designed for enterprise and industrial networking 247 applications, supporting 10/100/1000 Mbps operation. Supports 248 RGMII interface with configurable TX/RX clock delays. 249 250config DAVICOM_PHY 251 tristate "Davicom PHYs" 252 help 253 Currently supports dm9161e and dm9131 254 255config ICPLUS_PHY 256 tristate "ICPlus PHYs" 257 help 258 Currently supports the IP175C and IP1001 PHYs. 259 260config LXT_PHY 261 tristate "Intel LXT PHYs" 262 help 263 Currently supports the lxt970, lxt971 264 265config INTEL_XWAY_PHY 266 tristate "Intel XWAY PHYs" 267 help 268 Supports the Intel XWAY (former Lantiq) 11G and 22F PHYs. 269 These PHYs are marked as standalone chips under the names 270 PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel 271 SoCs xRX200, xRX300, xRX330, xRX350 and xRX550. 272 273config LSI_ET1011C_PHY 274 tristate "LSI ET1011C PHY" 275 help 276 Supports the LSI ET1011C PHY. 277 278config MARVELL_PHY 279 tristate "Marvell Alaska PHYs" 280 help 281 Currently has a driver for the 88E1XXX 282 283config MARVELL_10G_PHY 284 tristate "Marvell Alaska 10Gbit PHYs" 285 help 286 Support for the Marvell Alaska MV88X3310 and compatible PHYs. 287 288config MARVELL_88Q2XXX_PHY 289 tristate "Marvell 88Q2XXX PHY" 290 depends on HWMON || HWMON=n 291 help 292 Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet 293 PHYs. 294 295config MARVELL_88X2222_PHY 296 tristate "Marvell 88X2222 PHY" 297 help 298 Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet 299 Transceiver. 300 301config MAXLINEAR_GPHY 302 tristate "Maxlinear Ethernet PHYs" 303 select POLYNOMIAL if HWMON 304 depends on HWMON || HWMON=n 305 help 306 Support for the Maxlinear GPY115, GPY211, GPY212, GPY215, 307 GPY241, GPY245 PHYs. 308 309config MAXLINEAR_86110_PHY 310 tristate "MaxLinear MXL86110 PHY support" 311 help 312 Support for the MaxLinear MXL86110 Gigabit Ethernet 313 Physical Layer transceiver. 314 The MXL86110 is commonly used in networking equipment such as 315 routers, switches, and embedded systems, providing the 316 physical interface for 10/100/1000 Mbps Ethernet connections 317 over copper media. 318 If you are using a board with the MXL86110 PHY connected to your 319 Ethernet MAC, you should enable this option. 320 321source "drivers/net/phy/mediatek/Kconfig" 322 323config MICREL_PHY 324 tristate "Micrel PHYs" 325 depends on PTP_1588_CLOCK_OPTIONAL 326 select PHY_PACKAGE 327 help 328 Supports the KSZ8xxx, KSZ9xxx, and LAN88xx families of Micrel/Microchip PHYs. 329 330config MICROCHIP_T1S_PHY 331 tristate "Microchip 10BASE-T1S Ethernet PHYs" 332 help 333 Currently supports the LAN8670/1/2 Rev.B1/C1/C2/D0 and 334 LAN8650/1 Rev.B0/B1 Internal PHYs. 335 336config MICROCHIP_PHY 337 tristate "Microchip PHYs" 338 help 339 Supports the LAN88XX PHYs. 340 341config MICROCHIP_T1_PHY 342 tristate "Microchip T1 PHYs" 343 select MICROCHIP_PHY_RDS_PTP if NETWORK_PHY_TIMESTAMPING 344 depends on PTP_1588_CLOCK_OPTIONAL 345 help 346 Supports the LAN8XXX PHYs. 347 348config MICROCHIP_PHY_RDS_PTP 349 tristate 350 help 351 Currently supports LAN887X T1 PHY 352 353config MICROSEMI_PHY 354 tristate "Microsemi PHYs" 355 depends on MACSEC || MACSEC=n 356 depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING 357 select CRYPTO_LIB_AES if MACSEC 358 select PHY_PACKAGE 359 help 360 Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs 361 362config MOTORCOMM_PHY 363 tristate "Motorcomm PHYs" 364 help 365 Enables support for Motorcomm network PHYs. 366 Currently supports YT85xx Gigabit Ethernet PHYs. 367 368config NATIONAL_PHY 369 tristate "National Semiconductor PHYs" 370 help 371 Currently supports the DP83865 PHY. 372 373config NXP_CBTX_PHY 374 tristate "NXP 100BASE-TX PHYs" 375 help 376 Support the 100BASE-TX PHY integrated on the SJA1110 automotive 377 switch family. 378 379config NXP_C45_TJA11XX_PHY 380 tristate "NXP C45 TJA11XX PHYs" 381 depends on PTP_1588_CLOCK_OPTIONAL 382 depends on MACSEC || !MACSEC 383 help 384 Enable support for NXP C45 TJA11XX PHYs. 385 Currently supports the TJA1103, TJA1104, TJA1120 and TJA1121 PHYs. 386 387config NXP_TJA11XX_PHY 388 tristate "NXP TJA11xx PHYs support" 389 depends on HWMON 390 help 391 Currently supports the NXP TJA1100, TJA1101 and TJA1102 PHYs. 392 393config NCN26000_PHY 394 tristate "Onsemi 10BASE-T1S Ethernet PHY" 395 help 396 Adds support for the onsemi 10BASE-T1S Ethernet PHY. 397 Currently supports the NCN26000 10BASE-T1S Industrial PHY 398 with MII interface. 399 400source "drivers/net/phy/qcom/Kconfig" 401 402config QSEMI_PHY 403 tristate "Quality Semiconductor PHYs" 404 help 405 Currently supports the qs6612 406 407source "drivers/net/phy/realtek/Kconfig" 408 409config RENESAS_PHY 410 tristate "Renesas PHYs" 411 help 412 Supports the Renesas PHYs uPD60620 and uPD60620A. 413 414config ROCKCHIP_PHY 415 tristate "Rockchip Ethernet PHYs" 416 help 417 Currently supports the integrated Ethernet PHY. 418 419config SMSC_PHY 420 tristate "SMSC PHYs" 421 select CRC16 422 help 423 Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs 424 425config STE10XP 426 tristate "STMicroelectronics STe10Xp PHYs" 427 help 428 This is the driver for the STe100p and STe101p PHYs. 429 430config TERANETICS_PHY 431 tristate "Teranetics PHYs" 432 help 433 Currently supports the Teranetics TN2020 434 435config DP83822_PHY 436 tristate "Texas Instruments DP83822/825/826 PHYs" 437 help 438 Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S, 439 DP83826C and DP83826NC PHYs. 440 441config DP83TC811_PHY 442 tristate "Texas Instruments DP83TC811 PHY" 443 help 444 Supports the DP83TC811 PHY. 445 446config DP83848_PHY 447 tristate "Texas Instruments DP83848 PHY" 448 help 449 Supports the DP83848 PHY. 450 451config DP83867_PHY 452 tristate "Texas Instruments DP83867 Gigabit PHY" 453 help 454 Currently supports the DP83867 PHY. 455 456config DP83869_PHY 457 tristate "Texas Instruments DP83869 Gigabit PHY" 458 help 459 Currently supports the DP83869 PHY. This PHY supports copper and 460 fiber connections. 461 462config DP83TD510_PHY 463 tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY" 464 help 465 Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports 466 a 10M single pair Ethernet connection for up to 1000 meter cable. 467 468config DP83TG720_PHY 469 tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY" 470 select OPEN_ALLIANCE_HELPERS 471 help 472 The DP83TG720S-Q1 is an automotive Ethernet physical layer 473 transceiver compliant with IEEE 802.3bp and Open Alliance 474 standards. It supports key functions necessary for 475 transmitting and receiving data over both unshielded and 476 shielded single twisted-pair cables. This device offers 477 flexible xMII interface options, including support for both 478 RGMII and SGMII MAC interfaces. It's suitable for applications 479 requiring high-speed data transmission in automotive 480 networking environments. 481 482config VITESSE_PHY 483 tristate "Vitesse PHYs" 484 help 485 Currently supports the vsc8244 486 487config XILINX_GMII2RGMII 488 tristate "Xilinx GMII2RGMII converter driver" 489 help 490 This driver support xilinx GMII to RGMII IP core it provides 491 the Reduced Gigabit Media Independent Interface(RGMII) between 492 Ethernet physical media devices and the Gigabit Ethernet controller. 493 494endif # PHYLIB 495