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