xref: /openbmc/linux/drivers/net/phy/Kconfig (revision 7aa6ec2296614f2da8546bbfe8fca54bbbd8ae12)
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
18d75b4a22SAndrew Lunncomment "MDIO bus device drivers"
1900db8189SAndy Fleming
20d75b4a22SAndrew Lunnconfig MDIO_BCM_IPROC
21d75b4a22SAndrew Lunn	tristate "Broadcom iProc MDIO bus controller"
22d75b4a22SAndrew Lunn	depends on ARCH_BCM_IPROC || COMPILE_TEST
23d75b4a22SAndrew Lunn	depends on HAS_IOMEM && OF_MDIO
24e9976d7cSDavid Daney	help
25d75b4a22SAndrew Lunn	  This module provides a driver for the MDIO busses found in the
26d75b4a22SAndrew Lunn	  Broadcom iProc SoC's.
27e9976d7cSDavid Daney
28d75b4a22SAndrew Lunnconfig MDIO_BCM_UNIMAC
29d75b4a22SAndrew Lunn	tristate "Broadcom UniMAC MDIO bus controller"
30d75b4a22SAndrew Lunn	depends on HAS_IOMEM
31792aec47SWoojung.Huh@microchip.com	help
32d75b4a22SAndrew Lunn	  This module provides a driver for the Broadcom UniMAC MDIO busses.
33d75b4a22SAndrew Lunn	  This hardware can be found in the Broadcom GENET Ethernet MAC
34d75b4a22SAndrew Lunn	  controllers as well as some Broadcom Ethernet switches such as the
35d75b4a22SAndrew Lunn	  Starfighter 2 switches.
367c32f470SVitaly Bordug
37e2ec4581SScott Woodconfig MDIO_BITBANG
3897c84389SAndrew Lunn	tristate "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
55d75b4a22SAndrew Lunnconfig MDIO_BUS_MUX_BCM_IPROC
5697c84389SAndrew Lunn	tristate "Broadcom iProc based MDIO bus multiplexers"
57d75b4a22SAndrew Lunn	depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST)
58d75b4a22SAndrew Lunn	select MDIO_BUS_MUX
59d75b4a22SAndrew Lunn	default ARCH_BCM_IPROC
60d75b4a22SAndrew Lunn	help
61d75b4a22SAndrew Lunn	  This module provides a driver for MDIO bus multiplexers found in
62d75b4a22SAndrew Lunn	  iProc based Broadcom SoCs. This multiplexer connects one of several
63d75b4a22SAndrew Lunn	  child MDIO bus to a parent bus. Buses could be internal as well as
64d75b4a22SAndrew Lunn	  external and selection logic lies inside the same multiplexer.
65d75b4a22SAndrew Lunn
66416912a1SDavid Daneyconfig MDIO_BUS_MUX_GPIO
6797c84389SAndrew Lunn	tristate "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
7797c84389SAndrew Lunn	tristate "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
89d75b4a22SAndrew Lunnconfig MDIO_CAVIUM
90d75b4a22SAndrew Lunn	tristate
9198bc865aSPramod Kumar
92d75b4a22SAndrew Lunnconfig MDIO_GPIO
9397c84389SAndrew Lunn	tristate "GPIO lib-based bitbanged MDIO buses"
94d75b4a22SAndrew Lunn	depends on MDIO_BITBANG && GPIOLIB
95d75b4a22SAndrew Lunn	---help---
96d75b4a22SAndrew Lunn	  Supports GPIO lib-based MDIO busses.
97ddc24ae1SArun Parameswaran
98d75b4a22SAndrew Lunn	  To compile this driver as a module, choose M here: the module
99d75b4a22SAndrew Lunn	  will be called mdio-gpio.
100d75b4a22SAndrew Lunn
101d75b4a22SAndrew Lunnconfig MDIO_HISI_FEMAC
102d75b4a22SAndrew 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
106d75b4a22SAndrew Lunn	  Hisilicon SoC that have an Fast Ethernet MAC.
107d75b4a22SAndrew Lunn
108d75b4a22SAndrew Lunnconfig MDIO_MOXART
109d75b4a22SAndrew Lunn        tristate "MOXA ART MDIO interface support"
110d75b4a22SAndrew Lunn        depends on ARCH_MOXART
111d75b4a22SAndrew Lunn        help
112d75b4a22SAndrew Lunn          This driver supports the MDIO interface found in the network
113d75b4a22SAndrew Lunn          interface units of the MOXA ART SoC
114d75b4a22SAndrew Lunn
115d75b4a22SAndrew Lunnconfig MDIO_OCTEON
11697c84389SAndrew Lunn	tristate "Octeon and some ThunderX SOCs MDIO buses"
117d75b4a22SAndrew Lunn	depends on 64BIT
118d75b4a22SAndrew Lunn	depends on HAS_IOMEM
119d75b4a22SAndrew Lunn	select MDIO_CAVIUM
120d75b4a22SAndrew Lunn	help
121d75b4a22SAndrew Lunn	  This module provides a driver for the Octeon and ThunderX MDIO
122d75b4a22SAndrew Lunn	  buses. It is required by the Octeon and ThunderX ethernet device
123d75b4a22SAndrew Lunn	  drivers on some systems.
124d75b4a22SAndrew Lunn
125d75b4a22SAndrew Lunnconfig MDIO_SUN4I
126d75b4a22SAndrew Lunn	tristate "Allwinner sun4i MDIO interface support"
127d75b4a22SAndrew Lunn	depends on ARCH_SUNXI
128d75b4a22SAndrew Lunn	help
129d75b4a22SAndrew Lunn	  This driver supports the MDIO interface found in the network
130d75b4a22SAndrew Lunn	  interface units of the Allwinner SoC that have an EMAC (A10,
131d75b4a22SAndrew Lunn	  A12, A10s, etc.)
132d75b4a22SAndrew Lunn
133d75b4a22SAndrew Lunnconfig MDIO_THUNDER
13497c84389SAndrew Lunn	tristate "ThunderX SOCs MDIO buses"
135d75b4a22SAndrew Lunn	depends on 64BIT
136d75b4a22SAndrew Lunn	depends on PCI
137d75b4a22SAndrew Lunn	select MDIO_CAVIUM
138d75b4a22SAndrew Lunn	help
139d75b4a22SAndrew Lunn	  This driver supports the MDIO interfaces found on Cavium
140d75b4a22SAndrew Lunn	  ThunderX SoCs when the MDIO bus device appears as a PCI
141d75b4a22SAndrew Lunn	  device.
142d75b4a22SAndrew Lunn
143d75b4a22SAndrew Lunnconfig MDIO_XGENE
144d75b4a22SAndrew Lunn	tristate "APM X-Gene SoC MDIO bus controller"
145*7aa6ec22SLaura Abbott	depends on ARCH_XGENE || COMPILE_TEST
146d75b4a22SAndrew Lunn	help
147d75b4a22SAndrew Lunn	  This module provides a driver for the MDIO busses found in the
148d75b4a22SAndrew Lunn	  APM X-Gene SoC's.
149d75b4a22SAndrew Lunn
150d75b4a22SAndrew Lunncomment "MII PHY device drivers"
151d75b4a22SAndrew Lunn
152d75b4a22SAndrew Lunnconfig AMD_PHY
15397c84389SAndrew Lunn	tristate "AMD PHYs"
154d75b4a22SAndrew Lunn	---help---
155d75b4a22SAndrew Lunn	  Currently supports the am79c874
156d75b4a22SAndrew Lunn
157d75b4a22SAndrew Lunnconfig AQUANTIA_PHY
15897c84389SAndrew Lunn        tristate "Aquantia PHYs"
159d75b4a22SAndrew Lunn        ---help---
160d75b4a22SAndrew Lunn          Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
161d75b4a22SAndrew Lunn
162d75b4a22SAndrew Lunnconfig AT803X_PHY
16397c84389SAndrew Lunn	tristate "AT803X PHYs"
164d75b4a22SAndrew Lunn	---help---
165d75b4a22SAndrew Lunn	  Currently supports the AT8030 and AT8035 model
166d75b4a22SAndrew Lunn
167d75b4a22SAndrew Lunnconfig BCM63XX_PHY
16897c84389SAndrew Lunn	tristate "Broadcom 63xx SOCs internal PHY"
169d75b4a22SAndrew Lunn	depends on BCM63XX
170d75b4a22SAndrew Lunn	select BCM_NET_PHYLIB
171d75b4a22SAndrew Lunn	---help---
172d75b4a22SAndrew Lunn	  Currently supports the 6348 and 6358 PHYs.
173d75b4a22SAndrew Lunn
174d75b4a22SAndrew Lunnconfig BCM7XXX_PHY
17597c84389SAndrew Lunn	tristate "Broadcom 7xxx SOCs internal PHYs"
176d75b4a22SAndrew Lunn	select BCM_NET_PHYLIB
177d75b4a22SAndrew Lunn	---help---
178d75b4a22SAndrew Lunn	  Currently supports the BCM7366, BCM7439, BCM7445, and
179d75b4a22SAndrew Lunn	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
180d75b4a22SAndrew Lunn
181d75b4a22SAndrew Lunnconfig BCM87XX_PHY
18297c84389SAndrew Lunn	tristate "Broadcom BCM8706 and BCM8727 PHYs"
183d75b4a22SAndrew Lunn	help
184d75b4a22SAndrew Lunn	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
185d75b4a22SAndrew Lunn
186d75b4a22SAndrew Lunnconfig BCM_CYGNUS_PHY
18797c84389SAndrew Lunn	tristate "Broadcom Cygnus SoC internal PHY"
188d75b4a22SAndrew Lunn	depends on ARCH_BCM_CYGNUS || COMPILE_TEST
189d75b4a22SAndrew Lunn	depends on MDIO_BCM_IPROC
190d75b4a22SAndrew Lunn	select BCM_NET_PHYLIB
191d75b4a22SAndrew Lunn	---help---
192d75b4a22SAndrew Lunn	  This PHY driver is for the 1G internal PHYs of the Broadcom
193d75b4a22SAndrew Lunn	  Cygnus Family SoC.
194d75b4a22SAndrew Lunn
195d75b4a22SAndrew Lunn	  Currently supports internal PHY's used in the BCM11300,
196d75b4a22SAndrew Lunn	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
197d75b4a22SAndrew Lunn	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
198d75b4a22SAndrew Lunn
199d75b4a22SAndrew Lunnconfig BCM_NET_PHYLIB
200d75b4a22SAndrew Lunn	tristate
201d75b4a22SAndrew Lunn
202d75b4a22SAndrew Lunnconfig BROADCOM_PHY
20397c84389SAndrew Lunn	tristate "Broadcom PHYs"
204d75b4a22SAndrew Lunn	select BCM_NET_PHYLIB
205d75b4a22SAndrew Lunn	---help---
206d75b4a22SAndrew Lunn	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
207d75b4a22SAndrew Lunn	  BCM5481 and BCM5482 PHYs.
208d75b4a22SAndrew Lunn
209d75b4a22SAndrew Lunnconfig CICADA_PHY
21097c84389SAndrew Lunn	tristate "Cicada PHYs"
211d75b4a22SAndrew Lunn	---help---
212d75b4a22SAndrew Lunn	  Currently supports the cis8204
213d75b4a22SAndrew Lunn
214d75b4a22SAndrew Lunnconfig DAVICOM_PHY
21597c84389SAndrew Lunn	tristate "Davicom PHYs"
216d75b4a22SAndrew Lunn	---help---
217d75b4a22SAndrew Lunn	  Currently supports dm9161e and dm9131
218d75b4a22SAndrew Lunn
219d75b4a22SAndrew Lunnconfig DP83848_PHY
22097c84389SAndrew Lunn	tristate "Texas Instruments DP83848 PHY"
221d75b4a22SAndrew Lunn	---help---
222d75b4a22SAndrew Lunn	  Supports the DP83848 PHY.
223d75b4a22SAndrew Lunn
224d75b4a22SAndrew Lunnconfig DP83867_PHY
22597c84389SAndrew Lunn	tristate "Texas Instruments DP83867 Gigabit PHY"
226d75b4a22SAndrew Lunn	---help---
227d75b4a22SAndrew Lunn	  Currently supports the DP83867 PHY.
228d75b4a22SAndrew Lunn
229d75b4a22SAndrew Lunnconfig FIXED_PHY
23097c84389SAndrew Lunn	tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
231d75b4a22SAndrew Lunn	depends on PHYLIB
232d75b4a22SAndrew Lunn	select SWPHY
233d75b4a22SAndrew Lunn	---help---
234d75b4a22SAndrew Lunn	  Adds the platform "fixed" MDIO Bus to cover the boards that use
235d75b4a22SAndrew Lunn	  PHYs that are not connected to the real MDIO bus.
236d75b4a22SAndrew Lunn
237d75b4a22SAndrew Lunn	  Currently tested with mpc866ads and mpc8349e-mitx.
238d75b4a22SAndrew Lunn
239d75b4a22SAndrew Lunnconfig ICPLUS_PHY
24097c84389SAndrew Lunn	tristate "ICPlus PHYs"
241d75b4a22SAndrew Lunn	---help---
242d75b4a22SAndrew Lunn	  Currently supports the IP175C and IP1001 PHYs.
243ddc24ae1SArun Parameswaran
244112b558dSHauke Mehrtensconfig INTEL_XWAY_PHY
24597c84389SAndrew Lunn	tristate "Intel XWAY PHYs"
246112b558dSHauke Mehrtens	---help---
247112b558dSHauke Mehrtens	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
248112b558dSHauke Mehrtens	  These PHYs are marked as standalone chips under the names
249112b558dSHauke Mehrtens	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
250112b558dSHauke Mehrtens	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
251112b558dSHauke Mehrtens
252d75b4a22SAndrew Lunnconfig LSI_ET1011C_PHY
25397c84389SAndrew Lunn	tristate "LSI ET1011C PHY"
254d75b4a22SAndrew Lunn	---help---
255d75b4a22SAndrew Lunn	  Supports the LSI ET1011C PHY.
2564960e4b1SDongpo Li
257d75b4a22SAndrew Lunnconfig LXT_PHY
25897c84389SAndrew Lunn	tristate "Intel LXT PHYs"
259d75b4a22SAndrew Lunn	---help---
260d75b4a22SAndrew Lunn	  Currently supports the lxt970, lxt971
261d75b4a22SAndrew Lunn
262d75b4a22SAndrew Lunnconfig MARVELL_PHY
26397c84389SAndrew Lunn	tristate "Marvell PHYs"
264d75b4a22SAndrew Lunn	---help---
265d75b4a22SAndrew Lunn	  Currently has a driver for the 88E1011S
266d75b4a22SAndrew Lunn
267d75b4a22SAndrew Lunnconfig MICREL_PHY
26897c84389SAndrew Lunn	tristate "Micrel PHYs"
269d75b4a22SAndrew Lunn	---help---
270d75b4a22SAndrew Lunn	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
271d75b4a22SAndrew Lunn
272d75b4a22SAndrew Lunnconfig MICROCHIP_PHY
27397c84389SAndrew Lunn	tristate "Microchip PHYs"
27443b3cf66SIyappan Subramanian	help
275d75b4a22SAndrew Lunn	  Supports the LAN88XX PHYs.
27643b3cf66SIyappan Subramanian
277d50736a8SRaju Lakkarajuconfig MICROSEMI_PHY
27897c84389SAndrew Lunn	tristate "Microsemi PHYs"
279d50736a8SRaju Lakkaraju	---help---
280d50736a8SRaju Lakkaraju	  Currently supports the VSC8531 and VSC8541 PHYs
281d50736a8SRaju Lakkaraju
282d75b4a22SAndrew Lunnconfig NATIONAL_PHY
28397c84389SAndrew Lunn	tristate "National Semiconductor PHYs"
284d75b4a22SAndrew Lunn	---help---
285d75b4a22SAndrew Lunn	  Currently supports the DP83865 PHY.
286d75b4a22SAndrew Lunn
287d75b4a22SAndrew Lunnconfig QSEMI_PHY
28897c84389SAndrew Lunn	tristate "Quality Semiconductor PHYs"
289d75b4a22SAndrew Lunn	---help---
290d75b4a22SAndrew Lunn	  Currently supports the qs6612
291d75b4a22SAndrew Lunn
292d75b4a22SAndrew Lunnconfig REALTEK_PHY
29397c84389SAndrew Lunn	tristate "Realtek PHYs"
294d75b4a22SAndrew Lunn	---help---
295d75b4a22SAndrew Lunn	  Supports the Realtek 821x PHY.
296d75b4a22SAndrew Lunn
297d75b4a22SAndrew Lunnconfig SMSC_PHY
29897c84389SAndrew Lunn	tristate "SMSC PHYs"
299d75b4a22SAndrew Lunn	---help---
300d75b4a22SAndrew Lunn	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
301d75b4a22SAndrew Lunn
302d75b4a22SAndrew Lunnconfig STE10XP
30397c84389SAndrew Lunn	tristate "STMicroelectronics STe10Xp PHYs"
304d75b4a22SAndrew Lunn	---help---
305d75b4a22SAndrew Lunn	  This is the driver for the STe100p and STe101p PHYs.
306d75b4a22SAndrew Lunn
307d75b4a22SAndrew Lunnconfig TERANETICS_PHY
30897c84389SAndrew Lunn        tristate "Teranetics PHYs"
309d75b4a22SAndrew Lunn        ---help---
310d75b4a22SAndrew Lunn          Currently supports the Teranetics TN2020
311d75b4a22SAndrew Lunn
312d75b4a22SAndrew Lunnconfig VITESSE_PHY
31397c84389SAndrew Lunn        tristate "Vitesse PHYs"
314d75b4a22SAndrew Lunn        ---help---
315d75b4a22SAndrew Lunn          Currently supports the vsc8244
316d75b4a22SAndrew Lunn
317f411a616SAppana Durga Kedareswara Raoconfig XILINX_GMII2RGMII
318f411a616SAppana Durga Kedareswara Rao       tristate "Xilinx GMII2RGMII converter driver"
319f411a616SAppana Durga Kedareswara Rao       ---help---
320f411a616SAppana Durga Kedareswara Rao         This driver support xilinx GMII to RGMII IP core it provides
321f411a616SAppana Durga Kedareswara Rao         the Reduced Gigabit Media Independent Interface(RGMII) between
322f411a616SAppana Durga Kedareswara Rao         Ethernet physical media devices and the Gigabit Ethernet controller.
323f411a616SAppana Durga Kedareswara Rao
32453f99941SJan Engelhardtendif # PHYLIB
325a8e510f6SFrederic LAMBERT
326a8e510f6SFrederic LAMBERTconfig MICREL_KS8995MA
327a8e510f6SFrederic LAMBERT	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
328a8e510f6SFrederic LAMBERT	depends on SPI
329