| # SPDX-License-Identifier: GPL-2.0-only | |
| # | |
| # PHY Layer Configuration | |
| # | |
| menuconfig MDIO_DEVICE | |
| tristate "MDIO bus device drivers" | |
| help | |
| MDIO devices and driver infrastructure code. | |
| if MDIO_DEVICE | |
| config MDIO_BUS | |
| tristate | |
| default m if PHYLIB=m | |
| default MDIO_DEVICE | |
| help | |
| This internal symbol is used for link time dependencies and it | |
| reflects whether the mdio_bus/mdio_device code is built as a | |
| loadable module or built-in. | |
| if MDIO_BUS | |
| config MDIO_BCM_IPROC | |
| tristate "Broadcom iProc MDIO bus controller" | |
| depends on ARCH_BCM_IPROC || COMPILE_TEST | |
| depends on HAS_IOMEM && OF_MDIO | |
| help | |
| This module provides a driver for the MDIO busses found in the | |
| Broadcom iProc SoC's. | |
| config MDIO_BCM_UNIMAC | |
| tristate "Broadcom UniMAC MDIO bus controller" | |
| depends on HAS_IOMEM | |
| help | |
| This module provides a driver for the Broadcom UniMAC MDIO busses. | |
| This hardware can be found in the Broadcom GENET Ethernet MAC | |
| controllers as well as some Broadcom Ethernet switches such as the | |
| Starfighter 2 switches. | |
| config MDIO_BITBANG | |
| tristate "Bitbanged MDIO buses" | |
| help | |
| This module implements the MDIO bus protocol in software, | |
| for use by low level drivers that export the ability to | |
| drive the relevant pins. | |
| If in doubt, say N. | |
| config MDIO_BUS_MUX | |
| tristate | |
| depends on OF_MDIO | |
| help | |
| This module provides a driver framework for MDIO bus | |
| multiplexers which connect one of several child MDIO busses | |
| to a parent bus. Switching between child busses is done by | |
| device specific drivers. | |
| config MDIO_BUS_MUX_BCM_IPROC | |
| tristate "Broadcom iProc based MDIO bus multiplexers" | |
| depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST) | |
| select MDIO_BUS_MUX | |
| default ARCH_BCM_IPROC | |
| help | |
| This module provides a driver for MDIO bus multiplexers found in | |
| iProc based Broadcom SoCs. This multiplexer connects one of several | |
| child MDIO bus to a parent bus. Buses could be internal as well as | |
| external and selection logic lies inside the same multiplexer. | |
| config MDIO_BUS_MUX_GPIO | |
| tristate "GPIO controlled MDIO bus multiplexers" | |
| depends on OF_GPIO && OF_MDIO | |
| select MDIO_BUS_MUX | |
| help | |
| This module provides a driver for MDIO bus multiplexers that | |
| are controlled via GPIO lines. The multiplexer connects one of | |
| several child MDIO busses to a parent bus. Child bus | |
| selection is under the control of GPIO lines. | |
| config MDIO_BUS_MUX_MESON_G12A | |
| tristate "Amlogic G12a based MDIO bus multiplexer" | |
| depends on ARCH_MESON || COMPILE_TEST | |
| depends on OF_MDIO && HAS_IOMEM && COMMON_CLK | |
| select MDIO_BUS_MUX | |
| default m if ARCH_MESON | |
| help | |
| This module provides a driver for the MDIO multiplexer/glue of | |
| the amlogic g12a SoC. The multiplexers connects either the external | |
| or the internal MDIO bus to the parent bus. | |
| config MDIO_BUS_MUX_MMIOREG | |
| tristate "MMIO device-controlled MDIO bus multiplexers" | |
| depends on OF_MDIO && HAS_IOMEM | |
| select MDIO_BUS_MUX | |
| help | |
| This module provides a driver for MDIO bus multiplexers that | |
| are controlled via a simple memory-mapped device, like an FPGA. | |
| The multiplexer connects one of several child MDIO busses to a | |
| parent bus. Child bus selection is under the control of one of | |
| the FPGA's registers. | |
| Currently, only 8/16/32 bits registers are supported. | |
| config MDIO_BUS_MUX_MULTIPLEXER | |
| tristate "MDIO bus multiplexer using kernel multiplexer subsystem" | |
| depends on OF_MDIO | |
| select MULTIPLEXER | |
| select MDIO_BUS_MUX | |
| help | |
| This module provides a driver for MDIO bus multiplexer | |
| that is controlled via the kernel multiplexer subsystem. The | |
| bus multiplexer connects one of several child MDIO busses to | |
| a parent bus. Child bus selection is under the control of | |
| the kernel multiplexer subsystem. | |
| config MDIO_CAVIUM | |
| tristate | |
| config MDIO_GPIO | |
| tristate "GPIO lib-based bitbanged MDIO buses" | |
| depends on MDIO_BITBANG | |
| depends on GPIOLIB || COMPILE_TEST | |
| ---help--- | |
| Supports GPIO lib-based MDIO busses. | |
| To compile this driver as a module, choose M here: the module | |
| will be called mdio-gpio. | |
| config MDIO_HISI_FEMAC | |
| tristate "Hisilicon FEMAC MDIO bus controller" | |
| depends on HAS_IOMEM && OF_MDIO | |
| help | |
| This module provides a driver for the MDIO busses found in the | |
| Hisilicon SoC that have an Fast Ethernet MAC. | |
| config MDIO_I2C | |
| tristate | |
| depends on I2C | |
| help | |
| Support I2C based PHYs. This provides a MDIO bus bridged | |
| to I2C to allow PHYs connected in I2C mode to be accessed | |
| using the existing infrastructure. | |
| This is library mode. | |
| config MDIO_MOXART | |
| tristate "MOXA ART MDIO interface support" | |
| depends on ARCH_MOXART || COMPILE_TEST | |
| help | |
| This driver supports the MDIO interface found in the network | |
| interface units of the MOXA ART SoC | |
| config MDIO_MSCC_MIIM | |
| tristate "Microsemi MIIM interface support" | |
| depends on HAS_IOMEM | |
| help | |
| This driver supports the MIIM (MDIO) interface found in the network | |
| switches of the Microsemi SoCs | |
| config MDIO_OCTEON | |
| tristate "Octeon and some ThunderX SOCs MDIO buses" | |
| depends on 64BIT | |
| depends on HAS_IOMEM && OF_MDIO | |
| select MDIO_CAVIUM | |
| help | |
| This module provides a driver for the Octeon and ThunderX MDIO | |
| buses. It is required by the Octeon and ThunderX ethernet device | |
| drivers on some systems. | |
| config MDIO_SUN4I | |
| tristate "Allwinner sun4i MDIO interface support" | |
| depends on ARCH_SUNXI || COMPILE_TEST | |
| help | |
| This driver supports the MDIO interface found in the network | |
| interface units of the Allwinner SoC that have an EMAC (A10, | |
| A12, A10s, etc.) | |
| config MDIO_THUNDER | |
| tristate "ThunderX SOCs MDIO buses" | |
| depends on 64BIT | |
| depends on PCI | |
| select MDIO_CAVIUM | |
| help | |
| This driver supports the MDIO interfaces found on Cavium | |
| ThunderX SoCs when the MDIO bus device appears as a PCI | |
| device. | |
| config MDIO_XGENE | |
| tristate "APM X-Gene SoC MDIO bus controller" | |
| depends on ARCH_XGENE || COMPILE_TEST | |
| help | |
| This module provides a driver for the MDIO busses found in the | |
| APM X-Gene SoC's. | |
| endif | |
| endif | |
| config PHYLINK | |
| tristate | |
| depends on NETDEVICES | |
| select PHYLIB | |
| select SWPHY | |
| help | |
| PHYlink models the link between the PHY and MAC, allowing fixed | |
| configuration links, PHYs, and Serdes links with MAC level | |
| autonegotiation modes. | |
| menuconfig PHYLIB | |
| tristate "PHY Device support and infrastructure" | |
| depends on NETDEVICES | |
| select MDIO_DEVICE | |
| help | |
| Ethernet controllers are usually attached to PHY | |
| devices. This option provides infrastructure for | |
| managing PHY devices. | |
| if PHYLIB | |
| config SWPHY | |
| bool | |
| config LED_TRIGGER_PHY | |
| bool "Support LED triggers for tracking link state" | |
| depends on LEDS_TRIGGERS | |
| ---help--- | |
| Adds support for a set of LED trigger events per-PHY. Link | |
| state change will trigger the events, for consumption by an | |
| LED class driver. There are triggers for each link speed currently | |
| supported by the PHY and also a one common "link" trigger as a | |
| logical-or of all the link speed ones. | |
| All these triggers are named according to the following pattern: | |
| <mii bus id>:<phy>:<speed> | |
| Where speed is in the form: | |
| <Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link | |
| for any speed known to the PHY. | |
| comment "MII PHY device drivers" | |
| config SFP | |
| tristate "SFP cage support" | |
| depends on I2C && PHYLINK | |
| depends on HWMON || HWMON=n | |
| select MDIO_I2C | |
| config AMD_PHY | |
| tristate "AMD PHYs" | |
| ---help--- | |
| Currently supports the am79c874 | |
| config AQUANTIA_PHY | |
| tristate "Aquantia PHYs" | |
| ---help--- | |
| Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405 | |
| config AX88796B_PHY | |
| tristate "Asix PHYs" | |
| help | |
| Currently supports the Asix Electronics PHY found in the X-Surf 100 | |
| AX88796B package. | |
| config AT803X_PHY | |
| tristate "AT803X PHYs" | |
| ---help--- | |
| Currently supports the AT8030 and AT8035 model | |
| config BCM63XX_PHY | |
| tristate "Broadcom 63xx SOCs internal PHY" | |
| depends on BCM63XX || COMPILE_TEST | |
| select BCM_NET_PHYLIB | |
| ---help--- | |
| Currently supports the 6348 and 6358 PHYs. | |
| config BCM7XXX_PHY | |
| tristate "Broadcom 7xxx SOCs internal PHYs" | |
| select BCM_NET_PHYLIB | |
| ---help--- | |
| Currently supports the BCM7366, BCM7439, BCM7445, and | |
| 40nm and 65nm generation of BCM7xxx Set Top Box SoCs. | |
| config BCM87XX_PHY | |
| tristate "Broadcom BCM8706 and BCM8727 PHYs" | |
| help | |
| Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs. | |
| config BCM_CYGNUS_PHY | |
| tristate "Broadcom Cygnus/Omega SoC internal PHY" | |
| depends on ARCH_BCM_IPROC || COMPILE_TEST | |
| depends on MDIO_BCM_IPROC | |
| select BCM_NET_PHYLIB | |
| ---help--- | |
| This PHY driver is for the 1G internal PHYs of the Broadcom | |
| Cygnus and Omega Family SoC. | |
| Currently supports internal PHY's used in the BCM11300, | |
| BCM11320, BCM11350, BCM11360, BCM58300, BCM58302, | |
| BCM58303 & BCM58305 Broadcom Cygnus SoCs. | |
| config BCM_NET_PHYLIB | |
| tristate | |
| config BROADCOM_PHY | |
| tristate "Broadcom PHYs" | |
| select BCM_NET_PHYLIB | |
| ---help--- | |
| Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464, | |
| BCM5481, BCM54810 and BCM5482 PHYs. | |
| config CICADA_PHY | |
| tristate "Cicada PHYs" | |
| ---help--- | |
| Currently supports the cis8204 | |
| config CORTINA_PHY | |
| tristate "Cortina EDC CDR 10G Ethernet PHY" | |
| ---help--- | |
| Currently supports the CS4340 phy. | |
| config DAVICOM_PHY | |
| tristate "Davicom PHYs" | |
| ---help--- | |
| Currently supports dm9161e and dm9131 | |
| config DP83822_PHY | |
| tristate "Texas Instruments DP83822 PHY" | |
| ---help--- | |
| Supports the DP83822 PHY. | |
| config DP83TC811_PHY | |
| tristate "Texas Instruments DP83TC822 PHY" | |
| ---help--- | |
| Supports the DP83TC822 PHY. | |
| config DP83848_PHY | |
| tristate "Texas Instruments DP83848 PHY" | |
| ---help--- | |
| Supports the DP83848 PHY. | |
| config DP83867_PHY | |
| tristate "Texas Instruments DP83867 Gigabit PHY" | |
| ---help--- | |
| Currently supports the DP83867 PHY. | |
| config FIXED_PHY | |
| tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs" | |
| depends on PHYLIB | |
| select SWPHY | |
| ---help--- | |
| Adds the platform "fixed" MDIO Bus to cover the boards that use | |
| PHYs that are not connected to the real MDIO bus. | |
| Currently tested with mpc866ads and mpc8349e-mitx. | |
| config ICPLUS_PHY | |
| tristate "ICPlus PHYs" | |
| ---help--- | |
| Currently supports the IP175C and IP1001 PHYs. | |
| config INTEL_XWAY_PHY | |
| tristate "Intel XWAY PHYs" | |
| ---help--- | |
| Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs. | |
| These PHYs are marked as standalone chips under the names | |
| PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel | |
| SoCs xRX200, xRX300, xRX330, xRX350 and xRX550. | |
| config LSI_ET1011C_PHY | |
| tristate "LSI ET1011C PHY" | |
| ---help--- | |
| Supports the LSI ET1011C PHY. | |
| config LXT_PHY | |
| tristate "Intel LXT PHYs" | |
| ---help--- | |
| Currently supports the lxt970, lxt971 | |
| config MARVELL_PHY | |
| tristate "Marvell PHYs" | |
| ---help--- | |
| Currently has a driver for the 88E1011S | |
| config MARVELL_10G_PHY | |
| tristate "Marvell Alaska 10Gbit PHYs" | |
| ---help--- | |
| Support for the Marvell Alaska MV88X3310 and compatible PHYs. | |
| config MESON_GXL_PHY | |
| tristate "Amlogic Meson GXL Internal PHY" | |
| depends on ARCH_MESON || COMPILE_TEST | |
| ---help--- | |
| Currently has a driver for the Amlogic Meson GXL Internal PHY | |
| config MICREL_PHY | |
| tristate "Micrel PHYs" | |
| ---help--- | |
| Supports the KSZ9021, VSC8201, KS8001 PHYs. | |
| config MICROCHIP_PHY | |
| tristate "Microchip PHYs" | |
| help | |
| Supports the LAN88XX PHYs. | |
| config MICROCHIP_T1_PHY | |
| tristate "Microchip T1 PHYs" | |
| ---help--- | |
| Supports the LAN87XX PHYs. | |
| config MICROSEMI_PHY | |
| tristate "Microsemi PHYs" | |
| ---help--- | |
| Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs | |
| config NATIONAL_PHY | |
| tristate "National Semiconductor PHYs" | |
| ---help--- | |
| Currently supports the DP83865 PHY. | |
| config NXP_TJA11XX_PHY | |
| tristate "NXP TJA11xx PHYs support" | |
| depends on HWMON | |
| ---help--- | |
| Currently supports the NXP TJA1100 and TJA1101 PHY. | |
| config QSEMI_PHY | |
| tristate "Quality Semiconductor PHYs" | |
| ---help--- | |
| Currently supports the qs6612 | |
| config REALTEK_PHY | |
| tristate "Realtek PHYs" | |
| ---help--- | |
| Supports the Realtek 821x PHY. | |
| config RENESAS_PHY | |
| tristate "Driver for Renesas PHYs" | |
| ---help--- | |
| Supports the Renesas PHYs uPD60620 and uPD60620A. | |
| config ROCKCHIP_PHY | |
| tristate "Driver for Rockchip Ethernet PHYs" | |
| ---help--- | |
| Currently supports the integrated Ethernet PHY. | |
| config SMSC_PHY | |
| tristate "SMSC PHYs" | |
| ---help--- | |
| Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs | |
| config STE10XP | |
| tristate "STMicroelectronics STe10Xp PHYs" | |
| ---help--- | |
| This is the driver for the STe100p and STe101p PHYs. | |
| config TERANETICS_PHY | |
| tristate "Teranetics PHYs" | |
| ---help--- | |
| Currently supports the Teranetics TN2020 | |
| config VITESSE_PHY | |
| tristate "Vitesse PHYs" | |
| ---help--- | |
| Currently supports the vsc8244 | |
| config XILINX_GMII2RGMII | |
| tristate "Xilinx GMII2RGMII converter driver" | |
| ---help--- | |
| This driver support xilinx GMII to RGMII IP core it provides | |
| the Reduced Gigabit Media Independent Interface(RGMII) between | |
| Ethernet physical media devices and the Gigabit Ethernet controller. | |
| endif # PHYLIB | |
| config MICREL_KS8995MA | |
| tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch" | |
| depends on SPI |