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