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