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