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