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