1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# PHY Layer Configuration 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunconfig PHYLINK 7*4882a593Smuzhiyun tristate 8*4882a593Smuzhiyun depends on NETDEVICES 9*4882a593Smuzhiyun select PHYLIB 10*4882a593Smuzhiyun select SWPHY 11*4882a593Smuzhiyun help 12*4882a593Smuzhiyun PHYlink models the link between the PHY and MAC, allowing fixed 13*4882a593Smuzhiyun configuration links, PHYs, and Serdes links with MAC level 14*4882a593Smuzhiyun autonegotiation modes. 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunmenuconfig PHYLIB 17*4882a593Smuzhiyun tristate "PHY Device support and infrastructure" 18*4882a593Smuzhiyun depends on NETDEVICES 19*4882a593Smuzhiyun select MDIO_DEVICE 20*4882a593Smuzhiyun select MDIO_DEVRES 21*4882a593Smuzhiyun help 22*4882a593Smuzhiyun Ethernet controllers are usually attached to PHY 23*4882a593Smuzhiyun devices. This option provides infrastructure for 24*4882a593Smuzhiyun managing PHY devices. 25*4882a593Smuzhiyun 26*4882a593Smuzhiyunif PHYLIB 27*4882a593Smuzhiyun 28*4882a593Smuzhiyunconfig SWPHY 29*4882a593Smuzhiyun bool 30*4882a593Smuzhiyun 31*4882a593Smuzhiyunconfig LED_TRIGGER_PHY 32*4882a593Smuzhiyun bool "Support LED triggers for tracking link state" 33*4882a593Smuzhiyun depends on LEDS_TRIGGERS 34*4882a593Smuzhiyun help 35*4882a593Smuzhiyun Adds support for a set of LED trigger events per-PHY. Link 36*4882a593Smuzhiyun state change will trigger the events, for consumption by an 37*4882a593Smuzhiyun LED class driver. There are triggers for each link speed currently 38*4882a593Smuzhiyun supported by the PHY and also a one common "link" trigger as a 39*4882a593Smuzhiyun logical-or of all the link speed ones. 40*4882a593Smuzhiyun All these triggers are named according to the following pattern: 41*4882a593Smuzhiyun <mii bus id>:<phy>:<speed> 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun Where speed is in the form: 44*4882a593Smuzhiyun <Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link 45*4882a593Smuzhiyun for any speed known to the PHY. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun 48*4882a593Smuzhiyunconfig FIXED_PHY 49*4882a593Smuzhiyun tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs" 50*4882a593Smuzhiyun depends on PHYLIB 51*4882a593Smuzhiyun select SWPHY 52*4882a593Smuzhiyun help 53*4882a593Smuzhiyun Adds the platform "fixed" MDIO Bus to cover the boards that use 54*4882a593Smuzhiyun PHYs that are not connected to the real MDIO bus. 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun Currently tested with mpc866ads and mpc8349e-mitx. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunconfig SFP 59*4882a593Smuzhiyun tristate "SFP cage support" 60*4882a593Smuzhiyun depends on I2C && PHYLINK 61*4882a593Smuzhiyun depends on HWMON || HWMON=n 62*4882a593Smuzhiyun select MDIO_I2C 63*4882a593Smuzhiyun 64*4882a593Smuzhiyuncomment "MII PHY device drivers" 65*4882a593Smuzhiyun 66*4882a593Smuzhiyunconfig AMD_PHY 67*4882a593Smuzhiyun tristate "AMD PHYs" 68*4882a593Smuzhiyun help 69*4882a593Smuzhiyun Currently supports the am79c874 70*4882a593Smuzhiyun 71*4882a593Smuzhiyunconfig MESON_GXL_PHY 72*4882a593Smuzhiyun tristate "Amlogic Meson GXL Internal PHY" 73*4882a593Smuzhiyun depends on ARCH_MESON || COMPILE_TEST 74*4882a593Smuzhiyun help 75*4882a593Smuzhiyun Currently has a driver for the Amlogic Meson GXL Internal PHY 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunconfig ADIN_PHY 78*4882a593Smuzhiyun tristate "Analog Devices Industrial Ethernet PHYs" 79*4882a593Smuzhiyun help 80*4882a593Smuzhiyun Adds support for the Analog Devices Industrial Ethernet PHYs. 81*4882a593Smuzhiyun Currently supports the: 82*4882a593Smuzhiyun - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY 83*4882a593Smuzhiyun - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit 84*4882a593Smuzhiyun Ethernet PHY 85*4882a593Smuzhiyun 86*4882a593Smuzhiyunconfig AQUANTIA_PHY 87*4882a593Smuzhiyun tristate "Aquantia PHYs" 88*4882a593Smuzhiyun help 89*4882a593Smuzhiyun Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405 90*4882a593Smuzhiyun 91*4882a593Smuzhiyunconfig AX88796B_PHY 92*4882a593Smuzhiyun tristate "Asix PHYs" 93*4882a593Smuzhiyun help 94*4882a593Smuzhiyun Currently supports the Asix Electronics PHY found in the X-Surf 100 95*4882a593Smuzhiyun AX88796B package. 96*4882a593Smuzhiyun 97*4882a593Smuzhiyunconfig BROADCOM_PHY 98*4882a593Smuzhiyun tristate "Broadcom 54XX PHYs" 99*4882a593Smuzhiyun select BCM_NET_PHYLIB 100*4882a593Smuzhiyun help 101*4882a593Smuzhiyun Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464, 102*4882a593Smuzhiyun BCM5481, BCM54810 and BCM5482 PHYs. 103*4882a593Smuzhiyun 104*4882a593Smuzhiyunconfig BCM54140_PHY 105*4882a593Smuzhiyun tristate "Broadcom BCM54140 PHY" 106*4882a593Smuzhiyun depends on PHYLIB 107*4882a593Smuzhiyun depends on HWMON || HWMON=n 108*4882a593Smuzhiyun select BCM_NET_PHYLIB 109*4882a593Smuzhiyun help 110*4882a593Smuzhiyun Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY. 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun This driver also supports the hardware monitoring of this PHY and 113*4882a593Smuzhiyun exposes voltage and temperature sensors. 114*4882a593Smuzhiyun 115*4882a593Smuzhiyunconfig BCM63XX_PHY 116*4882a593Smuzhiyun tristate "Broadcom 63xx SOCs internal PHY" 117*4882a593Smuzhiyun depends on BCM63XX || COMPILE_TEST 118*4882a593Smuzhiyun select BCM_NET_PHYLIB 119*4882a593Smuzhiyun help 120*4882a593Smuzhiyun Currently supports the 6348 and 6358 PHYs. 121*4882a593Smuzhiyun 122*4882a593Smuzhiyunconfig BCM7XXX_PHY 123*4882a593Smuzhiyun tristate "Broadcom 7xxx SOCs internal PHYs" 124*4882a593Smuzhiyun select BCM_NET_PHYLIB 125*4882a593Smuzhiyun help 126*4882a593Smuzhiyun Currently supports the BCM7366, BCM7439, BCM7445, and 127*4882a593Smuzhiyun 40nm and 65nm generation of BCM7xxx Set Top Box SoCs. 128*4882a593Smuzhiyun 129*4882a593Smuzhiyunconfig BCM84881_PHY 130*4882a593Smuzhiyun tristate "Broadcom BCM84881 PHY" 131*4882a593Smuzhiyun depends on PHYLIB 132*4882a593Smuzhiyun help 133*4882a593Smuzhiyun Support the Broadcom BCM84881 PHY. 134*4882a593Smuzhiyun 135*4882a593Smuzhiyunconfig BCM87XX_PHY 136*4882a593Smuzhiyun tristate "Broadcom BCM8706 and BCM8727 PHYs" 137*4882a593Smuzhiyun help 138*4882a593Smuzhiyun Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs. 139*4882a593Smuzhiyun 140*4882a593Smuzhiyunconfig BCM_CYGNUS_PHY 141*4882a593Smuzhiyun tristate "Broadcom Cygnus/Omega SoC internal PHY" 142*4882a593Smuzhiyun depends on ARCH_BCM_IPROC || COMPILE_TEST 143*4882a593Smuzhiyun depends on MDIO_BCM_IPROC 144*4882a593Smuzhiyun select BCM_NET_PHYLIB 145*4882a593Smuzhiyun help 146*4882a593Smuzhiyun This PHY driver is for the 1G internal PHYs of the Broadcom 147*4882a593Smuzhiyun Cygnus and Omega Family SoC. 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun Currently supports internal PHY's used in the BCM11300, 150*4882a593Smuzhiyun BCM11320, BCM11350, BCM11360, BCM58300, BCM58302, 151*4882a593Smuzhiyun BCM58303 & BCM58305 Broadcom Cygnus SoCs. 152*4882a593Smuzhiyun 153*4882a593Smuzhiyunconfig BCM_NET_PHYLIB 154*4882a593Smuzhiyun tristate 155*4882a593Smuzhiyun 156*4882a593Smuzhiyunconfig CICADA_PHY 157*4882a593Smuzhiyun tristate "Cicada PHYs" 158*4882a593Smuzhiyun help 159*4882a593Smuzhiyun Currently supports the cis8204 160*4882a593Smuzhiyun 161*4882a593Smuzhiyunconfig CORTINA_PHY 162*4882a593Smuzhiyun tristate "Cortina EDC CDR 10G Ethernet PHY" 163*4882a593Smuzhiyun help 164*4882a593Smuzhiyun Currently supports the CS4340 phy. 165*4882a593Smuzhiyun 166*4882a593Smuzhiyunconfig DAVICOM_PHY 167*4882a593Smuzhiyun tristate "Davicom PHYs" 168*4882a593Smuzhiyun help 169*4882a593Smuzhiyun Currently supports dm9161e and dm9131 170*4882a593Smuzhiyun 171*4882a593Smuzhiyunconfig ICPLUS_PHY 172*4882a593Smuzhiyun tristate "ICPlus PHYs" 173*4882a593Smuzhiyun help 174*4882a593Smuzhiyun Currently supports the IP175C and IP1001 PHYs. 175*4882a593Smuzhiyun 176*4882a593Smuzhiyunconfig LXT_PHY 177*4882a593Smuzhiyun tristate "Intel LXT PHYs" 178*4882a593Smuzhiyun help 179*4882a593Smuzhiyun Currently supports the lxt970, lxt971 180*4882a593Smuzhiyun 181*4882a593Smuzhiyunconfig INTEL_XWAY_PHY 182*4882a593Smuzhiyun tristate "Intel XWAY PHYs" 183*4882a593Smuzhiyun help 184*4882a593Smuzhiyun Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs. 185*4882a593Smuzhiyun These PHYs are marked as standalone chips under the names 186*4882a593Smuzhiyun PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel 187*4882a593Smuzhiyun SoCs xRX200, xRX300, xRX330, xRX350 and xRX550. 188*4882a593Smuzhiyun 189*4882a593Smuzhiyunconfig LSI_ET1011C_PHY 190*4882a593Smuzhiyun tristate "LSI ET1011C PHY" 191*4882a593Smuzhiyun help 192*4882a593Smuzhiyun Supports the LSI ET1011C PHY. 193*4882a593Smuzhiyun 194*4882a593Smuzhiyunconfig MARVELL_PHY 195*4882a593Smuzhiyun tristate "Marvell Alaska PHYs" 196*4882a593Smuzhiyun help 197*4882a593Smuzhiyun Currently has a driver for the 88E1XXX 198*4882a593Smuzhiyun 199*4882a593Smuzhiyunconfig MARVELL_10G_PHY 200*4882a593Smuzhiyun tristate "Marvell Alaska 10Gbit PHYs" 201*4882a593Smuzhiyun help 202*4882a593Smuzhiyun Support for the Marvell Alaska MV88X3310 and compatible PHYs. 203*4882a593Smuzhiyun 204*4882a593Smuzhiyunconfig MICREL_PHY 205*4882a593Smuzhiyun tristate "Micrel PHYs" 206*4882a593Smuzhiyun help 207*4882a593Smuzhiyun Supports the KSZ9021, VSC8201, KS8001 PHYs. 208*4882a593Smuzhiyun 209*4882a593Smuzhiyunconfig MICROCHIP_PHY 210*4882a593Smuzhiyun tristate "Microchip PHYs" 211*4882a593Smuzhiyun help 212*4882a593Smuzhiyun Supports the LAN88XX PHYs. 213*4882a593Smuzhiyun 214*4882a593Smuzhiyunconfig MICROCHIP_T1_PHY 215*4882a593Smuzhiyun tristate "Microchip T1 PHYs" 216*4882a593Smuzhiyun help 217*4882a593Smuzhiyun Supports the LAN87XX PHYs. 218*4882a593Smuzhiyun 219*4882a593Smuzhiyunconfig MICROSEMI_PHY 220*4882a593Smuzhiyun tristate "Microsemi PHYs" 221*4882a593Smuzhiyun depends on MACSEC || MACSEC=n 222*4882a593Smuzhiyun select CRYPTO_LIB_AES if MACSEC 223*4882a593Smuzhiyun help 224*4882a593Smuzhiyun Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs 225*4882a593Smuzhiyun 226*4882a593Smuzhiyunconfig MOTORCOMM_PHY 227*4882a593Smuzhiyun tristate "Motorcomm PHYs" 228*4882a593Smuzhiyun help 229*4882a593Smuzhiyun Enables support for Motorcomm network PHYs. 230*4882a593Smuzhiyun Currently supports the YT8511, YT8521, YT8531, RK631 gigabit PHY. 231*4882a593Smuzhiyun 232*4882a593Smuzhiyunconfig NATIONAL_PHY 233*4882a593Smuzhiyun tristate "National Semiconductor PHYs" 234*4882a593Smuzhiyun help 235*4882a593Smuzhiyun Currently supports the DP83865 PHY. 236*4882a593Smuzhiyun 237*4882a593Smuzhiyunconfig NXP_TJA11XX_PHY 238*4882a593Smuzhiyun tristate "NXP TJA11xx PHYs support" 239*4882a593Smuzhiyun depends on HWMON 240*4882a593Smuzhiyun help 241*4882a593Smuzhiyun Currently supports the NXP TJA1100 and TJA1101 PHY. 242*4882a593Smuzhiyun 243*4882a593Smuzhiyunconfig AT803X_PHY 244*4882a593Smuzhiyun tristate "Qualcomm Atheros AR803X PHYs" 245*4882a593Smuzhiyun depends on REGULATOR 246*4882a593Smuzhiyun help 247*4882a593Smuzhiyun Currently supports the AR8030, AR8031, AR8033 and AR8035 model 248*4882a593Smuzhiyun 249*4882a593Smuzhiyunconfig QSEMI_PHY 250*4882a593Smuzhiyun tristate "Quality Semiconductor PHYs" 251*4882a593Smuzhiyun help 252*4882a593Smuzhiyun Currently supports the qs6612 253*4882a593Smuzhiyun 254*4882a593Smuzhiyunconfig REALTEK_PHY 255*4882a593Smuzhiyun tristate "Realtek PHYs" 256*4882a593Smuzhiyun help 257*4882a593Smuzhiyun Supports the Realtek 821x PHY. 258*4882a593Smuzhiyun 259*4882a593Smuzhiyunconfig RENESAS_PHY 260*4882a593Smuzhiyun tristate "Renesas PHYs" 261*4882a593Smuzhiyun help 262*4882a593Smuzhiyun Supports the Renesas PHYs uPD60620 and uPD60620A. 263*4882a593Smuzhiyun 264*4882a593Smuzhiyunconfig ROCKCHIP_PHY 265*4882a593Smuzhiyun tristate "Rockchip Ethernet PHYs" 266*4882a593Smuzhiyun help 267*4882a593Smuzhiyun Currently supports the integrated Ethernet PHY. 268*4882a593Smuzhiyun 269*4882a593Smuzhiyunconfig RK630_PHY 270*4882a593Smuzhiyun tristate "Driver for RK630 Ethernet PHYs" 271*4882a593Smuzhiyun help 272*4882a593Smuzhiyun Currently supports the RK630 Ethernet PHY. 273*4882a593Smuzhiyun 274*4882a593Smuzhiyunconfig SMSC_PHY 275*4882a593Smuzhiyun tristate "SMSC PHYs" 276*4882a593Smuzhiyun help 277*4882a593Smuzhiyun Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs 278*4882a593Smuzhiyun 279*4882a593Smuzhiyunconfig STE10XP 280*4882a593Smuzhiyun tristate "STMicroelectronics STe10Xp PHYs" 281*4882a593Smuzhiyun help 282*4882a593Smuzhiyun This is the driver for the STe100p and STe101p PHYs. 283*4882a593Smuzhiyun 284*4882a593Smuzhiyunconfig TERANETICS_PHY 285*4882a593Smuzhiyun tristate "Teranetics PHYs" 286*4882a593Smuzhiyun help 287*4882a593Smuzhiyun Currently supports the Teranetics TN2020 288*4882a593Smuzhiyun 289*4882a593Smuzhiyunconfig DP83822_PHY 290*4882a593Smuzhiyun tristate "Texas Instruments DP83822/825/826 PHYs" 291*4882a593Smuzhiyun help 292*4882a593Smuzhiyun Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S, 293*4882a593Smuzhiyun DP83826C and DP83826NC PHYs. 294*4882a593Smuzhiyun 295*4882a593Smuzhiyunconfig DP83TC811_PHY 296*4882a593Smuzhiyun tristate "Texas Instruments DP83TC811 PHY" 297*4882a593Smuzhiyun help 298*4882a593Smuzhiyun Supports the DP83TC811 PHY. 299*4882a593Smuzhiyun 300*4882a593Smuzhiyunconfig DP83848_PHY 301*4882a593Smuzhiyun tristate "Texas Instruments DP83848 PHY" 302*4882a593Smuzhiyun help 303*4882a593Smuzhiyun Supports the DP83848 PHY. 304*4882a593Smuzhiyun 305*4882a593Smuzhiyunconfig DP83867_PHY 306*4882a593Smuzhiyun tristate "Texas Instruments DP83867 Gigabit PHY" 307*4882a593Smuzhiyun help 308*4882a593Smuzhiyun Currently supports the DP83867 PHY. 309*4882a593Smuzhiyun 310*4882a593Smuzhiyunconfig DP83869_PHY 311*4882a593Smuzhiyun tristate "Texas Instruments DP83869 Gigabit PHY" 312*4882a593Smuzhiyun help 313*4882a593Smuzhiyun Currently supports the DP83869 PHY. This PHY supports copper and 314*4882a593Smuzhiyun fiber connections. 315*4882a593Smuzhiyun 316*4882a593Smuzhiyunconfig VITESSE_PHY 317*4882a593Smuzhiyun tristate "Vitesse PHYs" 318*4882a593Smuzhiyun help 319*4882a593Smuzhiyun Currently supports the vsc8244 320*4882a593Smuzhiyun 321*4882a593Smuzhiyunconfig XILINX_GMII2RGMII 322*4882a593Smuzhiyun tristate "Xilinx GMII2RGMII converter driver" 323*4882a593Smuzhiyun help 324*4882a593Smuzhiyun This driver support xilinx GMII to RGMII IP core it provides 325*4882a593Smuzhiyun the Reduced Gigabit Media Independent Interface(RGMII) between 326*4882a593Smuzhiyun Ethernet physical media devices and the Gigabit Ethernet controller. 327*4882a593Smuzhiyun 328*4882a593Smuzhiyunendif # PHYLIB 329*4882a593Smuzhiyun 330*4882a593Smuzhiyunconfig MICREL_KS8995MA 331*4882a593Smuzhiyun tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch" 332*4882a593Smuzhiyun depends on SPI 333