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 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 112source "drivers/net/phy/aquantia/Kconfig" 113 114config AX88796B_PHY 115 tristate "Asix PHYs" 116 help 117 Currently supports the Asix Electronics PHY found in the X-Surf 100 118 AX88796B package. 119 120config AX88796B_RUST_PHY 121 bool "Rust reference driver for Asix PHYs" 122 depends on RUST_PHYLIB_ABSTRACTIONS && AX88796B_PHY 123 help 124 Uses the Rust reference driver for Asix PHYs (ax88796b_rust.ko). 125 The features are equivalent. It supports the Asix Electronics PHY 126 found in the X-Surf 100 AX88796B package. 127 128config BROADCOM_PHY 129 tristate "Broadcom 54XX PHYs" 130 select BCM_NET_PHYLIB 131 select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING 132 depends on PTP_1588_CLOCK_OPTIONAL 133 help 134 Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464, 135 BCM5481, BCM54810 and BCM5482 PHYs. 136 137config BCM54140_PHY 138 tristate "Broadcom BCM54140 PHY" 139 depends on HWMON || HWMON=n 140 select BCM_NET_PHYLIB 141 help 142 Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY. 143 144 This driver also supports the hardware monitoring of this PHY and 145 exposes voltage and temperature sensors. 146 147config BCM63XX_PHY 148 tristate "Broadcom 63xx SOCs internal PHY" 149 depends on BCM63XX || COMPILE_TEST 150 select BCM_NET_PHYLIB 151 help 152 Currently supports the 6348 and 6358 PHYs. 153 154config BCM7XXX_PHY 155 tristate "Broadcom 7xxx SOCs internal PHYs" 156 select BCM_NET_PHYLIB 157 help 158 Currently supports the BCM7366, BCM7439, BCM7445, and 159 40nm and 65nm generation of BCM7xxx Set Top Box SoCs. 160 161config BCM84881_PHY 162 tristate "Broadcom BCM84881 PHY" 163 help 164 Support the Broadcom BCM84881 PHY. 165 166config BCM87XX_PHY 167 tristate "Broadcom BCM8706 and BCM8727 PHYs" 168 help 169 Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs. 170 171config BCM_CYGNUS_PHY 172 tristate "Broadcom Cygnus/Omega SoC internal PHY" 173 depends on ARCH_BCM_IPROC || COMPILE_TEST 174 depends on MDIO_BCM_IPROC 175 select BCM_NET_PHYLIB 176 help 177 This PHY driver is for the 1G internal PHYs of the Broadcom 178 Cygnus and Omega Family SoC. 179 180 Currently supports internal PHY's used in the BCM11300, 181 BCM11320, BCM11350, BCM11360, BCM58300, BCM58302, 182 BCM58303 & BCM58305 Broadcom Cygnus SoCs. 183 184config BCM_NET_PHYLIB 185 tristate 186 187config BCM_NET_PHYPTP 188 tristate 189 190config CICADA_PHY 191 tristate "Cicada PHYs" 192 help 193 Currently supports the cis8204 194 195config CORTINA_PHY 196 tristate "Cortina EDC CDR 10G Ethernet PHY" 197 help 198 Currently supports the CS4340 phy. 199 200config DAVICOM_PHY 201 tristate "Davicom PHYs" 202 help 203 Currently supports dm9161e and dm9131 204 205config ICPLUS_PHY 206 tristate "ICPlus PHYs" 207 help 208 Currently supports the IP175C and IP1001 PHYs. 209 210config LXT_PHY 211 tristate "Intel LXT PHYs" 212 help 213 Currently supports the lxt970, lxt971 214 215config INTEL_XWAY_PHY 216 tristate "Intel XWAY PHYs" 217 help 218 Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs. 219 These PHYs are marked as standalone chips under the names 220 PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel 221 SoCs xRX200, xRX300, xRX330, xRX350 and xRX550. 222 223config LSI_ET1011C_PHY 224 tristate "LSI ET1011C PHY" 225 help 226 Supports the LSI ET1011C PHY. 227 228config MARVELL_PHY 229 tristate "Marvell Alaska PHYs" 230 help 231 Currently has a driver for the 88E1XXX 232 233config MARVELL_10G_PHY 234 tristate "Marvell Alaska 10Gbit PHYs" 235 help 236 Support for the Marvell Alaska MV88X3310 and compatible PHYs. 237 238config MARVELL_88Q2XXX_PHY 239 tristate "Marvell 88Q2XXX PHY" 240 depends on HWMON || HWMON=n 241 help 242 Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet 243 PHYs. 244 245config MARVELL_88X2222_PHY 246 tristate "Marvell 88X2222 PHY" 247 help 248 Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet 249 Transceiver. 250 251config MAXLINEAR_GPHY 252 tristate "Maxlinear Ethernet PHYs" 253 select POLYNOMIAL if HWMON 254 depends on HWMON || HWMON=n 255 help 256 Support for the Maxlinear GPY115, GPY211, GPY212, GPY215, 257 GPY241, GPY245 PHYs. 258 259config MEDIATEK_GE_PHY 260 tristate "MediaTek Gigabit Ethernet PHYs" 261 help 262 Supports the MediaTek Gigabit Ethernet PHYs. 263 264config MEDIATEK_GE_SOC_PHY 265 tristate "MediaTek SoC Ethernet PHYs" 266 depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST 267 depends on NVMEM_MTK_EFUSE 268 help 269 Supports MediaTek SoC built-in Gigabit Ethernet PHYs. 270 271 Include support for built-in Ethernet PHYs which are present in 272 the MT7981 and MT7988 SoCs. These PHYs need calibration data 273 present in the SoCs efuse and will dynamically calibrate VCM 274 (common-mode voltage) during startup. 275 276config MICREL_PHY 277 tristate "Micrel PHYs" 278 depends on PTP_1588_CLOCK_OPTIONAL 279 help 280 Supports the KSZ9021, VSC8201, KS8001 PHYs. 281 282config MICROCHIP_T1S_PHY 283 tristate "Microchip 10BASE-T1S Ethernet PHYs" 284 help 285 Currently supports the LAN8670/1/2 Rev.B1 and LAN8650/1 Rev.B0 Internal 286 PHYs. 287 288config MICROCHIP_PHY 289 tristate "Microchip PHYs" 290 help 291 Supports the LAN88XX PHYs. 292 293config MICROCHIP_T1_PHY 294 tristate "Microchip T1 PHYs" 295 help 296 Supports the LAN87XX PHYs. 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 and TJA1120 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 351config REALTEK_PHY 352 tristate "Realtek PHYs" 353 help 354 Supports the Realtek 821x PHY. 355 356config RENESAS_PHY 357 tristate "Renesas PHYs" 358 help 359 Supports the Renesas PHYs uPD60620 and uPD60620A. 360 361config ROCKCHIP_PHY 362 tristate "Rockchip Ethernet PHYs" 363 help 364 Currently supports the integrated Ethernet PHY. 365 366config SMSC_PHY 367 tristate "SMSC PHYs" 368 select CRC16 369 help 370 Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs 371 372config STE10XP 373 tristate "STMicroelectronics STe10Xp PHYs" 374 help 375 This is the driver for the STe100p and STe101p PHYs. 376 377config TERANETICS_PHY 378 tristate "Teranetics PHYs" 379 help 380 Currently supports the Teranetics TN2020 381 382config DP83822_PHY 383 tristate "Texas Instruments DP83822/825/826 PHYs" 384 help 385 Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S, 386 DP83826C and DP83826NC PHYs. 387 388config DP83TC811_PHY 389 tristate "Texas Instruments DP83TC811 PHY" 390 help 391 Supports the DP83TC811 PHY. 392 393config DP83848_PHY 394 tristate "Texas Instruments DP83848 PHY" 395 help 396 Supports the DP83848 PHY. 397 398config DP83867_PHY 399 tristate "Texas Instruments DP83867 Gigabit PHY" 400 help 401 Currently supports the DP83867 PHY. 402 403config DP83869_PHY 404 tristate "Texas Instruments DP83869 Gigabit PHY" 405 help 406 Currently supports the DP83869 PHY. This PHY supports copper and 407 fiber connections. 408 409config DP83TD510_PHY 410 tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY" 411 help 412 Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports 413 a 10M single pair Ethernet connection for up to 1000 meter cable. 414 415config DP83TG720_PHY 416 tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY" 417 help 418 The DP83TG720S-Q1 is an automotive Ethernet physical layer 419 transceiver compliant with IEEE 802.3bp and Open Alliance 420 standards. It supports key functions necessary for 421 transmitting and receiving data over both unshielded and 422 shielded single twisted-pair cables. This device offers 423 flexible xMII interface options, including support for both 424 RGMII and SGMII MAC interfaces. It's suitable for applications 425 requiring high-speed data transmission in automotive 426 networking environments. 427 428config VITESSE_PHY 429 tristate "Vitesse PHYs" 430 help 431 Currently supports the vsc8244 432 433config XILINX_GMII2RGMII 434 tristate "Xilinx GMII2RGMII converter driver" 435 help 436 This driver support xilinx GMII to RGMII IP core it provides 437 the Reduced Gigabit Media Independent Interface(RGMII) between 438 Ethernet physical media devices and the Gigabit Ethernet controller. 439 440endif # PHYLIB 441 442config MICREL_KS8995MA 443 tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch" 444 depends on SPI 445