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 AMCC_QT2025_PHY 140 tristate "AMCC QT2025 PHY" 141 depends on RUST_PHYLIB_ABSTRACTIONS 142 depends on RUST_FW_LOADER_ABSTRACTIONS 143 help 144 Adds support for the Applied Micro Circuits Corporation QT2025 PHY. 145 146source "drivers/net/phy/aquantia/Kconfig" 147 148config AX88796B_PHY 149 tristate "Asix PHYs" 150 help 151 Currently supports the Asix Electronics PHY found in the X-Surf 100 152 AX88796B package. 153 154config AX88796B_RUST_PHY 155 bool "Rust reference driver for Asix PHYs" 156 depends on RUST_PHYLIB_ABSTRACTIONS && AX88796B_PHY 157 help 158 Uses the Rust reference driver for Asix PHYs (ax88796b_rust.ko). 159 The features are equivalent. It supports the Asix Electronics PHY 160 found in the X-Surf 100 AX88796B package. 161 162config BROADCOM_PHY 163 tristate "Broadcom 54XX PHYs" 164 select BCM_NET_PHYLIB 165 select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING 166 depends on PTP_1588_CLOCK_OPTIONAL 167 help 168 Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464, 169 BCM5481, BCM54810 and BCM5482 PHYs. 170 171config BCM54140_PHY 172 tristate "Broadcom BCM54140 PHY" 173 depends on HWMON || HWMON=n 174 select BCM_NET_PHYLIB 175 select PHY_PACKAGE 176 help 177 Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY. 178 179 This driver also supports the hardware monitoring of this PHY and 180 exposes voltage and temperature sensors. 181 182config BCM63XX_PHY 183 tristate "Broadcom 63xx SOCs internal PHY" 184 depends on BCM63XX || COMPILE_TEST 185 select BCM_NET_PHYLIB 186 help 187 Currently supports the 6348 and 6358 PHYs. 188 189config BCM7XXX_PHY 190 tristate "Broadcom 7xxx SOCs internal PHYs" 191 select BCM_NET_PHYLIB 192 help 193 Currently supports the BCM7366, BCM7439, BCM7445, and 194 40nm and 65nm generation of BCM7xxx Set Top Box SoCs. 195 196config BCM84881_PHY 197 tristate "Broadcom BCM84881 PHY" 198 help 199 Support the Broadcom BCM84881 PHY. 200 201config BCM87XX_PHY 202 tristate "Broadcom BCM8706 and BCM8727 PHYs" 203 help 204 Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs. 205 206config BCM_CYGNUS_PHY 207 tristate "Broadcom Cygnus/Omega SoC internal PHY" 208 depends on ARCH_BCM_IPROC || COMPILE_TEST 209 depends on MDIO_BCM_IPROC 210 select BCM_NET_PHYLIB 211 help 212 This PHY driver is for the 1G internal PHYs of the Broadcom 213 Cygnus and Omega Family SoC. 214 215 Currently supports internal PHY's used in the BCM11300, 216 BCM11320, BCM11350, BCM11360, BCM58300, BCM58302, 217 BCM58303 & BCM58305 Broadcom Cygnus SoCs. 218 219config BCM_NET_PHYLIB 220 tristate 221 222config BCM_NET_PHYPTP 223 tristate 224 225config CICADA_PHY 226 tristate "Cicada PHYs" 227 help 228 Currently supports the cis8204 229 230config CORTINA_PHY 231 tristate "Cortina EDC CDR 10G Ethernet PHY" 232 help 233 Currently supports the CS4340 phy. 234 235config DAVICOM_PHY 236 tristate "Davicom PHYs" 237 help 238 Currently supports dm9161e and dm9131 239 240config ICPLUS_PHY 241 tristate "ICPlus PHYs" 242 help 243 Currently supports the IP175C and IP1001 PHYs. 244 245config LXT_PHY 246 tristate "Intel LXT PHYs" 247 help 248 Currently supports the lxt970, lxt971 249 250config INTEL_XWAY_PHY 251 tristate "Intel XWAY PHYs" 252 help 253 Supports the Intel XWAY (former Lantiq) 11G and 22F PHYs. 254 These PHYs are marked as standalone chips under the names 255 PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel 256 SoCs xRX200, xRX300, xRX330, xRX350 and xRX550. 257 258config LSI_ET1011C_PHY 259 tristate "LSI ET1011C PHY" 260 help 261 Supports the LSI ET1011C PHY. 262 263config MARVELL_PHY 264 tristate "Marvell Alaska PHYs" 265 help 266 Currently has a driver for the 88E1XXX 267 268config MARVELL_10G_PHY 269 tristate "Marvell Alaska 10Gbit PHYs" 270 help 271 Support for the Marvell Alaska MV88X3310 and compatible PHYs. 272 273config MARVELL_88Q2XXX_PHY 274 tristate "Marvell 88Q2XXX PHY" 275 depends on HWMON || HWMON=n 276 help 277 Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet 278 PHYs. 279 280config MARVELL_88X2222_PHY 281 tristate "Marvell 88X2222 PHY" 282 help 283 Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet 284 Transceiver. 285 286config MAXLINEAR_GPHY 287 tristate "Maxlinear Ethernet PHYs" 288 select POLYNOMIAL if HWMON 289 depends on HWMON || HWMON=n 290 help 291 Support for the Maxlinear GPY115, GPY211, GPY212, GPY215, 292 GPY241, GPY245 PHYs. 293 294config MAXLINEAR_86110_PHY 295 tristate "MaxLinear MXL86110 PHY support" 296 help 297 Support for the MaxLinear MXL86110 Gigabit Ethernet 298 Physical Layer transceiver. 299 The MXL86110 is commonly used in networking equipment such as 300 routers, switches, and embedded systems, providing the 301 physical interface for 10/100/1000 Mbps Ethernet connections 302 over copper media. 303 If you are using a board with the MXL86110 PHY connected to your 304 Ethernet MAC, you should enable this option. 305 306source "drivers/net/phy/mediatek/Kconfig" 307 308config MICREL_PHY 309 tristate "Micrel PHYs" 310 depends on PTP_1588_CLOCK_OPTIONAL 311 select PHY_PACKAGE 312 help 313 Supports the KSZ8xxx, KSZ9xxx, and LAN88xx families of Micrel/Microchip PHYs. 314 315config MICROCHIP_T1S_PHY 316 tristate "Microchip 10BASE-T1S Ethernet PHYs" 317 help 318 Currently supports the LAN8670/1/2 Rev.B1/C1/C2/D0 and 319 LAN8650/1 Rev.B0/B1 Internal PHYs. 320 321config MICROCHIP_PHY 322 tristate "Microchip PHYs" 323 help 324 Supports the LAN88XX PHYs. 325 326config MICROCHIP_T1_PHY 327 tristate "Microchip T1 PHYs" 328 select MICROCHIP_PHY_RDS_PTP if NETWORK_PHY_TIMESTAMPING 329 depends on PTP_1588_CLOCK_OPTIONAL 330 help 331 Supports the LAN8XXX PHYs. 332 333config MICROCHIP_PHY_RDS_PTP 334 tristate 335 help 336 Currently supports LAN887X T1 PHY 337 338config MICROSEMI_PHY 339 tristate "Microsemi PHYs" 340 depends on MACSEC || MACSEC=n 341 depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING 342 select CRYPTO_LIB_AES if MACSEC 343 select PHY_PACKAGE 344 help 345 Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs 346 347config MOTORCOMM_PHY 348 tristate "Motorcomm PHYs" 349 help 350 Enables support for Motorcomm network PHYs. 351 Currently supports YT85xx Gigabit Ethernet PHYs. 352 353config NATIONAL_PHY 354 tristate "National Semiconductor PHYs" 355 help 356 Currently supports the DP83865 PHY. 357 358config NXP_CBTX_PHY 359 tristate "NXP 100BASE-TX PHYs" 360 help 361 Support the 100BASE-TX PHY integrated on the SJA1110 automotive 362 switch family. 363 364config NXP_C45_TJA11XX_PHY 365 tristate "NXP C45 TJA11XX PHYs" 366 depends on PTP_1588_CLOCK_OPTIONAL 367 depends on MACSEC || !MACSEC 368 help 369 Enable support for NXP C45 TJA11XX PHYs. 370 Currently supports the TJA1103, TJA1104, TJA1120 and TJA1121 PHYs. 371 372config NXP_TJA11XX_PHY 373 tristate "NXP TJA11xx PHYs support" 374 depends on HWMON 375 help 376 Currently supports the NXP TJA1100, TJA1101 and TJA1102 PHYs. 377 378config NCN26000_PHY 379 tristate "Onsemi 10BASE-T1S Ethernet PHY" 380 help 381 Adds support for the onsemi 10BASE-T1S Ethernet PHY. 382 Currently supports the NCN26000 10BASE-T1S Industrial PHY 383 with MII interface. 384 385source "drivers/net/phy/qcom/Kconfig" 386 387config QSEMI_PHY 388 tristate "Quality Semiconductor PHYs" 389 help 390 Currently supports the qs6612 391 392source "drivers/net/phy/realtek/Kconfig" 393 394config RENESAS_PHY 395 tristate "Renesas PHYs" 396 help 397 Supports the Renesas PHYs uPD60620 and uPD60620A. 398 399config ROCKCHIP_PHY 400 tristate "Rockchip Ethernet PHYs" 401 help 402 Currently supports the integrated Ethernet PHY. 403 404config SMSC_PHY 405 tristate "SMSC PHYs" 406 select CRC16 407 help 408 Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs 409 410config STE10XP 411 tristate "STMicroelectronics STe10Xp PHYs" 412 help 413 This is the driver for the STe100p and STe101p PHYs. 414 415config TERANETICS_PHY 416 tristate "Teranetics PHYs" 417 help 418 Currently supports the Teranetics TN2020 419 420config DP83822_PHY 421 tristate "Texas Instruments DP83822/825/826 PHYs" 422 help 423 Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S, 424 DP83826C and DP83826NC PHYs. 425 426config DP83TC811_PHY 427 tristate "Texas Instruments DP83TC811 PHY" 428 help 429 Supports the DP83TC811 PHY. 430 431config DP83848_PHY 432 tristate "Texas Instruments DP83848 PHY" 433 help 434 Supports the DP83848 PHY. 435 436config DP83867_PHY 437 tristate "Texas Instruments DP83867 Gigabit PHY" 438 help 439 Currently supports the DP83867 PHY. 440 441config DP83869_PHY 442 tristate "Texas Instruments DP83869 Gigabit PHY" 443 help 444 Currently supports the DP83869 PHY. This PHY supports copper and 445 fiber connections. 446 447config DP83TD510_PHY 448 tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY" 449 help 450 Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports 451 a 10M single pair Ethernet connection for up to 1000 meter cable. 452 453config DP83TG720_PHY 454 tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY" 455 select OPEN_ALLIANCE_HELPERS 456 help 457 The DP83TG720S-Q1 is an automotive Ethernet physical layer 458 transceiver compliant with IEEE 802.3bp and Open Alliance 459 standards. It supports key functions necessary for 460 transmitting and receiving data over both unshielded and 461 shielded single twisted-pair cables. This device offers 462 flexible xMII interface options, including support for both 463 RGMII and SGMII MAC interfaces. It's suitable for applications 464 requiring high-speed data transmission in automotive 465 networking environments. 466 467config VITESSE_PHY 468 tristate "Vitesse PHYs" 469 help 470 Currently supports the vsc8244 471 472config XILINX_GMII2RGMII 473 tristate "Xilinx GMII2RGMII converter driver" 474 help 475 This driver support xilinx GMII to RGMII IP core it provides 476 the Reduced Gigabit Media Independent Interface(RGMII) between 477 Ethernet physical media devices and the Gigabit Ethernet controller. 478 479endif # PHYLIB 480