# SPDX-License-Identifier: GPL-2.0-only
#
# PHY Layer Configuration
#
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
select MDIO_DEVRES
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.
config OPEN_ALLIANCE_HELPERS
bool
config PHYLIB_LEDS
def_bool OF
depends on LEDS_CLASS=y || LEDS_CLASS=PHYLIB
help
When LED class support is enabled, phylib can automatically
probe LED setting from device tree.
config FIXED_PHY
tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
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 RUST_PHYLIB_ABSTRACTIONS
bool "Rust PHYLIB abstractions support"
depends on RUST
depends on PHYLIB=y
help
Adds support needed for PHY drivers written in Rust. It provides
a wrapper around the C phylib core.
config SFP
tristate "SFP cage support"
depends on I2C && PHYLINK
depends on HWMON || HWMON=n
select MDIO_I2C
comment "MII PHY device drivers"
config AIR_EN8811H_PHY
tristate "Airoha EN8811H 2.5 Gigabit PHY"
help
Currently supports the Airoha EN8811H PHY.
config AMD_PHY
tristate "AMD and Altima PHYs"
help
Currently supports the AMD am79c874 and Altima AC101L.
config MESON_GXL_PHY
tristate "Amlogic Meson GXL Internal PHY"
depends on ARCH_MESON || COMPILE_TEST
select SMSC_PHY
help
Currently has a driver for the Amlogic Meson GXL Internal PHY
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 ADIN1100_PHY
tristate "Analog Devices Industrial Ethernet T1L PHYs"
help
Adds support for the Analog Devices Industrial T1L Ethernet PHYs.
Currently supports the:
- ADIN1100 - Robust,Industrial, Low Power 10BASE-T1L Ethernet PHY
config AMCC_QT2025_PHY
tristate "AMCC QT2025 PHY"
depends on RUST_PHYLIB_ABSTRACTIONS
depends on RUST_FW_LOADER_ABSTRACTIONS
help
Adds support for the Applied Micro Circuits Corporation QT2025 PHY.
source "drivers/net/phy/aquantia/Kconfig"
config AX88796B_PHY
tristate "Asix PHYs"
help
Currently supports the Asix Electronics PHY found in the X-Surf 100
AX88796B package.
config AX88796B_RUST_PHY
bool "Rust reference driver for Asix PHYs"
depends on RUST_PHYLIB_ABSTRACTIONS && AX88796B_PHY
help
Uses the Rust reference driver for Asix PHYs (ax88796b_rust.ko).
The features are equivalent. It supports the Asix Electronics PHY
found in the X-Surf 100 AX88796B package.
config BROADCOM_PHY
tristate "Broadcom 54XX PHYs"
select BCM_NET_PHYLIB
select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING
depends on PTP_1588_CLOCK_OPTIONAL
help
Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
BCM5481, BCM54810 and BCM5482 PHYs.
config BCM54140_PHY
tristate "Broadcom BCM54140 PHY"
depends on HWMON || HWMON=n
select BCM_NET_PHYLIB
help
Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.
This driver also supports the hardware monitoring of this PHY and
exposes voltage and temperature sensors.
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 BCM84881_PHY
tristate "Broadcom BCM84881 PHY"
help
Support the Broadcom BCM84881 PHY.
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 BCM_NET_PHYPTP
tristate
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 ICPLUS_PHY
tristate "ICPlus PHYs"
help
Currently supports the IP175C and IP1001 PHYs.
config LXT_PHY
tristate "Intel LXT PHYs"
help
Currently supports the lxt970, lxt971
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 MARVELL_PHY
tristate "Marvell Alaska PHYs"
help
Currently has a driver for the 88E1XXX
config MARVELL_10G_PHY
tristate "Marvell Alaska 10Gbit PHYs"
help
Support for the Marvell Alaska MV88X3310 and compatible PHYs.
config MARVELL_88Q2XXX_PHY
tristate "Marvell 88Q2XXX PHY"
depends on HWMON || HWMON=n
help
Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet
PHYs.
config MARVELL_88X2222_PHY
tristate "Marvell 88X2222 PHY"
help
Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet
Transceiver.
config MAXLINEAR_GPHY
tristate "Maxlinear Ethernet PHYs"
select POLYNOMIAL if HWMON
depends on HWMON || HWMON=n
help
Support for the Maxlinear GPY115, GPY211, GPY212, GPY215,
GPY241, GPY245 PHYs.
config MEDIATEK_GE_PHY
tristate "MediaTek Gigabit Ethernet PHYs"
help
Supports the MediaTek Gigabit Ethernet PHYs.
config MEDIATEK_GE_SOC_PHY
tristate "MediaTek SoC Ethernet PHYs"
depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST
depends on NVMEM_MTK_EFUSE
help
Supports MediaTek SoC built-in Gigabit Ethernet PHYs.
Include support for built-in Ethernet PHYs which are present in
the MT7981 and MT7988 SoCs. These PHYs need calibration data
present in the SoCs efuse and will dynamically calibrate VCM
(common-mode voltage) during startup.
config MICREL_PHY
tristate "Micrel PHYs"
depends on PTP_1588_CLOCK_OPTIONAL
help
Supports the KSZ9021, VSC8201, KS8001 PHYs.
config MICROCHIP_T1S_PHY
tristate "Microchip 10BASE-T1S Ethernet PHYs"
help
Currently supports the LAN8670/1/2 Rev.B1 and LAN8650/1 Rev.B0 Internal
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
depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING
select CRYPTO_LIB_AES if MACSEC
help
Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
config MOTORCOMM_PHY
tristate "Motorcomm PHYs"
help
Enables support for Motorcomm network PHYs.
Currently supports YT85xx Gigabit Ethernet PHYs.
config NATIONAL_PHY
tristate "National Semiconductor PHYs"
help
Currently supports the DP83865 PHY.
config NXP_CBTX_PHY
tristate "NXP 100BASE-TX PHYs"
help
Support the 100BASE-TX PHY integrated on the SJA1110 automotive
switch family.
config NXP_C45_TJA11XX_PHY
tristate "NXP C45 TJA11XX PHYs"
depends on PTP_1588_CLOCK_OPTIONAL
depends on MACSEC || !MACSEC
help
Enable support for NXP C45 TJA11XX PHYs.
Currently supports the TJA1103, TJA1104 and TJA1120 PHYs.
config NXP_TJA11XX_PHY
tristate "NXP TJA11xx PHYs support"
depends on HWMON
help
Currently supports the NXP TJA1100 and TJA1101 PHY.
config NCN26000_PHY
tristate "Onsemi 10BASE-T1S Ethernet PHY"
help
Adds support for the onsemi 10BASE-T1S Ethernet PHY.
Currently supports the NCN26000 10BASE-T1S Industrial PHY
with MII interface.
source "drivers/net/phy/qcom/Kconfig"
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 "Renesas PHYs"
help
Supports the Renesas PHYs uPD60620 and uPD60620A.
config ROCKCHIP_PHY
tristate "Rockchip Ethernet PHYs"
help
Currently supports the integrated Ethernet PHY.
config SMSC_PHY
tristate "SMSC PHYs"
select CRC16
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 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 DP83TD510_PHY
tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY"
help
Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports
a 10M single pair Ethernet connection for up to 1000 meter cable.
config DP83TG720_PHY
tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY"
select OPEN_ALLIANCE_HELPERS
help
The DP83TG720S-Q1 is an automotive Ethernet physical layer
transceiver compliant with IEEE 802.3bp and Open Alliance
standards. It supports key functions necessary for
transmitting and receiving data over both unshielded and
shielded single twisted-pair cables. This device offers
flexible xMII interface options, including support for both
RGMII and SGMII MAC interfaces. It's suitable for applications
requiring high-speed data transmission in automotive
networking environments.
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