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