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, YT861x PHYs 367 integrated in YT921x switches, and YT8821 2.5Gbps PHYs. 368 369config NATIONAL_PHY 370 tristate "National Semiconductor PHYs" 371 help 372 Currently supports the DP83865 PHY. 373 374config NXP_CBTX_PHY 375 tristate "NXP 100BASE-TX PHYs" 376 help 377 Support the 100BASE-TX PHY integrated on the SJA1110 automotive 378 switch family. 379 380config NXP_C45_TJA11XX_PHY 381 tristate "NXP C45 TJA11XX PHYs" 382 depends on PTP_1588_CLOCK_OPTIONAL 383 depends on MACSEC || !MACSEC 384 help 385 Enable support for NXP C45 TJA11XX PHYs. 386 Currently supports the TJA1103, TJA1104, TJA1120 and TJA1121 PHYs. 387 388config NXP_TJA11XX_PHY 389 tristate "NXP TJA11xx PHYs support" 390 depends on HWMON 391 help 392 Currently supports the NXP TJA1100, TJA1101 and TJA1102 PHYs. 393 394config NCN26000_PHY 395 tristate "Onsemi 10BASE-T1S Ethernet PHY" 396 help 397 Adds support for the onsemi 10BASE-T1S Ethernet PHY. 398 Currently supports the NCN26000 10BASE-T1S Industrial PHY 399 with MII interface. 400 401source "drivers/net/phy/qcom/Kconfig" 402 403config QSEMI_PHY 404 tristate "Quality Semiconductor PHYs" 405 help 406 Currently supports the qs6612 407 408source "drivers/net/phy/realtek/Kconfig" 409 410config RENESAS_PHY 411 tristate "Renesas PHYs" 412 help 413 Supports the Renesas PHYs uPD60620 and uPD60620A. 414 415config ROCKCHIP_PHY 416 tristate "Rockchip Ethernet PHYs" 417 help 418 Currently supports the integrated Ethernet PHY. 419 420config SMSC_PHY 421 tristate "SMSC PHYs" 422 select CRC16 423 help 424 Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs 425 426config STE10XP 427 tristate "STMicroelectronics STe10Xp PHYs" 428 help 429 This is the driver for the STe100p and STe101p PHYs. 430 431config TERANETICS_PHY 432 tristate "Teranetics PHYs" 433 help 434 Currently supports the Teranetics TN2020 435 436config DP83822_PHY 437 tristate "Texas Instruments DP83822/825/826 PHYs" 438 help 439 Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S, 440 DP83826C and DP83826NC PHYs. 441 442config DP83TC811_PHY 443 tristate "Texas Instruments DP83TC811 PHY" 444 help 445 Supports the DP83TC811 PHY. 446 447config DP83848_PHY 448 tristate "Texas Instruments DP83848 PHY" 449 help 450 Supports the DP83848 PHY. 451 452config DP83867_PHY 453 tristate "Texas Instruments DP83867 Gigabit PHY" 454 help 455 Currently supports the DP83867 PHY. 456 457config DP83869_PHY 458 tristate "Texas Instruments DP83869 Gigabit PHY" 459 help 460 Currently supports the DP83869 PHY. This PHY supports copper and 461 fiber connections. 462 463config DP83TD510_PHY 464 tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY" 465 help 466 Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports 467 a 10M single pair Ethernet connection for up to 1000 meter cable. 468 469config DP83TG720_PHY 470 tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY" 471 select OPEN_ALLIANCE_HELPERS 472 help 473 The DP83TG720S-Q1 is an automotive Ethernet physical layer 474 transceiver compliant with IEEE 802.3bp and Open Alliance 475 standards. It supports key functions necessary for 476 transmitting and receiving data over both unshielded and 477 shielded single twisted-pair cables. This device offers 478 flexible xMII interface options, including support for both 479 RGMII and SGMII MAC interfaces. It's suitable for applications 480 requiring high-speed data transmission in automotive 481 networking environments. 482 483config VITESSE_PHY 484 tristate "Vitesse PHYs" 485 help 486 Currently supports the vsc8244 487 488config XPOWERS_ACX00_PHY 489 tristate "X-Powers AC200/AC300 Ethernet PHY" 490 depends on COMMON_CLK && NVMEM && OF_MDIO && REGULATOR 491 depends on I2C || !I2C 492 select PHY_PACKAGE 493 help 494 Enable the Fast Ethernet PHY driver shared by the X-Powers AC200 495 and AC300 companion ICs. The driver configures their common MDIO PHY 496 registers and the package-specific AC200 I2C or AC300 MDIO control 497 registers. 498 499config XILINX_GMII2RGMII 500 tristate "Xilinx GMII2RGMII converter driver" 501 help 502 This driver support xilinx GMII to RGMII IP core it provides 503 the Reduced Gigabit Media Independent Interface(RGMII) between 504 Ethernet physical media devices and the Gigabit Ethernet controller. 505 506endif # PHYLIB 507