xref: /openbmc/linux/drivers/net/phy/Kconfig (revision d75b4a22b255471906e794fe988b18de158cedec)
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