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 278source "drivers/net/phy/mediatek/Kconfig" 279 280config MICREL_PHY 281 tristate "Micrel PHYs" 282 depends on PTP_1588_CLOCK_OPTIONAL 283 help 284 Supports the KSZ9021, VSC8201, KS8001 PHYs. 285 286config MICROCHIP_T1S_PHY 287 tristate "Microchip 10BASE-T1S Ethernet PHYs" 288 help 289 Currently supports the LAN8670/1/2 Rev.B1/C1/C2 and 290 LAN8650/1 Rev.B0/B1 Internal PHYs. 291 292config MICROCHIP_PHY 293 tristate "Microchip PHYs" 294 help 295 Supports the LAN88XX PHYs. 296 297config MICROCHIP_T1_PHY 298 tristate "Microchip T1 PHYs" 299 select MICROCHIP_PHY_RDS_PTP if NETWORK_PHY_TIMESTAMPING 300 depends on PTP_1588_CLOCK_OPTIONAL 301 help 302 Supports the LAN8XXX PHYs. 303 304config MICROCHIP_PHY_RDS_PTP 305 tristate 306 help 307 Currently supports LAN887X T1 PHY 308 309config MICROSEMI_PHY 310 tristate "Microsemi PHYs" 311 depends on MACSEC || MACSEC=n 312 depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING 313 select CRYPTO_LIB_AES if MACSEC 314 help 315 Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs 316 317config MOTORCOMM_PHY 318 tristate "Motorcomm PHYs" 319 help 320 Enables support for Motorcomm network PHYs. 321 Currently supports YT85xx Gigabit Ethernet PHYs. 322 323config NATIONAL_PHY 324 tristate "National Semiconductor PHYs" 325 help 326 Currently supports the DP83865 PHY. 327 328config NXP_CBTX_PHY 329 tristate "NXP 100BASE-TX PHYs" 330 help 331 Support the 100BASE-TX PHY integrated on the SJA1110 automotive 332 switch family. 333 334config NXP_C45_TJA11XX_PHY 335 tristate "NXP C45 TJA11XX PHYs" 336 depends on PTP_1588_CLOCK_OPTIONAL 337 depends on MACSEC || !MACSEC 338 help 339 Enable support for NXP C45 TJA11XX PHYs. 340 Currently supports the TJA1103, TJA1104, TJA1120 and TJA1121 PHYs. 341 342config NXP_TJA11XX_PHY 343 tristate "NXP TJA11xx PHYs support" 344 depends on HWMON 345 help 346 Currently supports the NXP TJA1100 and TJA1101 PHY. 347 348config NCN26000_PHY 349 tristate "Onsemi 10BASE-T1S Ethernet PHY" 350 help 351 Adds support for the onsemi 10BASE-T1S Ethernet PHY. 352 Currently supports the NCN26000 10BASE-T1S Industrial PHY 353 with MII interface. 354 355source "drivers/net/phy/qcom/Kconfig" 356 357config QSEMI_PHY 358 tristate "Quality Semiconductor PHYs" 359 help 360 Currently supports the qs6612 361 362source "drivers/net/phy/realtek/Kconfig" 363 364config RENESAS_PHY 365 tristate "Renesas PHYs" 366 help 367 Supports the Renesas PHYs uPD60620 and uPD60620A. 368 369config ROCKCHIP_PHY 370 tristate "Rockchip Ethernet PHYs" 371 help 372 Currently supports the integrated Ethernet PHY. 373 374config SMSC_PHY 375 tristate "SMSC PHYs" 376 select CRC16 377 help 378 Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs 379 380config STE10XP 381 tristate "STMicroelectronics STe10Xp PHYs" 382 help 383 This is the driver for the STe100p and STe101p PHYs. 384 385config TERANETICS_PHY 386 tristate "Teranetics PHYs" 387 help 388 Currently supports the Teranetics TN2020 389 390config DP83822_PHY 391 tristate "Texas Instruments DP83822/825/826 PHYs" 392 help 393 Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S, 394 DP83826C and DP83826NC PHYs. 395 396config DP83TC811_PHY 397 tristate "Texas Instruments DP83TC811 PHY" 398 help 399 Supports the DP83TC811 PHY. 400 401config DP83848_PHY 402 tristate "Texas Instruments DP83848 PHY" 403 help 404 Supports the DP83848 PHY. 405 406config DP83867_PHY 407 tristate "Texas Instruments DP83867 Gigabit PHY" 408 help 409 Currently supports the DP83867 PHY. 410 411config DP83869_PHY 412 tristate "Texas Instruments DP83869 Gigabit PHY" 413 help 414 Currently supports the DP83869 PHY. This PHY supports copper and 415 fiber connections. 416 417config DP83TD510_PHY 418 tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY" 419 help 420 Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports 421 a 10M single pair Ethernet connection for up to 1000 meter cable. 422 423config DP83TG720_PHY 424 tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY" 425 select OPEN_ALLIANCE_HELPERS 426 help 427 The DP83TG720S-Q1 is an automotive Ethernet physical layer 428 transceiver compliant with IEEE 802.3bp and Open Alliance 429 standards. It supports key functions necessary for 430 transmitting and receiving data over both unshielded and 431 shielded single twisted-pair cables. This device offers 432 flexible xMII interface options, including support for both 433 RGMII and SGMII MAC interfaces. It's suitable for applications 434 requiring high-speed data transmission in automotive 435 networking environments. 436 437config VITESSE_PHY 438 tristate "Vitesse PHYs" 439 help 440 Currently supports the vsc8244 441 442config XILINX_GMII2RGMII 443 tristate "Xilinx GMII2RGMII converter driver" 444 help 445 This driver support xilinx GMII to RGMII IP core it provides 446 the Reduced Gigabit Media Independent Interface(RGMII) between 447 Ethernet physical media devices and the Gigabit Ethernet controller. 448 449endif # PHYLIB 450 451config MICREL_KS8995MA 452 tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch" 453 depends on SPI 454