blob: 5d6eb392461e98ce9c2e87bd56e9a395d7ac42e8 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001#
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_CAVIUM
91 tristate
92
93config MDIO_GPIO
94 tristate "GPIO lib-based bitbanged MDIO buses"
95 depends on MDIO_BITBANG
96 depends on GPIOLIB || COMPILE_TEST
97 ---help---
98 Supports GPIO lib-based MDIO busses.
99
100 To compile this driver as a module, choose M here: the module
101 will be called mdio-gpio.
102
103config MDIO_HISI_FEMAC
104 tristate "Hisilicon FEMAC MDIO bus controller"
105 depends on HAS_IOMEM && OF_MDIO
106 help
107 This module provides a driver for the MDIO busses found in the
108 Hisilicon SoC that have an Fast Ethernet MAC.
109
110config MDIO_I2C
111 tristate
112 depends on I2C
113 help
114 Support I2C based PHYs. This provides a MDIO bus bridged
115 to I2C to allow PHYs connected in I2C mode to be accessed
116 using the existing infrastructure.
117
118 This is library mode.
119
120config MDIO_MOXART
121 tristate "MOXA ART MDIO interface support"
122 depends on ARCH_MOXART || COMPILE_TEST
123 help
124 This driver supports the MDIO interface found in the network
125 interface units of the MOXA ART SoC
126
127config MDIO_MSCC_MIIM
128 tristate "Microsemi MIIM interface support"
129 depends on HAS_IOMEM
130 help
131 This driver supports the MIIM (MDIO) interface found in the network
132 switches of the Microsemi SoCs
133
134config MDIO_OCTEON
135 tristate "Octeon and some ThunderX SOCs MDIO buses"
136 depends on 64BIT
137 depends on HAS_IOMEM && OF_MDIO
138 select MDIO_CAVIUM
139 help
140 This module provides a driver for the Octeon and ThunderX MDIO
141 buses. It is required by the Octeon and ThunderX ethernet device
142 drivers on some systems.
143
144config MDIO_SUN4I
145 tristate "Allwinner sun4i MDIO interface support"
146 depends on ARCH_SUNXI || COMPILE_TEST
147 help
148 This driver supports the MDIO interface found in the network
149 interface units of the Allwinner SoC that have an EMAC (A10,
150 A12, A10s, etc.)
151
152config MDIO_THUNDER
153 tristate "ThunderX SOCs MDIO buses"
154 depends on 64BIT
155 depends on PCI
156 select MDIO_CAVIUM
157 help
158 This driver supports the MDIO interfaces found on Cavium
159 ThunderX SoCs when the MDIO bus device appears as a PCI
160 device.
161
162config MDIO_XGENE
163 tristate "APM X-Gene SoC MDIO bus controller"
164 depends on ARCH_XGENE || COMPILE_TEST
165 help
166 This module provides a driver for the MDIO busses found in the
167 APM X-Gene SoC's.
168
169endif
170
171config PHYLINK
172 tristate
173 depends on NETDEVICES
174 select PHYLIB
175 select SWPHY
176 help
177 PHYlink models the link between the PHY and MAC, allowing fixed
178 configuration links, PHYs, and Serdes links with MAC level
179 autonegotiation modes.
180
181menuconfig PHYLIB
182 tristate "PHY Device support and infrastructure"
183 depends on NETDEVICES
184 select MDIO_DEVICE
185 help
186 Ethernet controllers are usually attached to PHY
187 devices. This option provides infrastructure for
188 managing PHY devices.
189
190if PHYLIB
191
192config SWPHY
193 bool
194
195config LED_TRIGGER_PHY
196 bool "Support LED triggers for tracking link state"
197 depends on LEDS_TRIGGERS
198 ---help---
199 Adds support for a set of LED trigger events per-PHY. Link
200 state change will trigger the events, for consumption by an
201 LED class driver. There are triggers for each link speed currently
202 supported by the PHY and also a one common "link" trigger as a
203 logical-or of all the link speed ones.
204 All these triggers are named according to the following pattern:
205 <mii bus id>:<phy>:<speed>
206
207 Where speed is in the form:
208 <Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link
209 for any speed known to the PHY.
210
211
212comment "Switch configuration API + drivers"
213
214config SWCONFIG
215 tristate "Switch configuration API"
216 ---help---
217 Switch configuration API using netlink. This allows
218 you to configure the VLAN features of certain switches.
219
220config SWCONFIG_LEDS
221 bool "Switch LED trigger support"
222 depends on (SWCONFIG && LEDS_TRIGGERS)
223
224config ADM6996_PHY
225 tristate "Driver for ADM6996 switches"
226 select SWCONFIG
227 ---help---
228 Currently supports the ADM6996FC and ADM6996M switches.
229 Support for FC is very limited.
230
231config AR8216_PHY
232 tristate "Driver for Atheros AR8216 switches"
233 select ETHERNET_PACKET_MANGLE
234 select SWCONFIG
235
236config AR8216_PHY_LEDS
237 bool "Atheros AR8216 switch LED support"
238 depends on (AR8216_PHY && LEDS_CLASS)
239
240source "drivers/net/phy/b53/Kconfig"
241
242config IP17XX_PHY
243 tristate "Driver for IC+ IP17xx switches"
244 select SWCONFIG
245
246config MVSWITCH_PHY
247 tristate "Driver for Marvell 88E6060 switches"
248 select ETHERNET_PACKET_MANGLE
249
250config MVSW61XX_PHY
251 tristate "Driver for Marvell 88E6171/6172 switches"
252 select SWCONFIG
253
254config PSB6970_PHY
255 tristate "Lantiq XWAY Tantos (PSB6970) Ethernet switch"
256 select SWCONFIG
257 select ETHERNET_PACKET_MANGLE
258
259config RTL8306_PHY
260 tristate "Driver for Realtek RTL8306S switches"
261 select SWCONFIG
262
263config RTL8366_SMI
264 tristate "Driver for the RTL8366 SMI interface"
265 depends on GPIOLIB
266 ---help---
267 This module implements the SMI interface protocol which is used
268 by some RTL8366 ethernet switch devices via the generic GPIO API.
269
270if RTL8366_SMI
271
272config RTL8366_SMI_DEBUG_FS
273 bool "RTL8366 SMI interface debugfs support"
274 depends on DEBUG_FS
275 default n
276
277config RTL8366S_PHY
278 tristate "Driver for the Realtek RTL8366S switch"
279 select SWCONFIG
280
281config RTL8366RB_PHY
282 tristate "Driver for the Realtek RTL8366RB switch"
283 select SWCONFIG
284
285config RTL8367_PHY
286 tristate "Driver for the Realtek RTL8367R/M switches"
287 select SWCONFIG
288
289config RTL8367B_PHY
290 tristate "Driver fot the Realtek RTL8367R-VB switch"
291 select SWCONFIG
292
293endif # RTL8366_SMI
294
295comment "MII PHY device drivers"
296
297config SFP
298 tristate "SFP cage support"
299 depends on I2C && PHYLINK
300 depends on HWMON || HWMON=n
301 select MDIO_I2C
302
303config AMD_PHY
304 tristate "AMD PHYs"
305 ---help---
306 Currently supports the am79c874
307
308config AQUANTIA_PHY
309 tristate "Aquantia PHYs"
310 ---help---
311 Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
312
313config AX88796B_PHY
314 tristate "Asix PHYs"
315 help
316 Currently supports the Asix Electronics PHY found in the X-Surf 100
317 AX88796B package.
318
319config AT803X_PHY
320 tristate "AT803X PHYs"
321 ---help---
322 Currently supports the AT8030 and AT8035 model
323
324config BCM63XX_PHY
325 tristate "Broadcom 63xx SOCs internal PHY"
326 depends on BCM63XX
327 select BCM_NET_PHYLIB
328 ---help---
329 Currently supports the 6348 and 6358 PHYs.
330
331config BCM7XXX_PHY
332 tristate "Broadcom 7xxx SOCs internal PHYs"
333 select BCM_NET_PHYLIB
334 ---help---
335 Currently supports the BCM7366, BCM7439, BCM7445, and
336 40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
337
338config BCM87XX_PHY
339 tristate "Broadcom BCM8706 and BCM8727 PHYs"
340 help
341 Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
342
343config BCM_CYGNUS_PHY
344 tristate "Broadcom Cygnus SoC internal PHY"
345 depends on ARCH_BCM_CYGNUS || COMPILE_TEST
346 depends on MDIO_BCM_IPROC
347 select BCM_NET_PHYLIB
348 ---help---
349 This PHY driver is for the 1G internal PHYs of the Broadcom
350 Cygnus Family SoC.
351
352 Currently supports internal PHY's used in the BCM11300,
353 BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
354 BCM58303 & BCM58305 Broadcom Cygnus SoCs.
355
356config BCM_NET_PHYLIB
357 tristate
358
359config BROADCOM_PHY
360 tristate "Broadcom PHYs"
361 select BCM_NET_PHYLIB
362 ---help---
363 Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
364 BCM5481, BCM54810 and BCM5482 PHYs.
365
366config BCM84881_PHY
367 tristate "Broadcom BCM84881 PHY"
368 ---help---
369 Support the Broadcom BCM84881 PHY.
370
371config CICADA_PHY
372 tristate "Cicada PHYs"
373 ---help---
374 Currently supports the cis8204
375
376config CORTINA_PHY
377 tristate "Cortina EDC CDR 10G Ethernet PHY"
378 ---help---
379 Currently supports the CS4340 phy.
380
381config DAVICOM_PHY
382 tristate "Davicom PHYs"
383 ---help---
384 Currently supports dm9161e and dm9131
385
386config DP83822_PHY
387 tristate "Texas Instruments DP83822 PHY"
388 ---help---
389 Supports the DP83822 PHY.
390
391config DP83TC811_PHY
392 tristate "Texas Instruments DP83TC822 PHY"
393 ---help---
394 Supports the DP83TC822 PHY.
395
396config DP83848_PHY
397 tristate "Texas Instruments DP83848 PHY"
398 ---help---
399 Supports the DP83848 PHY.
400
401config DP83867_PHY
402 tristate "Texas Instruments DP83867 Gigabit PHY"
403 ---help---
404 Currently supports the DP83867 PHY.
405
406config FIXED_PHY
407 tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
408 depends on PHYLIB
409 select SWPHY
410 ---help---
411 Adds the platform "fixed" MDIO Bus to cover the boards that use
412 PHYs that are not connected to the real MDIO bus.
413
414 Currently tested with mpc866ads and mpc8349e-mitx.
415
416config ICPLUS_PHY
417 tristate "ICPlus PHYs"
418 ---help---
419 Currently supports the IP175C and IP1001 PHYs.
420
421config INTEL_XWAY_PHY
422 tristate "Intel XWAY PHYs"
423 ---help---
424 Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
425 These PHYs are marked as standalone chips under the names
426 PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
427 SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
428
429config LSI_ET1011C_PHY
430 tristate "LSI ET1011C PHY"
431 ---help---
432 Supports the LSI ET1011C PHY.
433
434config LXT_PHY
435 tristate "Intel LXT PHYs"
436 ---help---
437 Currently supports the lxt970, lxt971
438
439config MARVELL_PHY
440 tristate "Marvell PHYs"
441 ---help---
442 Currently has a driver for the 88E1011S
443
444config MARVELL_10G_PHY
445 tristate "Marvell Alaska 10Gbit PHYs"
446 ---help---
447 Support for the Marvell Alaska MV88X3310 and compatible PHYs.
448
449config MARVELL_88Q_PHY
450 tristate "Marvell 88Q PHYs"
451 help
452 Currently supports the 88Q2110 PHYs.
453
454config MESON_GXL_PHY
455 tristate "Amlogic Meson GXL Internal PHY"
456 depends on ARCH_MESON || COMPILE_TEST
457 ---help---
458 Currently has a driver for the Amlogic Meson GXL Internal PHY
459
460config MICREL_PHY
461 tristate "Micrel PHYs"
462 ---help---
463 Supports the KSZ9021, VSC8201, KS8001 PHYs.
464
465config MICROCHIP_PHY
466 tristate "Microchip PHYs"
467 help
468 Supports the LAN88XX PHYs.
469
470config TJA110X_PHY
471 tristate "Tja110x PHYs"
472 help
473 Supports the Tja110x PHYs.
474
475config MICROCHIP_T1_PHY
476 tristate "Microchip T1 PHYs"
477 ---help---
478 Supports the LAN87XX PHYs.
479
480config MICROSEMI_PHY
481 tristate "Microsemi PHYs"
482 ---help---
483 Currently supports VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
484
485config NATIONAL_PHY
486 tristate "National Semiconductor PHYs"
487 ---help---
488 Currently supports the DP83865 PHY.
489
490config NXP_TJA1100_PHY
491 tristate "NXP TJA1100 PHY"
492 help
493 Currently supports the TJA1100 PHY.
494
495config QSEMI_PHY
496 tristate "Quality Semiconductor PHYs"
497 ---help---
498 Currently supports the qs6612
499
500config REALTEK_PHY
501 tristate "Realtek PHYs"
502 ---help---
503 Supports the Realtek 821x PHY.
504
505config RENESAS_PHY
506 tristate "Driver for Renesas PHYs"
507 ---help---
508 Supports the Renesas PHYs uPD60620 and uPD60620A.
509
510config ROCKCHIP_PHY
511 tristate "Driver for Rockchip Ethernet PHYs"
512 ---help---
513 Currently supports the integrated Ethernet PHY.
514
515config SMSC_PHY
516 tristate "SMSC PHYs"
517 ---help---
518 Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
519
520config STE10XP
521 tristate "STMicroelectronics STe10Xp PHYs"
522 ---help---
523 This is the driver for the STe100p and STe101p PHYs.
524
525config TERANETICS_PHY
526 tristate "Teranetics PHYs"
527 ---help---
528 Currently supports the Teranetics TN2020
529
530config VITESSE_PHY
531 tristate "Vitesse PHYs"
532 ---help---
533 Currently supports the vsc8244
534
535config XILINX_GMII2RGMII
536 tristate "Xilinx GMII2RGMII converter driver"
537 ---help---
538 This driver support xilinx GMII to RGMII IP core it provides
539 the Reduced Gigabit Media Independent Interface(RGMII) between
540 Ethernet physical media devices and the Gigabit Ethernet controller.
541
542source "drivers/net/phy/mtk/mt753x/Kconfig"
543endif # PHYLIB
544
545config MICREL_KS8995MA
546 tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
547 depends on SPI