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