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