xref: /openbmc/linux/drivers/net/phy/Kconfig (revision b60a5b8d)
1#
2# PHY Layer Configuration
3#
4
5menuconfig MDIO_DEVICE
6	tristate "MDIO bus device drivers"
7	help
8	  MDIO devices and driver infrastructure code.
9
10config MDIO_BUS
11	tristate
12	default m if PHYLIB=m
13	default MDIO_DEVICE
14	help
15	  This internal symbol is used for link time dependencies and it
16	  reflects whether the mdio_bus/mdio_device code is built as a
17	  loadable module or built-in.
18
19if MDIO_BUS
20
21config MDIO_BCM_IPROC
22	tristate "Broadcom iProc MDIO bus controller"
23	depends on ARCH_BCM_IPROC || COMPILE_TEST
24	depends on HAS_IOMEM && OF_MDIO
25	help
26	  This module provides a driver for the MDIO busses found in the
27	  Broadcom iProc SoC's.
28
29config MDIO_BCM_UNIMAC
30	tristate "Broadcom UniMAC MDIO bus controller"
31	depends on HAS_IOMEM
32	help
33	  This module provides a driver for the Broadcom UniMAC MDIO busses.
34	  This hardware can be found in the Broadcom GENET Ethernet MAC
35	  controllers as well as some Broadcom Ethernet switches such as the
36	  Starfighter 2 switches.
37
38config MDIO_BITBANG
39	tristate "Bitbanged MDIO buses"
40	help
41	  This module implements the MDIO bus protocol in software,
42	  for use by low level drivers that export the ability to
43	  drive the relevant pins.
44
45	  If in doubt, say N.
46
47config MDIO_BUS_MUX
48	tristate
49	depends on OF_MDIO
50	help
51	  This module provides a driver framework for MDIO bus
52	  multiplexers which connect one of several child MDIO busses
53	  to a parent bus.  Switching between child busses is done by
54	  device specific drivers.
55
56config MDIO_BUS_MUX_BCM_IPROC
57	tristate "Broadcom iProc based MDIO bus multiplexers"
58	depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST)
59	select MDIO_BUS_MUX
60	default ARCH_BCM_IPROC
61	help
62	  This module provides a driver for MDIO bus multiplexers found in
63	  iProc based Broadcom SoCs. This multiplexer connects one of several
64	  child MDIO bus to a parent bus. Buses could be internal as well as
65	  external and selection logic lies inside the same multiplexer.
66
67config MDIO_BUS_MUX_GPIO
68	tristate "GPIO controlled MDIO bus multiplexers"
69	depends on OF_GPIO && OF_MDIO
70	select MDIO_BUS_MUX
71	help
72	  This module provides a driver for MDIO bus multiplexers that
73	  are controlled via GPIO lines.  The multiplexer connects one of
74	  several child MDIO busses to a parent bus.  Child bus
75	  selection is under the control of GPIO lines.
76
77config MDIO_BUS_MUX_MMIOREG
78	tristate "MMIO device-controlled MDIO bus multiplexers"
79	depends on OF_MDIO && HAS_IOMEM
80	select MDIO_BUS_MUX
81	help
82	  This module provides a driver for MDIO bus multiplexers that
83	  are controlled via a simple memory-mapped device, like an FPGA.
84	  The multiplexer connects one of several child MDIO busses to a
85	  parent bus.  Child bus selection is under the control of one of
86	  the FPGA's registers.
87
88	  Currently, only 8/16/32 bits registers are supported.
89
90config MDIO_BUS_MUX_MULTIPLEXER
91	tristate "MDIO bus multiplexer using kernel multiplexer subsystem"
92	depends on OF_MDIO
93	select MULTIPLEXER
94	select MDIO_BUS_MUX
95	help
96	  This module provides a driver for MDIO bus multiplexer
97	  that is controlled via the kernel multiplexer subsystem. The
98	  bus multiplexer connects one of several child MDIO busses to
99	  a parent bus.  Child bus selection is under the control of
100	  the kernel multiplexer subsystem.
101
102config MDIO_CAVIUM
103	tristate
104
105config MDIO_GPIO
106	tristate "GPIO lib-based bitbanged MDIO buses"
107	depends on MDIO_BITBANG
108	depends on GPIOLIB || COMPILE_TEST
109	---help---
110	  Supports GPIO lib-based MDIO busses.
111
112	  To compile this driver as a module, choose M here: the module
113	  will be called mdio-gpio.
114
115config MDIO_HISI_FEMAC
116	tristate "Hisilicon FEMAC MDIO bus controller"
117	depends on HAS_IOMEM && OF_MDIO
118	help
119	  This module provides a driver for the MDIO busses found in the
120	  Hisilicon SoC that have an Fast Ethernet MAC.
121
122config MDIO_I2C
123	tristate
124	depends on I2C
125	help
126	  Support I2C based PHYs.  This provides a MDIO bus bridged
127	  to I2C to allow PHYs connected in I2C mode to be accessed
128	  using the existing infrastructure.
129
130	  This is library mode.
131
132config MDIO_MOXART
133	tristate "MOXA ART MDIO interface support"
134	depends on ARCH_MOXART || COMPILE_TEST
135	help
136	  This driver supports the MDIO interface found in the network
137	  interface units of the MOXA ART SoC
138
139config MDIO_MSCC_MIIM
140	tristate "Microsemi MIIM interface support"
141	depends on HAS_IOMEM
142	help
143	  This driver supports the MIIM (MDIO) interface found in the network
144	  switches of the Microsemi SoCs
145
146config MDIO_OCTEON
147	tristate "Octeon and some ThunderX SOCs MDIO buses"
148	depends on 64BIT
149	depends on HAS_IOMEM && OF_MDIO
150	select MDIO_CAVIUM
151	help
152	  This module provides a driver for the Octeon and ThunderX MDIO
153	  buses. It is required by the Octeon and ThunderX ethernet device
154	  drivers on some systems.
155
156config MDIO_SUN4I
157	tristate "Allwinner sun4i MDIO interface support"
158	depends on ARCH_SUNXI || COMPILE_TEST
159	help
160	  This driver supports the MDIO interface found in the network
161	  interface units of the Allwinner SoC that have an EMAC (A10,
162	  A12, A10s, etc.)
163
164config MDIO_THUNDER
165	tristate "ThunderX SOCs MDIO buses"
166	depends on 64BIT
167	depends on PCI
168	select MDIO_CAVIUM
169	help
170	  This driver supports the MDIO interfaces found on Cavium
171	  ThunderX SoCs when the MDIO bus device appears as a PCI
172	  device.
173
174config MDIO_XGENE
175	tristate "APM X-Gene SoC MDIO bus controller"
176	depends on ARCH_XGENE || COMPILE_TEST
177	help
178	  This module provides a driver for the MDIO busses found in the
179	  APM X-Gene SoC's.
180
181endif
182
183config PHYLINK
184	tristate
185	depends on NETDEVICES
186	select PHYLIB
187	select SWPHY
188	help
189	  PHYlink models the link between the PHY and MAC, allowing fixed
190	  configuration links, PHYs, and Serdes links with MAC level
191	  autonegotiation modes.
192
193menuconfig PHYLIB
194	tristate "PHY Device support and infrastructure"
195	depends on NETDEVICES
196	select MDIO_DEVICE
197	help
198	  Ethernet controllers are usually attached to PHY
199	  devices.  This option provides infrastructure for
200	  managing PHY devices.
201
202if PHYLIB
203
204config SWPHY
205	bool
206
207config LED_TRIGGER_PHY
208	bool "Support LED triggers for tracking link state"
209	depends on LEDS_TRIGGERS
210	---help---
211	  Adds support for a set of LED trigger events per-PHY.  Link
212	  state change will trigger the events, for consumption by an
213	  LED class driver.  There are triggers for each link speed currently
214	  supported by the PHY and also a one common "link" trigger as a
215	  logical-or of all the link speed ones.
216	  All these triggers are named according to the following pattern:
217	      <mii bus id>:<phy>:<speed>
218
219	  Where speed is in the form:
220		<Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link
221		for any speed known to the PHY.
222
223
224comment "MII PHY device drivers"
225
226config SFP
227	tristate "SFP cage support"
228	depends on I2C && PHYLINK
229	depends on HWMON || HWMON=n
230	select MDIO_I2C
231
232config AMD_PHY
233	tristate "AMD PHYs"
234	---help---
235	  Currently supports the am79c874
236
237config AQUANTIA_PHY
238	tristate "Aquantia PHYs"
239	---help---
240	  Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
241
242config ASIX_PHY
243	tristate "Asix PHYs"
244	help
245	  Currently supports the Asix Electronics PHY found in the X-Surf 100
246	  AX88796B package.
247
248config AT803X_PHY
249	tristate "AT803X PHYs"
250	---help---
251	  Currently supports the AT8030 and AT8035 model
252
253config BCM63XX_PHY
254	tristate "Broadcom 63xx SOCs internal PHY"
255	depends on BCM63XX || COMPILE_TEST
256	select BCM_NET_PHYLIB
257	---help---
258	  Currently supports the 6348 and 6358 PHYs.
259
260config BCM7XXX_PHY
261	tristate "Broadcom 7xxx SOCs internal PHYs"
262	select BCM_NET_PHYLIB
263	---help---
264	  Currently supports the BCM7366, BCM7439, BCM7445, and
265	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
266
267config BCM87XX_PHY
268	tristate "Broadcom BCM8706 and BCM8727 PHYs"
269	help
270	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
271
272config BCM_CYGNUS_PHY
273	tristate "Broadcom Cygnus SoC internal PHY"
274	depends on ARCH_BCM_CYGNUS || COMPILE_TEST
275	depends on MDIO_BCM_IPROC
276	select BCM_NET_PHYLIB
277	---help---
278	  This PHY driver is for the 1G internal PHYs of the Broadcom
279	  Cygnus Family SoC.
280
281	  Currently supports internal PHY's used in the BCM11300,
282	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
283	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
284
285config BCM_NET_PHYLIB
286	tristate
287
288config BROADCOM_PHY
289	tristate "Broadcom PHYs"
290	select BCM_NET_PHYLIB
291	---help---
292	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
293	  BCM5481, BCM54810 and BCM5482 PHYs.
294
295config CICADA_PHY
296	tristate "Cicada PHYs"
297	---help---
298	  Currently supports the cis8204
299
300config CORTINA_PHY
301	tristate "Cortina EDC CDR 10G Ethernet PHY"
302	---help---
303	  Currently supports the CS4340 phy.
304
305config DAVICOM_PHY
306	tristate "Davicom PHYs"
307	---help---
308	  Currently supports dm9161e and dm9131
309
310config DP83822_PHY
311	tristate "Texas Instruments DP83822 PHY"
312	---help---
313	  Supports the DP83822 PHY.
314
315config DP83TC811_PHY
316	tristate "Texas Instruments DP83TC822 PHY"
317	---help---
318	  Supports the DP83TC822 PHY.
319
320config DP83848_PHY
321	tristate "Texas Instruments DP83848 PHY"
322	---help---
323	  Supports the DP83848 PHY.
324
325config DP83867_PHY
326	tristate "Texas Instruments DP83867 Gigabit PHY"
327	---help---
328	  Currently supports the DP83867 PHY.
329
330config FIXED_PHY
331	tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
332	depends on PHYLIB
333	select SWPHY
334	---help---
335	  Adds the platform "fixed" MDIO Bus to cover the boards that use
336	  PHYs that are not connected to the real MDIO bus.
337
338	  Currently tested with mpc866ads and mpc8349e-mitx.
339
340config ICPLUS_PHY
341	tristate "ICPlus PHYs"
342	---help---
343	  Currently supports the IP175C and IP1001 PHYs.
344
345config INTEL_XWAY_PHY
346	tristate "Intel XWAY PHYs"
347	---help---
348	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
349	  These PHYs are marked as standalone chips under the names
350	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
351	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
352
353config LSI_ET1011C_PHY
354	tristate "LSI ET1011C PHY"
355	---help---
356	  Supports the LSI ET1011C PHY.
357
358config LXT_PHY
359	tristate "Intel LXT PHYs"
360	---help---
361	  Currently supports the lxt970, lxt971
362
363config MARVELL_PHY
364	tristate "Marvell PHYs"
365	---help---
366	  Currently has a driver for the 88E1011S
367
368config MARVELL_10G_PHY
369	tristate "Marvell Alaska 10Gbit PHYs"
370	---help---
371	  Support for the Marvell Alaska MV88X3310 and compatible PHYs.
372
373config MESON_GXL_PHY
374	tristate "Amlogic Meson GXL Internal PHY"
375	depends on ARCH_MESON || COMPILE_TEST
376	---help---
377	  Currently has a driver for the Amlogic Meson GXL Internal PHY
378
379config MICREL_PHY
380	tristate "Micrel PHYs"
381	---help---
382	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
383
384config MICROCHIP_PHY
385	tristate "Microchip PHYs"
386	help
387	  Supports the LAN88XX PHYs.
388
389config MICROCHIP_T1_PHY
390	tristate "Microchip T1 PHYs"
391	---help---
392	  Supports the LAN87XX PHYs.
393
394config MICROSEMI_PHY
395	tristate "Microsemi PHYs"
396	---help---
397	  Currently supports VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
398
399config NATIONAL_PHY
400	tristate "National Semiconductor PHYs"
401	---help---
402	  Currently supports the DP83865 PHY.
403
404config QSEMI_PHY
405	tristate "Quality Semiconductor PHYs"
406	---help---
407	  Currently supports the qs6612
408
409config REALTEK_PHY
410	tristate "Realtek PHYs"
411	---help---
412	  Supports the Realtek 821x PHY.
413
414config RENESAS_PHY
415	tristate "Driver for Renesas PHYs"
416	---help---
417	  Supports the Renesas PHYs uPD60620 and uPD60620A.
418
419config ROCKCHIP_PHY
420        tristate "Driver for Rockchip Ethernet PHYs"
421        ---help---
422          Currently supports the integrated Ethernet PHY.
423
424config SMSC_PHY
425	tristate "SMSC PHYs"
426	---help---
427	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
428
429config STE10XP
430	tristate "STMicroelectronics STe10Xp PHYs"
431	---help---
432	  This is the driver for the STe100p and STe101p PHYs.
433
434config TERANETICS_PHY
435	tristate "Teranetics PHYs"
436	---help---
437	  Currently supports the Teranetics TN2020
438
439config VITESSE_PHY
440	tristate "Vitesse PHYs"
441	---help---
442	  Currently supports the vsc8244
443
444config XILINX_GMII2RGMII
445	tristate "Xilinx GMII2RGMII converter driver"
446	---help---
447	  This driver support xilinx GMII to RGMII IP core it provides
448	  the Reduced Gigabit Media Independent Interface(RGMII) between
449	  Ethernet physical media devices and the Gigabit Ethernet controller.
450
451endif # PHYLIB
452
453config MICREL_KS8995MA
454	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
455	depends on SPI
456