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