mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
fcb26bd2b6
Synopsys DesignWare XPCS is an MMD that can manage link status, auto-negotiation, link training, ... In this commit we add basic support for XPCS using USXGMII interface and Clause 73 Auto-negotiation. This is highly tied with PHYLINK and can't be used without it. A given ethernet driver can use the provided callbacks to add the support for XPCS. Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com> Signed-off-by: David S. Miller <davem@davemloft.net>
531 lines
14 KiB
Plaintext
531 lines
14 KiB
Plaintext
# 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_ASPEED
|
|
tristate "ASPEED MDIO bus controller"
|
|
depends on ARCH_ASPEED || COMPILE_TEST
|
|
depends on OF_MDIO && HAS_IOMEM
|
|
help
|
|
This module provides a driver for the independent MDIO bus
|
|
controllers found in the ASPEED AST2600 SoC. This is a driver for the
|
|
third revision of the ASPEED MDIO register interface - the first two
|
|
revisions are the "old" and "new" interfaces found in the AST2400 and
|
|
AST2500, embedded in the MAC. For legacy reasons, FTGMAC100 driver
|
|
continues to drive the embedded MDIO controller for the AST2400 and
|
|
AST2500 SoCs, so say N if AST2600 support is not required.
|
|
|
|
config MDIO_BCM_IPROC
|
|
tristate "Broadcom iProc MDIO bus controller"
|
|
depends on ARCH_BCM_IPROC || COMPILE_TEST
|
|
depends on HAS_IOMEM && OF_MDIO
|
|
default ARCH_BCM_IPROC
|
|
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_IPQ8064
|
|
tristate "Qualcomm IPQ8064 MDIO interface support"
|
|
depends on HAS_IOMEM && OF_MDIO
|
|
depends on MFD_SYSCON
|
|
help
|
|
This driver supports the MDIO interface found in the network
|
|
interface units of the IPQ8064 SoC
|
|
|
|
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 && OF_MDIO) || COMPILE_TEST
|
|
depends on HAS_IOMEM
|
|
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.
|
|
|
|
config MDIO_XPCS
|
|
tristate "Synopsys DesignWare XPCS controller"
|
|
help
|
|
This module provides helper functions for Synopsys DesignWare XPCS
|
|
controllers.
|
|
|
|
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 ADIN_PHY
|
|
tristate "Analog Devices Industrial Ethernet PHYs"
|
|
help
|
|
Adds support for the Analog Devices Industrial Ethernet PHYs.
|
|
Currently supports the:
|
|
- ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY
|
|
- ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit
|
|
Ethernet PHY
|
|
|
|
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 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 BCM84881_PHY
|
|
tristate "Broadcom BCM84881 PHY"
|
|
depends on PHYLIB
|
|
---help---
|
|
Support the Broadcom BCM84881 PHY.
|
|
|
|
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/825/826 PHYs"
|
|
---help---
|
|
Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,
|
|
DP83826C and DP83826NC PHYs.
|
|
|
|
config DP83TC811_PHY
|
|
tristate "Texas Instruments DP83TC811 PHY"
|
|
---help---
|
|
Supports the DP83TC811 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 DP83869_PHY
|
|
tristate "Texas Instruments DP83869 Gigabit PHY"
|
|
---help---
|
|
Currently supports the DP83869 PHY. This PHY supports copper and
|
|
fiber connections.
|
|
|
|
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"
|
|
depends on MACSEC || MACSEC=n
|
|
select CRYPTO_AES
|
|
select CRYPTO_ECB
|
|
---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 AT803X_PHY
|
|
tristate "Qualcomm Atheros AR803X PHYs"
|
|
depends on REGULATOR
|
|
help
|
|
Currently supports the AR8030, AR8031, AR8033 and AR8035 model
|
|
|
|
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
|