xref: /openbmc/linux/drivers/net/phy/Kconfig (revision b14995ac2527b43a75c9190fbd4efd43fb1f4562)
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
182e0bc452SZach Brownconfig LED_TRIGGER_PHY
192e0bc452SZach Brown	bool "Support LED triggers for tracking link state"
202e0bc452SZach Brown	depends on LEDS_TRIGGERS
212e0bc452SZach Brown	---help---
222e0bc452SZach Brown	  Adds support for a set of LED trigger events per-PHY.  Link
232e0bc452SZach Brown	  state change will trigger the events, for consumption by an
242e0bc452SZach Brown	  LED class driver.  There are triggers for each link speed currently
252e0bc452SZach Brown	  supported by the phy, and are of the form:
262e0bc452SZach Brown	       <mii bus id>:<phy>:<speed>
272e0bc452SZach Brown
282e0bc452SZach Brown	  Where speed is in the form:
292e0bc452SZach Brown		<Speed in megabits>Mbps or <Speed in gigabits>Gbps
302e0bc452SZach Brown
31d75b4a22SAndrew Lunncomment "MDIO bus device drivers"
3200db8189SAndy Fleming
33d75b4a22SAndrew Lunnconfig MDIO_BCM_IPROC
34d75b4a22SAndrew Lunn	tristate "Broadcom iProc MDIO bus controller"
35d75b4a22SAndrew Lunn	depends on ARCH_BCM_IPROC || COMPILE_TEST
36d75b4a22SAndrew Lunn	depends on HAS_IOMEM && OF_MDIO
37e9976d7cSDavid Daney	help
38d75b4a22SAndrew Lunn	  This module provides a driver for the MDIO busses found in the
39d75b4a22SAndrew Lunn	  Broadcom iProc SoC's.
40e9976d7cSDavid Daney
41d75b4a22SAndrew Lunnconfig MDIO_BCM_UNIMAC
42d75b4a22SAndrew Lunn	tristate "Broadcom UniMAC MDIO bus controller"
43d75b4a22SAndrew Lunn	depends on HAS_IOMEM
44792aec47SWoojung.Huh@microchip.com	help
45d75b4a22SAndrew Lunn	  This module provides a driver for the Broadcom UniMAC MDIO busses.
46d75b4a22SAndrew Lunn	  This hardware can be found in the Broadcom GENET Ethernet MAC
47d75b4a22SAndrew Lunn	  controllers as well as some Broadcom Ethernet switches such as the
48d75b4a22SAndrew Lunn	  Starfighter 2 switches.
497c32f470SVitaly Bordug
50e2ec4581SScott Woodconfig MDIO_BITBANG
5197c84389SAndrew Lunn	tristate "Bitbanged MDIO buses"
52e2ec4581SScott Wood	help
53e2ec4581SScott Wood	  This module implements the MDIO bus protocol in software,
54e2ec4581SScott Wood	  for use by low level drivers that export the ability to
55e2ec4581SScott Wood	  drive the relevant pins.
56e2ec4581SScott Wood
57e2ec4581SScott Wood	  If in doubt, say N.
58e2ec4581SScott Wood
590ca2997dSDavid Daneyconfig MDIO_BUS_MUX
600ca2997dSDavid Daney	tristate
610ca2997dSDavid Daney	depends on OF_MDIO
620ca2997dSDavid Daney	help
630ca2997dSDavid Daney	  This module provides a driver framework for MDIO bus
640ca2997dSDavid Daney	  multiplexers which connect one of several child MDIO busses
650ca2997dSDavid Daney	  to a parent bus.  Switching between child busses is done by
660ca2997dSDavid Daney	  device specific drivers.
670ca2997dSDavid Daney
68d75b4a22SAndrew Lunnconfig MDIO_BUS_MUX_BCM_IPROC
6997c84389SAndrew Lunn	tristate "Broadcom iProc based MDIO bus multiplexers"
70d75b4a22SAndrew Lunn	depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST)
71d75b4a22SAndrew Lunn	select MDIO_BUS_MUX
72d75b4a22SAndrew Lunn	default ARCH_BCM_IPROC
73d75b4a22SAndrew Lunn	help
74d75b4a22SAndrew Lunn	  This module provides a driver for MDIO bus multiplexers found in
75d75b4a22SAndrew Lunn	  iProc based Broadcom SoCs. This multiplexer connects one of several
76d75b4a22SAndrew Lunn	  child MDIO bus to a parent bus. Buses could be internal as well as
77d75b4a22SAndrew Lunn	  external and selection logic lies inside the same multiplexer.
78d75b4a22SAndrew Lunn
79416912a1SDavid Daneyconfig MDIO_BUS_MUX_GPIO
8097c84389SAndrew Lunn	tristate "GPIO controlled MDIO bus multiplexers"
81416912a1SDavid Daney	depends on OF_GPIO && OF_MDIO
82416912a1SDavid Daney	select MDIO_BUS_MUX
83416912a1SDavid Daney	help
84416912a1SDavid Daney	  This module provides a driver for MDIO bus multiplexers that
85416912a1SDavid Daney	  are controlled via GPIO lines.  The multiplexer connects one of
86416912a1SDavid Daney	  several child MDIO busses to a parent bus.  Child bus
87416912a1SDavid Daney	  selection is under the control of GPIO lines.
88416912a1SDavid Daney
896cc2ff82STimur Tabiconfig MDIO_BUS_MUX_MMIOREG
9097c84389SAndrew Lunn	tristate "MMIO device-controlled MDIO bus multiplexers"
91cfa52005SRob Herring	depends on OF_MDIO && HAS_IOMEM
926cc2ff82STimur Tabi	select MDIO_BUS_MUX
936cc2ff82STimur Tabi	help
946cc2ff82STimur Tabi	  This module provides a driver for MDIO bus multiplexers that
956cc2ff82STimur Tabi	  are controlled via a simple memory-mapped device, like an FPGA.
966cc2ff82STimur Tabi	  The multiplexer connects one of several child MDIO busses to a
976cc2ff82STimur Tabi	  parent bus.  Child bus selection is under the control of one of
986cc2ff82STimur Tabi	  the FPGA's registers.
996cc2ff82STimur Tabi
1006cc2ff82STimur Tabi	  Currently, only 8-bit registers are supported.
1016cc2ff82STimur Tabi
102d75b4a22SAndrew Lunnconfig MDIO_CAVIUM
103d75b4a22SAndrew Lunn	tristate
10498bc865aSPramod Kumar
105d75b4a22SAndrew Lunnconfig MDIO_GPIO
10697c84389SAndrew Lunn	tristate "GPIO lib-based bitbanged MDIO buses"
107d75b4a22SAndrew Lunn	depends on MDIO_BITBANG && GPIOLIB
108d75b4a22SAndrew Lunn	---help---
109d75b4a22SAndrew Lunn	  Supports GPIO lib-based MDIO busses.
110ddc24ae1SArun Parameswaran
111d75b4a22SAndrew Lunn	  To compile this driver as a module, choose M here: the module
112d75b4a22SAndrew Lunn	  will be called mdio-gpio.
113d75b4a22SAndrew Lunn
114d75b4a22SAndrew Lunnconfig MDIO_HISI_FEMAC
115d75b4a22SAndrew Lunn	tristate "Hisilicon FEMAC MDIO bus controller"
116ddc24ae1SArun Parameswaran	depends on HAS_IOMEM && OF_MDIO
117ddc24ae1SArun Parameswaran	help
118ddc24ae1SArun Parameswaran	  This module provides a driver for the MDIO busses found in the
119d75b4a22SAndrew Lunn	  Hisilicon SoC that have an Fast Ethernet MAC.
120d75b4a22SAndrew Lunn
121d75b4a22SAndrew Lunnconfig MDIO_MOXART
122d75b4a22SAndrew Lunn        tristate "MOXA ART MDIO interface support"
123d75b4a22SAndrew Lunn        depends on ARCH_MOXART
124d75b4a22SAndrew Lunn        help
125d75b4a22SAndrew Lunn          This driver supports the MDIO interface found in the network
126d75b4a22SAndrew Lunn          interface units of the MOXA ART SoC
127d75b4a22SAndrew Lunn
128d75b4a22SAndrew Lunnconfig MDIO_OCTEON
12997c84389SAndrew Lunn	tristate "Octeon and some ThunderX SOCs MDIO buses"
130d75b4a22SAndrew Lunn	depends on 64BIT
131d75b4a22SAndrew Lunn	depends on HAS_IOMEM
132d75b4a22SAndrew Lunn	select MDIO_CAVIUM
133d75b4a22SAndrew Lunn	help
134d75b4a22SAndrew Lunn	  This module provides a driver for the Octeon and ThunderX MDIO
135d75b4a22SAndrew Lunn	  buses. It is required by the Octeon and ThunderX ethernet device
136d75b4a22SAndrew Lunn	  drivers on some systems.
137d75b4a22SAndrew Lunn
138d75b4a22SAndrew Lunnconfig MDIO_SUN4I
139d75b4a22SAndrew Lunn	tristate "Allwinner sun4i MDIO interface support"
140d75b4a22SAndrew Lunn	depends on ARCH_SUNXI
141d75b4a22SAndrew Lunn	help
142d75b4a22SAndrew Lunn	  This driver supports the MDIO interface found in the network
143d75b4a22SAndrew Lunn	  interface units of the Allwinner SoC that have an EMAC (A10,
144d75b4a22SAndrew Lunn	  A12, A10s, etc.)
145d75b4a22SAndrew Lunn
146d75b4a22SAndrew Lunnconfig MDIO_THUNDER
14797c84389SAndrew Lunn	tristate "ThunderX SOCs MDIO buses"
148d75b4a22SAndrew Lunn	depends on 64BIT
149d75b4a22SAndrew Lunn	depends on PCI
150d75b4a22SAndrew Lunn	select MDIO_CAVIUM
151d75b4a22SAndrew Lunn	help
152d75b4a22SAndrew Lunn	  This driver supports the MDIO interfaces found on Cavium
153d75b4a22SAndrew Lunn	  ThunderX SoCs when the MDIO bus device appears as a PCI
154d75b4a22SAndrew Lunn	  device.
155d75b4a22SAndrew Lunn
156d75b4a22SAndrew Lunnconfig MDIO_XGENE
157d75b4a22SAndrew Lunn	tristate "APM X-Gene SoC MDIO bus controller"
1587aa6ec22SLaura Abbott	depends on ARCH_XGENE || COMPILE_TEST
159d75b4a22SAndrew Lunn	help
160d75b4a22SAndrew Lunn	  This module provides a driver for the MDIO busses found in the
161d75b4a22SAndrew Lunn	  APM X-Gene SoC's.
162d75b4a22SAndrew Lunn
163d75b4a22SAndrew Lunncomment "MII PHY device drivers"
164d75b4a22SAndrew Lunn
165d75b4a22SAndrew Lunnconfig AMD_PHY
16697c84389SAndrew Lunn	tristate "AMD PHYs"
167d75b4a22SAndrew Lunn	---help---
168d75b4a22SAndrew Lunn	  Currently supports the am79c874
169d75b4a22SAndrew Lunn
170d75b4a22SAndrew Lunnconfig AQUANTIA_PHY
17197c84389SAndrew Lunn        tristate "Aquantia PHYs"
172d75b4a22SAndrew Lunn        ---help---
173d75b4a22SAndrew Lunn          Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
174d75b4a22SAndrew Lunn
175d75b4a22SAndrew Lunnconfig AT803X_PHY
17697c84389SAndrew Lunn	tristate "AT803X PHYs"
177d75b4a22SAndrew Lunn	---help---
178d75b4a22SAndrew Lunn	  Currently supports the AT8030 and AT8035 model
179d75b4a22SAndrew Lunn
180d75b4a22SAndrew Lunnconfig BCM63XX_PHY
18197c84389SAndrew Lunn	tristate "Broadcom 63xx SOCs internal PHY"
182d75b4a22SAndrew Lunn	depends on BCM63XX
183d75b4a22SAndrew Lunn	select BCM_NET_PHYLIB
184d75b4a22SAndrew Lunn	---help---
185d75b4a22SAndrew Lunn	  Currently supports the 6348 and 6358 PHYs.
186d75b4a22SAndrew Lunn
187d75b4a22SAndrew Lunnconfig BCM7XXX_PHY
18897c84389SAndrew Lunn	tristate "Broadcom 7xxx SOCs internal PHYs"
189d75b4a22SAndrew Lunn	select BCM_NET_PHYLIB
190d75b4a22SAndrew Lunn	---help---
191d75b4a22SAndrew Lunn	  Currently supports the BCM7366, BCM7439, BCM7445, and
192d75b4a22SAndrew Lunn	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
193d75b4a22SAndrew Lunn
194d75b4a22SAndrew Lunnconfig BCM87XX_PHY
19597c84389SAndrew Lunn	tristate "Broadcom BCM8706 and BCM8727 PHYs"
196d75b4a22SAndrew Lunn	help
197d75b4a22SAndrew Lunn	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
198d75b4a22SAndrew Lunn
199d75b4a22SAndrew Lunnconfig BCM_CYGNUS_PHY
20097c84389SAndrew Lunn	tristate "Broadcom Cygnus SoC internal PHY"
201d75b4a22SAndrew Lunn	depends on ARCH_BCM_CYGNUS || COMPILE_TEST
202d75b4a22SAndrew Lunn	depends on MDIO_BCM_IPROC
203d75b4a22SAndrew Lunn	select BCM_NET_PHYLIB
204d75b4a22SAndrew Lunn	---help---
205d75b4a22SAndrew Lunn	  This PHY driver is for the 1G internal PHYs of the Broadcom
206d75b4a22SAndrew Lunn	  Cygnus Family SoC.
207d75b4a22SAndrew Lunn
208d75b4a22SAndrew Lunn	  Currently supports internal PHY's used in the BCM11300,
209d75b4a22SAndrew Lunn	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
210d75b4a22SAndrew Lunn	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
211d75b4a22SAndrew Lunn
212d75b4a22SAndrew Lunnconfig BCM_NET_PHYLIB
213d75b4a22SAndrew Lunn	tristate
214d75b4a22SAndrew Lunn
215d75b4a22SAndrew Lunnconfig BROADCOM_PHY
21697c84389SAndrew Lunn	tristate "Broadcom PHYs"
217d75b4a22SAndrew Lunn	select BCM_NET_PHYLIB
218d75b4a22SAndrew Lunn	---help---
219d75b4a22SAndrew Lunn	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
220*b14995acSJon Mason	  BCM5481, BCM54810 and BCM5482 PHYs.
221d75b4a22SAndrew Lunn
222d75b4a22SAndrew Lunnconfig CICADA_PHY
22397c84389SAndrew Lunn	tristate "Cicada PHYs"
224d75b4a22SAndrew Lunn	---help---
225d75b4a22SAndrew Lunn	  Currently supports the cis8204
226d75b4a22SAndrew Lunn
227d75b4a22SAndrew Lunnconfig DAVICOM_PHY
22897c84389SAndrew Lunn	tristate "Davicom PHYs"
229d75b4a22SAndrew Lunn	---help---
230d75b4a22SAndrew Lunn	  Currently supports dm9161e and dm9131
231d75b4a22SAndrew Lunn
232d75b4a22SAndrew Lunnconfig DP83848_PHY
23397c84389SAndrew Lunn	tristate "Texas Instruments DP83848 PHY"
234d75b4a22SAndrew Lunn	---help---
235d75b4a22SAndrew Lunn	  Supports the DP83848 PHY.
236d75b4a22SAndrew Lunn
237d75b4a22SAndrew Lunnconfig DP83867_PHY
23897c84389SAndrew Lunn	tristate "Texas Instruments DP83867 Gigabit PHY"
239d75b4a22SAndrew Lunn	---help---
240d75b4a22SAndrew Lunn	  Currently supports the DP83867 PHY.
241d75b4a22SAndrew Lunn
242d75b4a22SAndrew Lunnconfig FIXED_PHY
24397c84389SAndrew Lunn	tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
244d75b4a22SAndrew Lunn	depends on PHYLIB
245d75b4a22SAndrew Lunn	select SWPHY
246d75b4a22SAndrew Lunn	---help---
247d75b4a22SAndrew Lunn	  Adds the platform "fixed" MDIO Bus to cover the boards that use
248d75b4a22SAndrew Lunn	  PHYs that are not connected to the real MDIO bus.
249d75b4a22SAndrew Lunn
250d75b4a22SAndrew Lunn	  Currently tested with mpc866ads and mpc8349e-mitx.
251d75b4a22SAndrew Lunn
252d75b4a22SAndrew Lunnconfig ICPLUS_PHY
25397c84389SAndrew Lunn	tristate "ICPlus PHYs"
254d75b4a22SAndrew Lunn	---help---
255d75b4a22SAndrew Lunn	  Currently supports the IP175C and IP1001 PHYs.
256ddc24ae1SArun Parameswaran
257112b558dSHauke Mehrtensconfig INTEL_XWAY_PHY
25897c84389SAndrew Lunn	tristate "Intel XWAY PHYs"
259112b558dSHauke Mehrtens	---help---
260112b558dSHauke Mehrtens	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
261112b558dSHauke Mehrtens	  These PHYs are marked as standalone chips under the names
262112b558dSHauke Mehrtens	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
263112b558dSHauke Mehrtens	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
264112b558dSHauke Mehrtens
265d75b4a22SAndrew Lunnconfig LSI_ET1011C_PHY
26697c84389SAndrew Lunn	tristate "LSI ET1011C PHY"
267d75b4a22SAndrew Lunn	---help---
268d75b4a22SAndrew Lunn	  Supports the LSI ET1011C PHY.
2694960e4b1SDongpo Li
270d75b4a22SAndrew Lunnconfig LXT_PHY
27197c84389SAndrew Lunn	tristate "Intel LXT PHYs"
272d75b4a22SAndrew Lunn	---help---
273d75b4a22SAndrew Lunn	  Currently supports the lxt970, lxt971
274d75b4a22SAndrew Lunn
275d75b4a22SAndrew Lunnconfig MARVELL_PHY
27697c84389SAndrew Lunn	tristate "Marvell PHYs"
277d75b4a22SAndrew Lunn	---help---
278d75b4a22SAndrew Lunn	  Currently has a driver for the 88E1011S
279d75b4a22SAndrew Lunn
280d75b4a22SAndrew Lunnconfig MICREL_PHY
28197c84389SAndrew Lunn	tristate "Micrel PHYs"
282d75b4a22SAndrew Lunn	---help---
283d75b4a22SAndrew Lunn	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
284d75b4a22SAndrew Lunn
285d75b4a22SAndrew Lunnconfig MICROCHIP_PHY
28697c84389SAndrew Lunn	tristate "Microchip PHYs"
28743b3cf66SIyappan Subramanian	help
288d75b4a22SAndrew Lunn	  Supports the LAN88XX PHYs.
28943b3cf66SIyappan Subramanian
290d50736a8SRaju Lakkarajuconfig MICROSEMI_PHY
29197c84389SAndrew Lunn	tristate "Microsemi PHYs"
292d50736a8SRaju Lakkaraju	---help---
293af1fee98SRaju Lakkaraju	  Currently supports VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
294d50736a8SRaju Lakkaraju
295d75b4a22SAndrew Lunnconfig NATIONAL_PHY
29697c84389SAndrew Lunn	tristate "National Semiconductor PHYs"
297d75b4a22SAndrew Lunn	---help---
298d75b4a22SAndrew Lunn	  Currently supports the DP83865 PHY.
299d75b4a22SAndrew Lunn
300d75b4a22SAndrew Lunnconfig QSEMI_PHY
30197c84389SAndrew Lunn	tristate "Quality Semiconductor PHYs"
302d75b4a22SAndrew Lunn	---help---
303d75b4a22SAndrew Lunn	  Currently supports the qs6612
304d75b4a22SAndrew Lunn
305d75b4a22SAndrew Lunnconfig REALTEK_PHY
30697c84389SAndrew Lunn	tristate "Realtek PHYs"
307d75b4a22SAndrew Lunn	---help---
308d75b4a22SAndrew Lunn	  Supports the Realtek 821x PHY.
309d75b4a22SAndrew Lunn
310d75b4a22SAndrew Lunnconfig SMSC_PHY
31197c84389SAndrew Lunn	tristate "SMSC PHYs"
312d75b4a22SAndrew Lunn	---help---
313d75b4a22SAndrew Lunn	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
314d75b4a22SAndrew Lunn
315d75b4a22SAndrew Lunnconfig STE10XP
31697c84389SAndrew Lunn	tristate "STMicroelectronics STe10Xp PHYs"
317d75b4a22SAndrew Lunn	---help---
318d75b4a22SAndrew Lunn	  This is the driver for the STe100p and STe101p PHYs.
319d75b4a22SAndrew Lunn
320d75b4a22SAndrew Lunnconfig TERANETICS_PHY
32197c84389SAndrew Lunn        tristate "Teranetics PHYs"
322d75b4a22SAndrew Lunn        ---help---
323d75b4a22SAndrew Lunn          Currently supports the Teranetics TN2020
324d75b4a22SAndrew Lunn
325d75b4a22SAndrew Lunnconfig VITESSE_PHY
32697c84389SAndrew Lunn        tristate "Vitesse PHYs"
327d75b4a22SAndrew Lunn        ---help---
328d75b4a22SAndrew Lunn          Currently supports the vsc8244
329d75b4a22SAndrew Lunn
330f411a616SAppana Durga Kedareswara Raoconfig XILINX_GMII2RGMII
331f411a616SAppana Durga Kedareswara Rao       tristate "Xilinx GMII2RGMII converter driver"
332f411a616SAppana Durga Kedareswara Rao       ---help---
333f411a616SAppana Durga Kedareswara Rao         This driver support xilinx GMII to RGMII IP core it provides
334f411a616SAppana Durga Kedareswara Rao         the Reduced Gigabit Media Independent Interface(RGMII) between
335f411a616SAppana Durga Kedareswara Rao         Ethernet physical media devices and the Gigabit Ethernet controller.
336f411a616SAppana Durga Kedareswara Rao
33753f99941SJan Engelhardtendif # PHYLIB
338a8e510f6SFrederic LAMBERT
339a8e510f6SFrederic LAMBERTconfig MICREL_KS8995MA
340a8e510f6SFrederic LAMBERT	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
341a8e510f6SFrederic LAMBERT	depends on SPI
342