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 DAVICOM_PHY 242 tristate "Davicom PHYs" 243 help 244 Currently supports dm9161e and dm9131 245 246config ICPLUS_PHY 247 tristate "ICPlus PHYs" 248 help 249 Currently supports the IP175C and IP1001 PHYs. 250 251config LXT_PHY 252 tristate "Intel LXT PHYs" 253 help 254 Currently supports the lxt970, lxt971 255 256config INTEL_XWAY_PHY 257 tristate "Intel XWAY PHYs" 258 help 259 Supports the Intel XWAY (former Lantiq) 11G and 22F PHYs. 260 These PHYs are marked as standalone chips under the names 261 PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel 262 SoCs xRX200, xRX300, xRX330, xRX350 and xRX550. 263 264config LSI_ET1011C_PHY 265 tristate "LSI ET1011C PHY" 266 help 267 Supports the LSI ET1011C PHY. 268 269config MARVELL_PHY 270 tristate "Marvell Alaska PHYs" 271 help 272 Currently has a driver for the 88E1XXX 273 274config MARVELL_10G_PHY 275 tristate "Marvell Alaska 10Gbit PHYs" 276 help 277 Support for the Marvell Alaska MV88X3310 and compatible PHYs. 278 279config MARVELL_88Q2XXX_PHY 280 tristate "Marvell 88Q2XXX PHY" 281 depends on HWMON || HWMON=n 282 help 283 Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet 284 PHYs. 285 286config MARVELL_88X2222_PHY 287 tristate "Marvell 88X2222 PHY" 288 help 289 Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet 290 Transceiver. 291 292config MAXLINEAR_GPHY 293 tristate "Maxlinear Ethernet PHYs" 294 select POLYNOMIAL if HWMON 295 depends on HWMON || HWMON=n 296 help 297 Support for the Maxlinear GPY115, GPY211, GPY212, GPY215, 298 GPY241, GPY245 PHYs. 299 300config MAXLINEAR_86110_PHY 301 tristate "MaxLinear MXL86110 PHY support" 302 help 303 Support for the MaxLinear MXL86110 Gigabit Ethernet 304 Physical Layer transceiver. 305 The MXL86110 is commonly used in networking equipment such as 306 routers, switches, and embedded systems, providing the 307 physical interface for 10/100/1000 Mbps Ethernet connections 308 over copper media. 309 If you are using a board with the MXL86110 PHY connected to your 310 Ethernet MAC, you should enable this option. 311 312source "drivers/net/phy/mediatek/Kconfig" 313 314config MICREL_PHY 315 tristate "Micrel PHYs" 316 depends on PTP_1588_CLOCK_OPTIONAL 317 select PHY_PACKAGE 318 help 319 Supports the KSZ8xxx, KSZ9xxx, and LAN88xx families of Micrel/Microchip PHYs. 320 321config MICROCHIP_T1S_PHY 322 tristate "Microchip 10BASE-T1S Ethernet PHYs" 323 help 324 Currently supports the LAN8670/1/2 Rev.B1/C1/C2/D0 and 325 LAN8650/1 Rev.B0/B1 Internal PHYs. 326 327config MICROCHIP_PHY 328 tristate "Microchip PHYs" 329 help 330 Supports the LAN88XX PHYs. 331 332config MICROCHIP_T1_PHY 333 tristate "Microchip T1 PHYs" 334 select MICROCHIP_PHY_RDS_PTP if NETWORK_PHY_TIMESTAMPING 335 depends on PTP_1588_CLOCK_OPTIONAL 336 help 337 Supports the LAN8XXX PHYs. 338 339config MICROCHIP_PHY_RDS_PTP 340 tristate 341 help 342 Currently supports LAN887X T1 PHY 343 344config MICROSEMI_PHY 345 tristate "Microsemi PHYs" 346 depends on MACSEC || MACSEC=n 347 depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING 348 select CRYPTO_LIB_AES if MACSEC 349 select PHY_PACKAGE 350 help 351 Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs 352 353config MOTORCOMM_PHY 354 tristate "Motorcomm PHYs" 355 help 356 Enables support for Motorcomm network PHYs. 357 Currently supports YT85xx Gigabit Ethernet PHYs. 358 359config NATIONAL_PHY 360 tristate "National Semiconductor PHYs" 361 help 362 Currently supports the DP83865 PHY. 363 364config NXP_CBTX_PHY 365 tristate "NXP 100BASE-TX PHYs" 366 help 367 Support the 100BASE-TX PHY integrated on the SJA1110 automotive 368 switch family. 369 370config NXP_C45_TJA11XX_PHY 371 tristate "NXP C45 TJA11XX PHYs" 372 depends on PTP_1588_CLOCK_OPTIONAL 373 depends on MACSEC || !MACSEC 374 help 375 Enable support for NXP C45 TJA11XX PHYs. 376 Currently supports the TJA1103, TJA1104, TJA1120 and TJA1121 PHYs. 377 378config NXP_TJA11XX_PHY 379 tristate "NXP TJA11xx PHYs support" 380 depends on HWMON 381 help 382 Currently supports the NXP TJA1100, TJA1101 and TJA1102 PHYs. 383 384config NCN26000_PHY 385 tristate "Onsemi 10BASE-T1S Ethernet PHY" 386 help 387 Adds support for the onsemi 10BASE-T1S Ethernet PHY. 388 Currently supports the NCN26000 10BASE-T1S Industrial PHY 389 with MII interface. 390 391source "drivers/net/phy/qcom/Kconfig" 392 393config QSEMI_PHY 394 tristate "Quality Semiconductor PHYs" 395 help 396 Currently supports the qs6612 397 398source "drivers/net/phy/realtek/Kconfig" 399 400config RENESAS_PHY 401 tristate "Renesas PHYs" 402 help 403 Supports the Renesas PHYs uPD60620 and uPD60620A. 404 405config ROCKCHIP_PHY 406 tristate "Rockchip Ethernet PHYs" 407 help 408 Currently supports the integrated Ethernet PHY. 409 410config SMSC_PHY 411 tristate "SMSC PHYs" 412 select CRC16 413 help 414 Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs 415 416config STE10XP 417 tristate "STMicroelectronics STe10Xp PHYs" 418 help 419 This is the driver for the STe100p and STe101p PHYs. 420 421config TERANETICS_PHY 422 tristate "Teranetics PHYs" 423 help 424 Currently supports the Teranetics TN2020 425 426config DP83822_PHY 427 tristate "Texas Instruments DP83822/825/826 PHYs" 428 help 429 Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S, 430 DP83826C and DP83826NC PHYs. 431 432config DP83TC811_PHY 433 tristate "Texas Instruments DP83TC811 PHY" 434 help 435 Supports the DP83TC811 PHY. 436 437config DP83848_PHY 438 tristate "Texas Instruments DP83848 PHY" 439 help 440 Supports the DP83848 PHY. 441 442config DP83867_PHY 443 tristate "Texas Instruments DP83867 Gigabit PHY" 444 help 445 Currently supports the DP83867 PHY. 446 447config DP83869_PHY 448 tristate "Texas Instruments DP83869 Gigabit PHY" 449 help 450 Currently supports the DP83869 PHY. This PHY supports copper and 451 fiber connections. 452 453config DP83TD510_PHY 454 tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY" 455 help 456 Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports 457 a 10M single pair Ethernet connection for up to 1000 meter cable. 458 459config DP83TG720_PHY 460 tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY" 461 select OPEN_ALLIANCE_HELPERS 462 help 463 The DP83TG720S-Q1 is an automotive Ethernet physical layer 464 transceiver compliant with IEEE 802.3bp and Open Alliance 465 standards. It supports key functions necessary for 466 transmitting and receiving data over both unshielded and 467 shielded single twisted-pair cables. This device offers 468 flexible xMII interface options, including support for both 469 RGMII and SGMII MAC interfaces. It's suitable for applications 470 requiring high-speed data transmission in automotive 471 networking environments. 472 473config VITESSE_PHY 474 tristate "Vitesse PHYs" 475 help 476 Currently supports the vsc8244 477 478config XILINX_GMII2RGMII 479 tristate "Xilinx GMII2RGMII converter driver" 480 help 481 This driver support xilinx GMII to RGMII IP core it provides 482 the Reduced Gigabit Media Independent Interface(RGMII) between 483 Ethernet physical media devices and the Gigabit Ethernet controller. 484 485endif # PHYLIB 486