100db8189SAndy Fleming# 200db8189SAndy Fleming# PHY Layer Configuration 300db8189SAndy Fleming# 400db8189SAndy Fleming 553f99941SJan Engelhardtmenuconfig PHYLIB 6fc0b927dSBen Hutchings tristate "PHY Device support and infrastructure" 7cba86f2eSRandy Dunlap depends on NETDEVICES 800db8189SAndy Fleming help 900db8189SAndy Fleming Ethernet controllers are usually attached to PHY 1000db8189SAndy Fleming devices. This option provides infrastructure for 1100db8189SAndy Fleming managing PHY devices. 1200db8189SAndy Fleming 1353f99941SJan Engelhardtif PHYLIB 1453f99941SJan Engelhardt 155ae68b0cSRussell Kingconfig SWPHY 165ae68b0cSRussell King bool 175ae68b0cSRussell King 18*d75b4a22SAndrew Lunncomment "MDIO bus device drivers" 1900db8189SAndy Fleming 20*d75b4a22SAndrew Lunnconfig MDIO_BCM_IPROC 21*d75b4a22SAndrew Lunn tristate "Broadcom iProc MDIO bus controller" 22*d75b4a22SAndrew Lunn depends on ARCH_BCM_IPROC || COMPILE_TEST 23*d75b4a22SAndrew Lunn depends on HAS_IOMEM && OF_MDIO 24e9976d7cSDavid Daney help 25*d75b4a22SAndrew Lunn This module provides a driver for the MDIO busses found in the 26*d75b4a22SAndrew Lunn Broadcom iProc SoC's. 27e9976d7cSDavid Daney 28*d75b4a22SAndrew Lunnconfig MDIO_BCM_UNIMAC 29*d75b4a22SAndrew Lunn tristate "Broadcom UniMAC MDIO bus controller" 30*d75b4a22SAndrew Lunn depends on HAS_IOMEM 31792aec47SWoojung.Huh@microchip.com help 32*d75b4a22SAndrew Lunn This module provides a driver for the Broadcom UniMAC MDIO busses. 33*d75b4a22SAndrew Lunn This hardware can be found in the Broadcom GENET Ethernet MAC 34*d75b4a22SAndrew Lunn controllers as well as some Broadcom Ethernet switches such as the 35*d75b4a22SAndrew Lunn Starfighter 2 switches. 367c32f470SVitaly Bordug 37e2ec4581SScott Woodconfig MDIO_BITBANG 38e2ec4581SScott Wood tristate "Support for bitbanged MDIO buses" 39e2ec4581SScott Wood help 40e2ec4581SScott Wood This module implements the MDIO bus protocol in software, 41e2ec4581SScott Wood for use by low level drivers that export the ability to 42e2ec4581SScott Wood drive the relevant pins. 43e2ec4581SScott Wood 44e2ec4581SScott Wood If in doubt, say N. 45e2ec4581SScott Wood 460ca2997dSDavid Daneyconfig MDIO_BUS_MUX 470ca2997dSDavid Daney tristate 480ca2997dSDavid Daney depends on OF_MDIO 490ca2997dSDavid Daney help 500ca2997dSDavid Daney This module provides a driver framework for MDIO bus 510ca2997dSDavid Daney multiplexers which connect one of several child MDIO busses 520ca2997dSDavid Daney to a parent bus. Switching between child busses is done by 530ca2997dSDavid Daney device specific drivers. 540ca2997dSDavid Daney 55*d75b4a22SAndrew Lunnconfig MDIO_BUS_MUX_BCM_IPROC 56*d75b4a22SAndrew Lunn tristate "Support for iProc based MDIO bus multiplexers" 57*d75b4a22SAndrew Lunn depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST) 58*d75b4a22SAndrew Lunn select MDIO_BUS_MUX 59*d75b4a22SAndrew Lunn default ARCH_BCM_IPROC 60*d75b4a22SAndrew Lunn help 61*d75b4a22SAndrew Lunn This module provides a driver for MDIO bus multiplexers found in 62*d75b4a22SAndrew Lunn iProc based Broadcom SoCs. This multiplexer connects one of several 63*d75b4a22SAndrew Lunn child MDIO bus to a parent bus. Buses could be internal as well as 64*d75b4a22SAndrew Lunn external and selection logic lies inside the same multiplexer. 65*d75b4a22SAndrew Lunn 66416912a1SDavid Daneyconfig MDIO_BUS_MUX_GPIO 67416912a1SDavid Daney tristate "Support for GPIO controlled MDIO bus multiplexers" 68416912a1SDavid Daney depends on OF_GPIO && OF_MDIO 69416912a1SDavid Daney select MDIO_BUS_MUX 70416912a1SDavid Daney help 71416912a1SDavid Daney This module provides a driver for MDIO bus multiplexers that 72416912a1SDavid Daney are controlled via GPIO lines. The multiplexer connects one of 73416912a1SDavid Daney several child MDIO busses to a parent bus. Child bus 74416912a1SDavid Daney selection is under the control of GPIO lines. 75416912a1SDavid Daney 766cc2ff82STimur Tabiconfig MDIO_BUS_MUX_MMIOREG 776cc2ff82STimur Tabi tristate "Support for MMIO device-controlled MDIO bus multiplexers" 78cfa52005SRob Herring depends on OF_MDIO && HAS_IOMEM 796cc2ff82STimur Tabi select MDIO_BUS_MUX 806cc2ff82STimur Tabi help 816cc2ff82STimur Tabi This module provides a driver for MDIO bus multiplexers that 826cc2ff82STimur Tabi are controlled via a simple memory-mapped device, like an FPGA. 836cc2ff82STimur Tabi The multiplexer connects one of several child MDIO busses to a 846cc2ff82STimur Tabi parent bus. Child bus selection is under the control of one of 856cc2ff82STimur Tabi the FPGA's registers. 866cc2ff82STimur Tabi 876cc2ff82STimur Tabi Currently, only 8-bit registers are supported. 886cc2ff82STimur Tabi 89*d75b4a22SAndrew Lunnconfig MDIO_CAVIUM 90*d75b4a22SAndrew Lunn tristate 9198bc865aSPramod Kumar 92*d75b4a22SAndrew Lunnconfig MDIO_GPIO 93*d75b4a22SAndrew Lunn tristate "Support for GPIO lib-based bitbanged MDIO buses" 94*d75b4a22SAndrew Lunn depends on MDIO_BITBANG && GPIOLIB 95*d75b4a22SAndrew Lunn ---help--- 96*d75b4a22SAndrew Lunn Supports GPIO lib-based MDIO busses. 97ddc24ae1SArun Parameswaran 98*d75b4a22SAndrew Lunn To compile this driver as a module, choose M here: the module 99*d75b4a22SAndrew Lunn will be called mdio-gpio. 100*d75b4a22SAndrew Lunn 101*d75b4a22SAndrew Lunnconfig MDIO_HISI_FEMAC 102*d75b4a22SAndrew Lunn tristate "Hisilicon FEMAC MDIO bus controller" 103ddc24ae1SArun Parameswaran depends on HAS_IOMEM && OF_MDIO 104ddc24ae1SArun Parameswaran help 105ddc24ae1SArun Parameswaran This module provides a driver for the MDIO busses found in the 106*d75b4a22SAndrew Lunn Hisilicon SoC that have an Fast Ethernet MAC. 107*d75b4a22SAndrew Lunn 108*d75b4a22SAndrew Lunnconfig MDIO_MOXART 109*d75b4a22SAndrew Lunn tristate "MOXA ART MDIO interface support" 110*d75b4a22SAndrew Lunn depends on ARCH_MOXART 111*d75b4a22SAndrew Lunn help 112*d75b4a22SAndrew Lunn This driver supports the MDIO interface found in the network 113*d75b4a22SAndrew Lunn interface units of the MOXA ART SoC 114*d75b4a22SAndrew Lunn 115*d75b4a22SAndrew Lunnconfig MDIO_OCTEON 116*d75b4a22SAndrew Lunn tristate "Support for MDIO buses on Octeon and some ThunderX SOCs" 117*d75b4a22SAndrew Lunn depends on 64BIT 118*d75b4a22SAndrew Lunn depends on HAS_IOMEM 119*d75b4a22SAndrew Lunn select MDIO_CAVIUM 120*d75b4a22SAndrew Lunn help 121*d75b4a22SAndrew Lunn This module provides a driver for the Octeon and ThunderX MDIO 122*d75b4a22SAndrew Lunn buses. It is required by the Octeon and ThunderX ethernet device 123*d75b4a22SAndrew Lunn drivers on some systems. 124*d75b4a22SAndrew Lunn 125*d75b4a22SAndrew Lunnconfig MDIO_SUN4I 126*d75b4a22SAndrew Lunn tristate "Allwinner sun4i MDIO interface support" 127*d75b4a22SAndrew Lunn depends on ARCH_SUNXI 128*d75b4a22SAndrew Lunn help 129*d75b4a22SAndrew Lunn This driver supports the MDIO interface found in the network 130*d75b4a22SAndrew Lunn interface units of the Allwinner SoC that have an EMAC (A10, 131*d75b4a22SAndrew Lunn A12, A10s, etc.) 132*d75b4a22SAndrew Lunn 133*d75b4a22SAndrew Lunnconfig MDIO_THUNDER 134*d75b4a22SAndrew Lunn tristate "Support for MDIO buses on ThunderX SOCs" 135*d75b4a22SAndrew Lunn depends on 64BIT 136*d75b4a22SAndrew Lunn depends on PCI 137*d75b4a22SAndrew Lunn select MDIO_CAVIUM 138*d75b4a22SAndrew Lunn help 139*d75b4a22SAndrew Lunn This driver supports the MDIO interfaces found on Cavium 140*d75b4a22SAndrew Lunn ThunderX SoCs when the MDIO bus device appears as a PCI 141*d75b4a22SAndrew Lunn device. 142*d75b4a22SAndrew Lunn 143*d75b4a22SAndrew Lunnconfig MDIO_XGENE 144*d75b4a22SAndrew Lunn tristate "APM X-Gene SoC MDIO bus controller" 145*d75b4a22SAndrew Lunn help 146*d75b4a22SAndrew Lunn This module provides a driver for the MDIO busses found in the 147*d75b4a22SAndrew Lunn APM X-Gene SoC's. 148*d75b4a22SAndrew Lunn 149*d75b4a22SAndrew Lunncomment "MII PHY device drivers" 150*d75b4a22SAndrew Lunn 151*d75b4a22SAndrew Lunnconfig AMD_PHY 152*d75b4a22SAndrew Lunn tristate "Drivers for the AMD PHYs" 153*d75b4a22SAndrew Lunn ---help--- 154*d75b4a22SAndrew Lunn Currently supports the am79c874 155*d75b4a22SAndrew Lunn 156*d75b4a22SAndrew Lunnconfig AQUANTIA_PHY 157*d75b4a22SAndrew Lunn tristate "Drivers for the Aquantia PHYs" 158*d75b4a22SAndrew Lunn ---help--- 159*d75b4a22SAndrew Lunn Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405 160*d75b4a22SAndrew Lunn 161*d75b4a22SAndrew Lunnconfig AT803X_PHY 162*d75b4a22SAndrew Lunn tristate "Drivers for Atheros AT803X PHYs" 163*d75b4a22SAndrew Lunn ---help--- 164*d75b4a22SAndrew Lunn Currently supports the AT8030 and AT8035 model 165*d75b4a22SAndrew Lunn 166*d75b4a22SAndrew Lunnconfig BCM63XX_PHY 167*d75b4a22SAndrew Lunn tristate "Drivers for Broadcom 63xx SOCs internal PHY" 168*d75b4a22SAndrew Lunn depends on BCM63XX 169*d75b4a22SAndrew Lunn select BCM_NET_PHYLIB 170*d75b4a22SAndrew Lunn ---help--- 171*d75b4a22SAndrew Lunn Currently supports the 6348 and 6358 PHYs. 172*d75b4a22SAndrew Lunn 173*d75b4a22SAndrew Lunnconfig BCM7XXX_PHY 174*d75b4a22SAndrew Lunn tristate "Drivers for Broadcom 7xxx SOCs internal PHYs" 175*d75b4a22SAndrew Lunn select BCM_NET_PHYLIB 176*d75b4a22SAndrew Lunn ---help--- 177*d75b4a22SAndrew Lunn Currently supports the BCM7366, BCM7439, BCM7445, and 178*d75b4a22SAndrew Lunn 40nm and 65nm generation of BCM7xxx Set Top Box SoCs. 179*d75b4a22SAndrew Lunn 180*d75b4a22SAndrew Lunnconfig BCM87XX_PHY 181*d75b4a22SAndrew Lunn tristate "Driver for Broadcom BCM8706 and BCM8727 PHYs" 182*d75b4a22SAndrew Lunn help 183*d75b4a22SAndrew Lunn Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs. 184*d75b4a22SAndrew Lunn 185*d75b4a22SAndrew Lunnconfig BCM_CYGNUS_PHY 186*d75b4a22SAndrew Lunn tristate "Drivers for Broadcom Cygnus SoC internal PHY" 187*d75b4a22SAndrew Lunn depends on ARCH_BCM_CYGNUS || COMPILE_TEST 188*d75b4a22SAndrew Lunn depends on MDIO_BCM_IPROC 189*d75b4a22SAndrew Lunn select BCM_NET_PHYLIB 190*d75b4a22SAndrew Lunn ---help--- 191*d75b4a22SAndrew Lunn This PHY driver is for the 1G internal PHYs of the Broadcom 192*d75b4a22SAndrew Lunn Cygnus Family SoC. 193*d75b4a22SAndrew Lunn 194*d75b4a22SAndrew Lunn Currently supports internal PHY's used in the BCM11300, 195*d75b4a22SAndrew Lunn BCM11320, BCM11350, BCM11360, BCM58300, BCM58302, 196*d75b4a22SAndrew Lunn BCM58303 & BCM58305 Broadcom Cygnus SoCs. 197*d75b4a22SAndrew Lunn 198*d75b4a22SAndrew Lunnconfig BCM_NET_PHYLIB 199*d75b4a22SAndrew Lunn tristate 200*d75b4a22SAndrew Lunn 201*d75b4a22SAndrew Lunnconfig BROADCOM_PHY 202*d75b4a22SAndrew Lunn tristate "Drivers for Broadcom PHYs" 203*d75b4a22SAndrew Lunn select BCM_NET_PHYLIB 204*d75b4a22SAndrew Lunn ---help--- 205*d75b4a22SAndrew Lunn Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464, 206*d75b4a22SAndrew Lunn BCM5481 and BCM5482 PHYs. 207*d75b4a22SAndrew Lunn 208*d75b4a22SAndrew Lunnconfig CICADA_PHY 209*d75b4a22SAndrew Lunn tristate "Drivers for the Cicada PHYs" 210*d75b4a22SAndrew Lunn ---help--- 211*d75b4a22SAndrew Lunn Currently supports the cis8204 212*d75b4a22SAndrew Lunn 213*d75b4a22SAndrew Lunnconfig DAVICOM_PHY 214*d75b4a22SAndrew Lunn tristate "Drivers for Davicom PHYs" 215*d75b4a22SAndrew Lunn ---help--- 216*d75b4a22SAndrew Lunn Currently supports dm9161e and dm9131 217*d75b4a22SAndrew Lunn 218*d75b4a22SAndrew Lunnconfig DP83848_PHY 219*d75b4a22SAndrew Lunn tristate "Driver for Texas Instruments DP83848 PHY" 220*d75b4a22SAndrew Lunn ---help--- 221*d75b4a22SAndrew Lunn Supports the DP83848 PHY. 222*d75b4a22SAndrew Lunn 223*d75b4a22SAndrew Lunnconfig DP83867_PHY 224*d75b4a22SAndrew Lunn tristate "Drivers for Texas Instruments DP83867 Gigabit PHY" 225*d75b4a22SAndrew Lunn ---help--- 226*d75b4a22SAndrew Lunn Currently supports the DP83867 PHY. 227*d75b4a22SAndrew Lunn 228*d75b4a22SAndrew Lunnconfig FIXED_PHY 229*d75b4a22SAndrew Lunn tristate "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs" 230*d75b4a22SAndrew Lunn depends on PHYLIB 231*d75b4a22SAndrew Lunn select SWPHY 232*d75b4a22SAndrew Lunn ---help--- 233*d75b4a22SAndrew Lunn Adds the platform "fixed" MDIO Bus to cover the boards that use 234*d75b4a22SAndrew Lunn PHYs that are not connected to the real MDIO bus. 235*d75b4a22SAndrew Lunn 236*d75b4a22SAndrew Lunn Currently tested with mpc866ads and mpc8349e-mitx. 237*d75b4a22SAndrew Lunn 238*d75b4a22SAndrew Lunnconfig ICPLUS_PHY 239*d75b4a22SAndrew Lunn tristate "Drivers for ICPlus PHYs" 240*d75b4a22SAndrew Lunn ---help--- 241*d75b4a22SAndrew Lunn Currently supports the IP175C and IP1001 PHYs. 242ddc24ae1SArun Parameswaran 243112b558dSHauke Mehrtensconfig INTEL_XWAY_PHY 244112b558dSHauke Mehrtens tristate "Driver for Intel XWAY PHYs" 245112b558dSHauke Mehrtens ---help--- 246112b558dSHauke Mehrtens Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs. 247112b558dSHauke Mehrtens These PHYs are marked as standalone chips under the names 248112b558dSHauke Mehrtens PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel 249112b558dSHauke Mehrtens SoCs xRX200, xRX300, xRX330, xRX350 and xRX550. 250112b558dSHauke Mehrtens 251*d75b4a22SAndrew Lunnconfig LSI_ET1011C_PHY 252*d75b4a22SAndrew Lunn tristate "Driver for LSI ET1011C PHY" 253*d75b4a22SAndrew Lunn ---help--- 254*d75b4a22SAndrew Lunn Supports the LSI ET1011C PHY. 2554960e4b1SDongpo Li 256*d75b4a22SAndrew Lunnconfig LXT_PHY 257*d75b4a22SAndrew Lunn tristate "Drivers for the Intel LXT PHYs" 258*d75b4a22SAndrew Lunn ---help--- 259*d75b4a22SAndrew Lunn Currently supports the lxt970, lxt971 260*d75b4a22SAndrew Lunn 261*d75b4a22SAndrew Lunnconfig MARVELL_PHY 262*d75b4a22SAndrew Lunn tristate "Drivers for Marvell PHYs" 263*d75b4a22SAndrew Lunn ---help--- 264*d75b4a22SAndrew Lunn Currently has a driver for the 88E1011S 265*d75b4a22SAndrew Lunn 266*d75b4a22SAndrew Lunnconfig MICREL_PHY 267*d75b4a22SAndrew Lunn tristate "Driver for Micrel PHYs" 268*d75b4a22SAndrew Lunn ---help--- 269*d75b4a22SAndrew Lunn Supports the KSZ9021, VSC8201, KS8001 PHYs. 270*d75b4a22SAndrew Lunn 271*d75b4a22SAndrew Lunnconfig MICROCHIP_PHY 272*d75b4a22SAndrew Lunn tristate "Drivers for Microchip PHYs" 27343b3cf66SIyappan Subramanian help 274*d75b4a22SAndrew Lunn Supports the LAN88XX PHYs. 27543b3cf66SIyappan Subramanian 276d50736a8SRaju Lakkarajuconfig MICROSEMI_PHY 277d50736a8SRaju Lakkaraju tristate "Drivers for the Microsemi PHYs" 278d50736a8SRaju Lakkaraju ---help--- 279d50736a8SRaju Lakkaraju Currently supports the VSC8531 and VSC8541 PHYs 280d50736a8SRaju Lakkaraju 281*d75b4a22SAndrew Lunnconfig NATIONAL_PHY 282*d75b4a22SAndrew Lunn tristate "Drivers for National Semiconductor PHYs" 283*d75b4a22SAndrew Lunn ---help--- 284*d75b4a22SAndrew Lunn Currently supports the DP83865 PHY. 285*d75b4a22SAndrew Lunn 286*d75b4a22SAndrew Lunnconfig QSEMI_PHY 287*d75b4a22SAndrew Lunn tristate "Drivers for Quality Semiconductor PHYs" 288*d75b4a22SAndrew Lunn ---help--- 289*d75b4a22SAndrew Lunn Currently supports the qs6612 290*d75b4a22SAndrew Lunn 291*d75b4a22SAndrew Lunnconfig REALTEK_PHY 292*d75b4a22SAndrew Lunn tristate "Drivers for Realtek PHYs" 293*d75b4a22SAndrew Lunn ---help--- 294*d75b4a22SAndrew Lunn Supports the Realtek 821x PHY. 295*d75b4a22SAndrew Lunn 296*d75b4a22SAndrew Lunnconfig SMSC_PHY 297*d75b4a22SAndrew Lunn tristate "Drivers for SMSC PHYs" 298*d75b4a22SAndrew Lunn ---help--- 299*d75b4a22SAndrew Lunn Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs 300*d75b4a22SAndrew Lunn 301*d75b4a22SAndrew Lunnconfig STE10XP 302*d75b4a22SAndrew Lunn tristate "Driver for STMicroelectronics STe10Xp PHYs" 303*d75b4a22SAndrew Lunn ---help--- 304*d75b4a22SAndrew Lunn This is the driver for the STe100p and STe101p PHYs. 305*d75b4a22SAndrew Lunn 306*d75b4a22SAndrew Lunnconfig TERANETICS_PHY 307*d75b4a22SAndrew Lunn tristate "Drivers for the Teranetics PHYs" 308*d75b4a22SAndrew Lunn ---help--- 309*d75b4a22SAndrew Lunn Currently supports the Teranetics TN2020 310*d75b4a22SAndrew Lunn 311*d75b4a22SAndrew Lunnconfig VITESSE_PHY 312*d75b4a22SAndrew Lunn tristate "Drivers for the Vitesse PHYs" 313*d75b4a22SAndrew Lunn ---help--- 314*d75b4a22SAndrew Lunn Currently supports the vsc8244 315*d75b4a22SAndrew Lunn 316f411a616SAppana Durga Kedareswara Raoconfig XILINX_GMII2RGMII 317f411a616SAppana Durga Kedareswara Rao tristate "Xilinx GMII2RGMII converter driver" 318f411a616SAppana Durga Kedareswara Rao ---help--- 319f411a616SAppana Durga Kedareswara Rao This driver support xilinx GMII to RGMII IP core it provides 320f411a616SAppana Durga Kedareswara Rao the Reduced Gigabit Media Independent Interface(RGMII) between 321f411a616SAppana Durga Kedareswara Rao Ethernet physical media devices and the Gigabit Ethernet controller. 322f411a616SAppana Durga Kedareswara Rao 32353f99941SJan Engelhardtendif # PHYLIB 324a8e510f6SFrederic LAMBERT 325a8e510f6SFrederic LAMBERTconfig MICREL_KS8995MA 326a8e510f6SFrederic LAMBERT tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch" 327a8e510f6SFrederic LAMBERT depends on SPI 328