| # SPDX-License-Identifier: GPL-2.0-only | 
 | # | 
 | # PHY Layer Configuration | 
 | # | 
 |  | 
 | config PHYLINK | 
 | 	tristate | 
 | 	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" | 
 | 	select MDIO_BUS | 
 | 	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 AS21XXX_PHY | 
 | 	tristate "Aeonsemi AS21xxx PHYs" | 
 | 	help | 
 | 	  Currently supports the Aeonsemi AS21xxx PHY. | 
 |  | 
 | 	  These are C45 PHYs 10G that require all a generic firmware. | 
 |  | 
 | 	  Supported PHYs AS21011JB1, AS21011PB1, AS21010JB1, AS21010PB1, | 
 | 	  AS21511JB1, AS21511PB1, AS21510JB1, AS21510PB1, AS21210JB1, | 
 | 	  AS21210PB1 that all register with the PHY ID 0x7500 0x7500 | 
 | 	  before the firmware is loaded. | 
 |  | 
 | 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 MAXLINEAR_86110_PHY | 
 | 	tristate "MaxLinear MXL86110 PHY support" | 
 | 	help | 
 | 	 Support for the MaxLinear MXL86110 Gigabit Ethernet | 
 | 	 Physical Layer transceiver. | 
 | 	 The MXL86110 is commonly used in networking equipment such as | 
 | 	 routers, switches, and embedded systems, providing the | 
 | 	 physical interface for 10/100/1000 Mbps Ethernet connections | 
 | 	 over copper media. | 
 | 	 If you are using a board with the MXL86110 PHY connected to your | 
 | 	 Ethernet MAC, you should enable this option. | 
 |  | 
 | source "drivers/net/phy/mediatek/Kconfig" | 
 |  | 
 | 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/C1/C2 and | 
 | 	  LAN8650/1 Rev.B0/B1 Internal PHYs. | 
 |  | 
 | config MICROCHIP_PHY | 
 | 	tristate "Microchip PHYs" | 
 | 	help | 
 | 	  Supports the LAN88XX PHYs. | 
 |  | 
 | config MICROCHIP_T1_PHY | 
 | 	tristate "Microchip T1 PHYs" | 
 | 	select MICROCHIP_PHY_RDS_PTP if NETWORK_PHY_TIMESTAMPING | 
 | 	depends on PTP_1588_CLOCK_OPTIONAL | 
 | 	help | 
 | 	  Supports the LAN8XXX PHYs. | 
 |  | 
 | config MICROCHIP_PHY_RDS_PTP | 
 | 	tristate | 
 | 	help | 
 | 	  Currently supports LAN887X T1 PHY | 
 |  | 
 | 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, TJA1120 and TJA1121 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 | 
 |  | 
 | source "drivers/net/phy/realtek/Kconfig" | 
 |  | 
 | 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 |