1 # SPDX-License-Identifier: GPL-2.0-only
3 # PHY Layer Configuration
7 tristate "MDIO bus device drivers"
9 MDIO devices and driver infrastructure code.
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.
25 tristate "ASPEED MDIO bus controller"
26 depends on ARCH_ASPEED || COMPILE_TEST
27 depends on OF_MDIO && HAS_IOMEM
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.
38 tristate "Broadcom iProc MDIO bus controller"
39 depends on ARCH_BCM_IPROC || COMPILE_TEST
40 depends on HAS_IOMEM && OF_MDIO
42 This module provides a driver for the MDIO busses found in the
45 config MDIO_BCM_UNIMAC
46 tristate "Broadcom UniMAC MDIO bus controller"
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.
55 tristate "Bitbanged MDIO buses"
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.
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.
72 config MDIO_BUS_MUX_BCM_IPROC
73 tristate "Broadcom iProc based MDIO bus multiplexers"
74 depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST)
76 default ARCH_BCM_IPROC
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.
83 config MDIO_BUS_MUX_GPIO
84 tristate "GPIO controlled MDIO bus multiplexers"
85 depends on OF_GPIO && OF_MDIO
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.
93 config 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
98 default m if ARCH_MESON
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.
104 config MDIO_BUS_MUX_MMIOREG
105 tristate "MMIO device-controlled MDIO bus multiplexers"
106 depends on OF_MDIO && HAS_IOMEM
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.
115 Currently, only 8/16/32 bits registers are supported.
117 config MDIO_BUS_MUX_MULTIPLEXER
118 tristate "MDIO bus multiplexer using kernel multiplexer subsystem"
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.
133 tristate "GPIO lib-based bitbanged MDIO buses"
134 depends on MDIO_BITBANG
135 depends on GPIOLIB || COMPILE_TEST
137 Supports GPIO lib-based MDIO busses.
139 To compile this driver as a module, choose M here: the module
140 will be called mdio-gpio.
142 config MDIO_HISI_FEMAC
143 tristate "Hisilicon FEMAC MDIO bus controller"
144 depends on HAS_IOMEM && OF_MDIO
146 This module provides a driver for the MDIO busses found in the
147 Hisilicon SoC that have an Fast Ethernet MAC.
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.
157 This is library mode.
160 tristate "MOXA ART MDIO interface support"
161 depends on ARCH_MOXART || COMPILE_TEST
163 This driver supports the MDIO interface found in the network
164 interface units of the MOXA ART SoC
166 config MDIO_MSCC_MIIM
167 tristate "Microsemi MIIM interface support"
170 This driver supports the MIIM (MDIO) interface found in the network
171 switches of the Microsemi SoCs
174 tristate "Octeon and some ThunderX SOCs MDIO buses"
175 depends on (64BIT && OF_MDIO) || COMPILE_TEST
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.
184 tristate "Allwinner sun4i MDIO interface support"
185 depends on ARCH_SUNXI || COMPILE_TEST
187 This driver supports the MDIO interface found in the network
188 interface units of the Allwinner SoC that have an EMAC (A10,
192 tristate "ThunderX SOCs MDIO buses"
197 This driver supports the MDIO interfaces found on Cavium
198 ThunderX SoCs when the MDIO bus device appears as a PCI
202 tristate "APM X-Gene SoC MDIO bus controller"
203 depends on ARCH_XGENE || COMPILE_TEST
205 This module provides a driver for the MDIO busses found in the
213 depends on NETDEVICES
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.
222 tristate "PHY Device support and infrastructure"
223 depends on NETDEVICES
226 Ethernet controllers are usually attached to PHY
227 devices. This option provides infrastructure for
228 managing PHY devices.
235 config LED_TRIGGER_PHY
236 bool "Support LED triggers for tracking link state"
237 depends on LEDS_TRIGGERS
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>
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.
252 comment "MII PHY device drivers"
255 tristate "SFP cage support"
256 depends on I2C && PHYLINK
257 depends on HWMON || HWMON=n
261 tristate "Analog Devices Industrial Ethernet PHYs"
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
272 Currently supports the am79c874
275 tristate "Aquantia PHYs"
277 Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
282 Currently supports the Asix Electronics PHY found in the X-Surf 100
286 tristate "Broadcom 63xx SOCs internal PHY"
287 depends on BCM63XX || COMPILE_TEST
288 select BCM_NET_PHYLIB
290 Currently supports the 6348 and 6358 PHYs.
293 tristate "Broadcom 7xxx SOCs internal PHYs"
294 select BCM_NET_PHYLIB
296 Currently supports the BCM7366, BCM7439, BCM7445, and
297 40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
300 tristate "Broadcom BCM8706 and BCM8727 PHYs"
302 Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
304 config BCM_CYGNUS_PHY
305 tristate "Broadcom Cygnus/Omega SoC internal PHY"
306 depends on ARCH_BCM_IPROC || COMPILE_TEST
307 depends on MDIO_BCM_IPROC
308 select BCM_NET_PHYLIB
310 This PHY driver is for the 1G internal PHYs of the Broadcom
311 Cygnus and Omega Family SoC.
313 Currently supports internal PHY's used in the BCM11300,
314 BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
315 BCM58303 & BCM58305 Broadcom Cygnus SoCs.
317 config BCM_NET_PHYLIB
321 tristate "Broadcom PHYs"
322 select BCM_NET_PHYLIB
324 Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
325 BCM5481, BCM54810 and BCM5482 PHYs.
328 tristate "Cicada PHYs"
330 Currently supports the cis8204
333 tristate "Cortina EDC CDR 10G Ethernet PHY"
335 Currently supports the CS4340 phy.
338 tristate "Davicom PHYs"
340 Currently supports dm9161e and dm9131
343 tristate "Texas Instruments DP83822 PHY"
345 Supports the DP83822 PHY.
348 tristate "Texas Instruments DP83TC822 PHY"
350 Supports the DP83TC822 PHY.
353 tristate "Texas Instruments DP83848 PHY"
355 Supports the DP83848 PHY.
358 tristate "Texas Instruments DP83867 Gigabit PHY"
360 Currently supports the DP83867 PHY.
363 tristate "Texas Instruments DP83869 Gigabit PHY"
365 Currently supports the DP83869 PHY. This PHY supports copper and
369 tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
373 Adds the platform "fixed" MDIO Bus to cover the boards that use
374 PHYs that are not connected to the real MDIO bus.
376 Currently tested with mpc866ads and mpc8349e-mitx.
379 tristate "ICPlus PHYs"
381 Currently supports the IP175C and IP1001 PHYs.
383 config INTEL_XWAY_PHY
384 tristate "Intel XWAY PHYs"
386 Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
387 These PHYs are marked as standalone chips under the names
388 PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
389 SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
391 config LSI_ET1011C_PHY
392 tristate "LSI ET1011C PHY"
394 Supports the LSI ET1011C PHY.
397 tristate "Intel LXT PHYs"
399 Currently supports the lxt970, lxt971
402 tristate "Marvell PHYs"
404 Currently has a driver for the 88E1011S
406 config MARVELL_10G_PHY
407 tristate "Marvell Alaska 10Gbit PHYs"
409 Support for the Marvell Alaska MV88X3310 and compatible PHYs.
412 tristate "Amlogic Meson GXL Internal PHY"
413 depends on ARCH_MESON || COMPILE_TEST
415 Currently has a driver for the Amlogic Meson GXL Internal PHY
418 tristate "Micrel PHYs"
420 Supports the KSZ9021, VSC8201, KS8001 PHYs.
423 tristate "Microchip PHYs"
425 Supports the LAN88XX PHYs.
427 config MICROCHIP_T1_PHY
428 tristate "Microchip T1 PHYs"
430 Supports the LAN87XX PHYs.
433 tristate "Microsemi PHYs"
435 Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
438 tristate "National Semiconductor PHYs"
440 Currently supports the DP83865 PHY.
442 config NXP_TJA11XX_PHY
443 tristate "NXP TJA11xx PHYs support"
446 Currently supports the NXP TJA1100 and TJA1101 PHY.
449 tristate "Qualcomm Atheros AR803X PHYs"
452 Currently supports the AR8030, AR8031, AR8033 and AR8035 model
455 tristate "Quality Semiconductor PHYs"
457 Currently supports the qs6612
460 tristate "Realtek PHYs"
462 Supports the Realtek 821x PHY.
465 tristate "Driver for Renesas PHYs"
467 Supports the Renesas PHYs uPD60620 and uPD60620A.
470 tristate "Driver for Rockchip Ethernet PHYs"
472 Currently supports the integrated Ethernet PHY.
477 Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
480 tristate "STMicroelectronics STe10Xp PHYs"
482 This is the driver for the STe100p and STe101p PHYs.
484 config TERANETICS_PHY
485 tristate "Teranetics PHYs"
487 Currently supports the Teranetics TN2020
490 tristate "Vitesse PHYs"
492 Currently supports the vsc8244
494 config XILINX_GMII2RGMII
495 tristate "Xilinx GMII2RGMII converter driver"
497 This driver support xilinx GMII to RGMII IP core it provides
498 the Reduced Gigabit Media Independent Interface(RGMII) between
499 Ethernet physical media devices and the Gigabit Ethernet controller.
503 config MICREL_KS8995MA
504 tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"