xref: /openbmc/linux/drivers/net/phy/Kconfig (revision f411a6160bd4278508b5892949ba1a7db6f73489)
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
1800db8189SAndy Flemingcomment "MII PHY device drivers"
1900db8189SAndy Fleming
20bee8259dSShaohui Xieconfig AQUANTIA_PHY
21bee8259dSShaohui Xie        tristate "Drivers for the Aquantia PHYs"
22bee8259dSShaohui Xie        ---help---
23bee8259dSShaohui Xie          Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
24bee8259dSShaohui Xie
250ca7111aSMatus Ujhelyiconfig AT803X_PHY
260ca7111aSMatus Ujhelyi	tristate "Drivers for Atheros AT803X PHYs"
270ca7111aSMatus Ujhelyi	---help---
280ca7111aSMatus Ujhelyi	  Currently supports the AT8030 and AT8035 model
290ca7111aSMatus Ujhelyi
3049099122SHeiko Schocherconfig AMD_PHY
3149099122SHeiko Schocher	tristate "Drivers for the AMD PHYs"
3249099122SHeiko Schocher	---help---
3349099122SHeiko Schocher	  Currently supports the am79c874
3449099122SHeiko Schocher
3500db8189SAndy Flemingconfig MARVELL_PHY
3667c4f3faSJeff Garzik	tristate "Drivers for Marvell PHYs"
3700db8189SAndy Fleming	---help---
3800db8189SAndy Fleming	  Currently has a driver for the 88E1011S
3900db8189SAndy Fleming
4000db8189SAndy Flemingconfig DAVICOM_PHY
4167c4f3faSJeff Garzik	tristate "Drivers for Davicom PHYs"
4200db8189SAndy Fleming	---help---
4300db8189SAndy Fleming	  Currently supports dm9161e and dm9131
4400db8189SAndy Fleming
4500db8189SAndy Flemingconfig QSEMI_PHY
4667c4f3faSJeff Garzik	tristate "Drivers for Quality Semiconductor PHYs"
4700db8189SAndy Fleming	---help---
4800db8189SAndy Fleming	  Currently supports the qs6612
4900db8189SAndy Fleming
5000db8189SAndy Flemingconfig LXT_PHY
5167c4f3faSJeff Garzik	tristate "Drivers for the Intel LXT PHYs"
5200db8189SAndy Fleming	---help---
5300db8189SAndy Fleming	  Currently supports the lxt970, lxt971
5400db8189SAndy Fleming
5500db8189SAndy Flemingconfig CICADA_PHY
5667c4f3faSJeff Garzik	tristate "Drivers for the Cicada PHYs"
5700db8189SAndy Fleming	---help---
5800db8189SAndy Fleming	  Currently supports the cis8204
5953f99941SJan Engelhardt
60ef82a306SJon Loeligerconfig VITESSE_PHY
61ef82a306SJon Loeliger        tristate "Drivers for the Vitesse PHYs"
62ef82a306SJon Loeliger        ---help---
63ef82a306SJon Loeliger          Currently supports the vsc8244
6400db8189SAndy Fleming
65f61687c0SShaohui Xieconfig TERANETICS_PHY
66f61687c0SShaohui Xie        tristate "Drivers for the Teranetics PHYs"
67f61687c0SShaohui Xie        ---help---
68f61687c0SShaohui Xie          Currently supports the Teranetics TN2020
69f61687c0SShaohui Xie
70c9e055acSHerbert Valerio Riedelconfig SMSC_PHY
71c9e055acSHerbert Valerio Riedel	tristate "Drivers for SMSC PHYs"
72c9e055acSHerbert Valerio Riedel	---help---
734d9b1a02SSteve Glendinning	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
74c9e055acSHerbert Valerio Riedel
75a1cba561SArun Parameswaranconfig BCM_NET_PHYLIB
76a1cba561SArun Parameswaran	tristate
77a1cba561SArun Parameswaran
78c4b41c9fSMaciej W. Rozyckiconfig BROADCOM_PHY
79c4b41c9fSMaciej W. Rozycki	tristate "Drivers for Broadcom PHYs"
80a1cba561SArun Parameswaran	select BCM_NET_PHYLIB
81c4b41c9fSMaciej W. Rozycki	---help---
823bca4cf6SAlessio Igor Bogani	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
833bca4cf6SAlessio Igor Bogani	  BCM5481 and BCM5482 PHYs.
84c4b41c9fSMaciej W. Rozycki
858e185d69SArun Parameswaranconfig BCM_CYGNUS_PHY
868e185d69SArun Parameswaran	tristate "Drivers for Broadcom Cygnus SoC internal PHY"
878e185d69SArun Parameswaran	depends on ARCH_BCM_CYGNUS || COMPILE_TEST
888e185d69SArun Parameswaran	depends on MDIO_BCM_IPROC
898e185d69SArun Parameswaran	select BCM_NET_PHYLIB
908e185d69SArun Parameswaran	---help---
918e185d69SArun Parameswaran	  This PHY driver is for the 1G internal PHYs of the Broadcom
928e185d69SArun Parameswaran	  Cygnus Family SoC.
938e185d69SArun Parameswaran
948e185d69SArun Parameswaran	  Currently supports internal PHY's used in the BCM11300,
958e185d69SArun Parameswaran	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
968e185d69SArun Parameswaran	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
978e185d69SArun Parameswaran
9809bb9aa0SMaxime Bizonconfig BCM63XX_PHY
9909bb9aa0SMaxime Bizon	tristate "Drivers for Broadcom 63xx SOCs internal PHY"
100f1dc045eSRalf Baechle	depends on BCM63XX
101a1cba561SArun Parameswaran	select BCM_NET_PHYLIB
10209bb9aa0SMaxime Bizon	---help---
10309bb9aa0SMaxime Bizon	  Currently supports the 6348 and 6358 PHYs.
10409bb9aa0SMaxime Bizon
105b560a58cSFlorian Fainelliconfig BCM7XXX_PHY
106b560a58cSFlorian Fainelli	tristate "Drivers for Broadcom 7xxx SOCs internal PHYs"
107a1cba561SArun Parameswaran	select BCM_NET_PHYLIB
108b560a58cSFlorian Fainelli	---help---
109b560a58cSFlorian Fainelli	  Currently supports the BCM7366, BCM7439, BCM7445, and
110b560a58cSFlorian Fainelli	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
111b560a58cSFlorian Fainelli
112e9976d7cSDavid Daneyconfig BCM87XX_PHY
113e9976d7cSDavid Daney	tristate "Driver for Broadcom BCM8706 and BCM8727 PHYs"
114e9976d7cSDavid Daney	help
115e9976d7cSDavid Daney	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
116e9976d7cSDavid Daney
1170cefeebaSMichael Barkowskiconfig ICPLUS_PHY
1180cefeebaSMichael Barkowski	tristate "Drivers for ICPlus PHYs"
1190cefeebaSMichael Barkowski	---help---
120377ecca9SGiuseppe CAVALLARO	  Currently supports the IP175C and IP1001 PHYs.
1210cefeebaSMichael Barkowski
122097c2aa8SJohnson Leungconfig REALTEK_PHY
123097c2aa8SJohnson Leung	tristate "Drivers for Realtek PHYs"
124097c2aa8SJohnson Leung	---help---
125097c2aa8SJohnson Leung	  Supports the Realtek 821x PHY.
126097c2aa8SJohnson Leung
127914804b9SGiuseppe Cavallaroconfig NATIONAL_PHY
128914804b9SGiuseppe Cavallaro	tristate "Drivers for National Semiconductor PHYs"
129914804b9SGiuseppe Cavallaro	---help---
130914804b9SGiuseppe Cavallaro	  Currently supports the DP83865 PHY.
131914804b9SGiuseppe Cavallaro
132f95be180SGiuseppe Cavallaroconfig STE10XP
133f95be180SGiuseppe Cavallaro	tristate "Driver for STMicroelectronics STe10Xp PHYs"
134f95be180SGiuseppe Cavallaro	---help---
135f95be180SGiuseppe Cavallaro	  This is the driver for the STe100p and STe101p PHYs.
136f95be180SGiuseppe Cavallaro
137dbb7a95dSChaithrika U Sconfig LSI_ET1011C_PHY
138dbb7a95dSChaithrika U S	tristate "Driver for LSI ET1011C PHY"
139dbb7a95dSChaithrika U S	---help---
140dbb7a95dSChaithrika U S	  Supports the LSI ET1011C PHY.
141dbb7a95dSChaithrika U S
142d0507009SDavid J. Choiconfig MICREL_PHY
143d0507009SDavid J. Choi	tristate "Driver for Micrel PHYs"
144d0507009SDavid J. Choi	---help---
145d0507009SDavid J. Choi	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
146d0507009SDavid J. Choi
14734e45ad9SAndrew F. Davisconfig DP83848_PHY
14834e45ad9SAndrew F. Davis	tristate "Driver for Texas Instruments DP83848 PHY"
14934e45ad9SAndrew F. Davis	---help---
15034e45ad9SAndrew F. Davis	  Supports the DP83848 PHY.
15134e45ad9SAndrew F. Davis
1522a10154aSDan Murphyconfig DP83867_PHY
1532a10154aSDan Murphy	tristate "Drivers for Texas Instruments DP83867 Gigabit PHY"
1542a10154aSDan Murphy	---help---
1552a10154aSDan Murphy	  Currently supports the DP83867 PHY.
1562a10154aSDan Murphy
157792aec47SWoojung.Huh@microchip.comconfig MICROCHIP_PHY
158792aec47SWoojung.Huh@microchip.com	tristate "Drivers for Microchip PHYs"
159792aec47SWoojung.Huh@microchip.com	help
160792aec47SWoojung.Huh@microchip.com	  Supports the LAN88XX PHYs.
161792aec47SWoojung.Huh@microchip.com
16211b0bacdSVitaly Bordugconfig FIXED_PHY
1636539c44dSDavid S. Miller	tristate "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs"
1646539c44dSDavid S. Miller	depends on PHYLIB
1655ae68b0cSRussell King	select SWPHY
16611b0bacdSVitaly Bordug	---help---
167a79d8e93SVitaly Bordug	  Adds the platform "fixed" MDIO Bus to cover the boards that use
168a79d8e93SVitaly Bordug	  PHYs that are not connected to the real MDIO bus.
16911b0bacdSVitaly Bordug
170a79d8e93SVitaly Bordug	  Currently tested with mpc866ads and mpc8349e-mitx.
1717c32f470SVitaly Bordug
172e2ec4581SScott Woodconfig MDIO_BITBANG
173e2ec4581SScott Wood	tristate "Support for bitbanged MDIO buses"
174e2ec4581SScott Wood	help
175e2ec4581SScott Wood	  This module implements the MDIO bus protocol in software,
176e2ec4581SScott Wood	  for use by low level drivers that export the ability to
177e2ec4581SScott Wood	  drive the relevant pins.
178e2ec4581SScott Wood
179e2ec4581SScott Wood	  If in doubt, say N.
180e2ec4581SScott Wood
18172af187fSPaulius Zaleckasconfig MDIO_GPIO
182a5edeccbSLaurent Pinchart	tristate "Support for GPIO lib-based bitbanged MDIO buses"
18376ec9d18SAlexandre Courbot	depends on MDIO_BITBANG && GPIOLIB
184a5edeccbSLaurent Pinchart	---help---
185a5edeccbSLaurent Pinchart	  Supports GPIO lib-based MDIO busses.
186a5edeccbSLaurent Pinchart
187f004f3eaSPaulius Zaleckas	  To compile this driver as a module, choose M here: the module
188f004f3eaSPaulius Zaleckas	  will be called mdio-gpio.
189f004f3eaSPaulius Zaleckas
1901eefee90SDavid Daneyconfig MDIO_CAVIUM
1911eefee90SDavid Daney	tristate
1921eefee90SDavid Daney
19325d967b7SDavid Daneyconfig MDIO_OCTEON
1941eefee90SDavid Daney	tristate "Support for MDIO buses on Octeon and some ThunderX SOCs"
195a6d67864SRadha Mohan Chintakuntla	depends on 64BIT
196c731f0e3SRichard Weinberger	depends on HAS_IOMEM
1971eefee90SDavid Daney	select MDIO_CAVIUM
19825d967b7SDavid Daney	help
199a6d67864SRadha Mohan Chintakuntla	  This module provides a driver for the Octeon and ThunderX MDIO
2001eefee90SDavid Daney	  buses. It is required by the Octeon and ThunderX ethernet device
2011eefee90SDavid Daney	  drivers on some systems.
20225d967b7SDavid Daney
203379d7ac7SDavid Daneyconfig MDIO_THUNDER
204e2ad1f97SAndreas Färber	tristate "Support for MDIO buses on ThunderX SOCs"
205379d7ac7SDavid Daney	depends on 64BIT
206379d7ac7SDavid Daney	depends on PCI
207379d7ac7SDavid Daney	select MDIO_CAVIUM
208379d7ac7SDavid Daney	help
209379d7ac7SDavid Daney	  This driver supports the MDIO interfaces found on Cavium
210e2ad1f97SAndreas Färber	  ThunderX SoCs when the MDIO bus device appears as a PCI
211379d7ac7SDavid Daney	  device.
212379d7ac7SDavid Daney
213379d7ac7SDavid Daney
2144bdcb1ddSMaxime Ripardconfig MDIO_SUN4I
2154bdcb1ddSMaxime Ripard	tristate "Allwinner sun4i MDIO interface support"
2164bdcb1ddSMaxime Ripard	depends on ARCH_SUNXI
2174bdcb1ddSMaxime Ripard	help
2184bdcb1ddSMaxime Ripard	  This driver supports the MDIO interface found in the network
2194bdcb1ddSMaxime Ripard	  interface units of the Allwinner SoC that have an EMAC (A10,
2204bdcb1ddSMaxime Ripard	  A12, A10s, etc.)
2214bdcb1ddSMaxime Ripard
222b0db7b0cSJonas Jensenconfig MDIO_MOXART
223b0db7b0cSJonas Jensen        tristate "MOXA ART MDIO interface support"
224b0db7b0cSJonas Jensen        depends on ARCH_MOXART
225b0db7b0cSJonas Jensen        help
226b0db7b0cSJonas Jensen          This driver supports the MDIO interface found in the network
227b0db7b0cSJonas Jensen          interface units of the MOXA ART SoC
228b0db7b0cSJonas Jensen
2290ca2997dSDavid Daneyconfig MDIO_BUS_MUX
2300ca2997dSDavid Daney	tristate
2310ca2997dSDavid Daney	depends on OF_MDIO
2320ca2997dSDavid Daney	help
2330ca2997dSDavid Daney	  This module provides a driver framework for MDIO bus
2340ca2997dSDavid Daney	  multiplexers which connect one of several child MDIO busses
2350ca2997dSDavid Daney	  to a parent bus.  Switching between child busses is done by
2360ca2997dSDavid Daney	  device specific drivers.
2370ca2997dSDavid Daney
238416912a1SDavid Daneyconfig MDIO_BUS_MUX_GPIO
239416912a1SDavid Daney	tristate "Support for GPIO controlled MDIO bus multiplexers"
240416912a1SDavid Daney	depends on OF_GPIO && OF_MDIO
241416912a1SDavid Daney	select MDIO_BUS_MUX
242416912a1SDavid Daney	help
243416912a1SDavid Daney	  This module provides a driver for MDIO bus multiplexers that
244416912a1SDavid Daney	  are controlled via GPIO lines.  The multiplexer connects one of
245416912a1SDavid Daney	  several child MDIO busses to a parent bus.  Child bus
246416912a1SDavid Daney	  selection is under the control of GPIO lines.
247416912a1SDavid Daney
2486cc2ff82STimur Tabiconfig MDIO_BUS_MUX_MMIOREG
2496cc2ff82STimur Tabi	tristate "Support for MMIO device-controlled MDIO bus multiplexers"
250cfa52005SRob Herring	depends on OF_MDIO && HAS_IOMEM
2516cc2ff82STimur Tabi	select MDIO_BUS_MUX
2526cc2ff82STimur Tabi	help
2536cc2ff82STimur Tabi	  This module provides a driver for MDIO bus multiplexers that
2546cc2ff82STimur Tabi	  are controlled via a simple memory-mapped device, like an FPGA.
2556cc2ff82STimur Tabi	  The multiplexer connects one of several child MDIO busses to a
2566cc2ff82STimur Tabi	  parent bus.  Child bus selection is under the control of one of
2576cc2ff82STimur Tabi	  the FPGA's registers.
2586cc2ff82STimur Tabi
2596cc2ff82STimur Tabi	  Currently, only 8-bit registers are supported.
2606cc2ff82STimur Tabi
26198bc865aSPramod Kumarconfig MDIO_BUS_MUX_BCM_IPROC
26298bc865aSPramod Kumar	tristate "Support for iProc based MDIO bus multiplexers"
26398bc865aSPramod Kumar	depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST)
26498bc865aSPramod Kumar	select MDIO_BUS_MUX
26598bc865aSPramod Kumar	default ARCH_BCM_IPROC
26698bc865aSPramod Kumar	help
26798bc865aSPramod Kumar	  This module provides a driver for MDIO bus multiplexers found in
26898bc865aSPramod Kumar	  iProc based Broadcom SoCs. This multiplexer connects one of several
26998bc865aSPramod Kumar	  child MDIO bus to a parent bus. Buses could be internal as well as
27098bc865aSPramod Kumar	  external and selection logic lies inside the same multiplexer.
27198bc865aSPramod Kumar
2722ba1b163SFlorian Fainelliconfig MDIO_BCM_UNIMAC
2732ba1b163SFlorian Fainelli	tristate "Broadcom UniMAC MDIO bus controller"
274b3a00c91SChen Gang	depends on HAS_IOMEM
2752ba1b163SFlorian Fainelli	help
2762ba1b163SFlorian Fainelli	  This module provides a driver for the Broadcom UniMAC MDIO busses.
2772ba1b163SFlorian Fainelli	  This hardware can be found in the Broadcom GENET Ethernet MAC
2782ba1b163SFlorian Fainelli	  controllers as well as some Broadcom Ethernet switches such as the
2792ba1b163SFlorian Fainelli	  Starfighter 2 switches.
280ddc24ae1SArun Parameswaran
281ddc24ae1SArun Parameswaranconfig MDIO_BCM_IPROC
282ddc24ae1SArun Parameswaran	tristate "Broadcom iProc MDIO bus controller"
283ddc24ae1SArun Parameswaran	depends on ARCH_BCM_IPROC || COMPILE_TEST
284ddc24ae1SArun Parameswaran	depends on HAS_IOMEM && OF_MDIO
285ddc24ae1SArun Parameswaran	help
286ddc24ae1SArun Parameswaran	  This module provides a driver for the MDIO busses found in the
287ddc24ae1SArun Parameswaran	  Broadcom iProc SoC's.
288ddc24ae1SArun Parameswaran
289112b558dSHauke Mehrtensconfig INTEL_XWAY_PHY
290112b558dSHauke Mehrtens	tristate "Driver for Intel XWAY PHYs"
291112b558dSHauke Mehrtens	---help---
292112b558dSHauke Mehrtens	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
293112b558dSHauke Mehrtens	  These PHYs are marked as standalone chips under the names
294112b558dSHauke Mehrtens	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
295112b558dSHauke Mehrtens	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
296112b558dSHauke Mehrtens
2974960e4b1SDongpo Liconfig MDIO_HISI_FEMAC
2984960e4b1SDongpo Li	tristate "Hisilicon FEMAC MDIO bus controller"
2994960e4b1SDongpo Li	depends on HAS_IOMEM && OF_MDIO
3004960e4b1SDongpo Li	help
3014960e4b1SDongpo Li	  This module provides a driver for the MDIO busses found in the
3024960e4b1SDongpo Li	  Hisilicon SoC that have an Fast Ethernet MAC.
3034960e4b1SDongpo Li
30443b3cf66SIyappan Subramanianconfig MDIO_XGENE
30543b3cf66SIyappan Subramanian	tristate "APM X-Gene SoC MDIO bus controller"
30643b3cf66SIyappan Subramanian	help
30743b3cf66SIyappan Subramanian	  This module provides a driver for the MDIO busses found in the
30843b3cf66SIyappan Subramanian	  APM X-Gene SoC's.
30943b3cf66SIyappan Subramanian
310d50736a8SRaju Lakkarajuconfig MICROSEMI_PHY
311d50736a8SRaju Lakkaraju    tristate "Drivers for the Microsemi PHYs"
312d50736a8SRaju Lakkaraju    ---help---
313d50736a8SRaju Lakkaraju      Currently supports the VSC8531 and VSC8541 PHYs
314d50736a8SRaju Lakkaraju
315*f411a616SAppana Durga Kedareswara Raoconfig XILINX_GMII2RGMII
316*f411a616SAppana Durga Kedareswara Rao       tristate "Xilinx GMII2RGMII converter driver"
317*f411a616SAppana Durga Kedareswara Rao       ---help---
318*f411a616SAppana Durga Kedareswara Rao         This driver support xilinx GMII to RGMII IP core it provides
319*f411a616SAppana Durga Kedareswara Rao         the Reduced Gigabit Media Independent Interface(RGMII) between
320*f411a616SAppana Durga Kedareswara Rao         Ethernet physical media devices and the Gigabit Ethernet controller.
321*f411a616SAppana Durga Kedareswara Rao
32253f99941SJan Engelhardtendif # PHYLIB
323a8e510f6SFrederic LAMBERT
324a8e510f6SFrederic LAMBERTconfig MICREL_KS8995MA
325a8e510f6SFrederic LAMBERT	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
326a8e510f6SFrederic LAMBERT	depends on SPI
327