xref: /kernel/linux/linux-5.10/drivers/net/phy/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# PHY Layer Configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig PHYLINK
78c2ecf20Sopenharmony_ci	tristate
88c2ecf20Sopenharmony_ci	depends on NETDEVICES
98c2ecf20Sopenharmony_ci	select PHYLIB
108c2ecf20Sopenharmony_ci	select SWPHY
118c2ecf20Sopenharmony_ci	help
128c2ecf20Sopenharmony_ci	  PHYlink models the link between the PHY and MAC, allowing fixed
138c2ecf20Sopenharmony_ci	  configuration links, PHYs, and Serdes links with MAC level
148c2ecf20Sopenharmony_ci	  autonegotiation modes.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_cimenuconfig PHYLIB
178c2ecf20Sopenharmony_ci	tristate "PHY Device support and infrastructure"
188c2ecf20Sopenharmony_ci	depends on NETDEVICES
198c2ecf20Sopenharmony_ci	select MDIO_DEVICE
208c2ecf20Sopenharmony_ci	select MDIO_DEVRES
218c2ecf20Sopenharmony_ci	help
228c2ecf20Sopenharmony_ci	  Ethernet controllers are usually attached to PHY
238c2ecf20Sopenharmony_ci	  devices.  This option provides infrastructure for
248c2ecf20Sopenharmony_ci	  managing PHY devices.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciif PHYLIB
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciconfig SWPHY
298c2ecf20Sopenharmony_ci	bool
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciconfig LED_TRIGGER_PHY
328c2ecf20Sopenharmony_ci	bool "Support LED triggers for tracking link state"
338c2ecf20Sopenharmony_ci	depends on LEDS_TRIGGERS
348c2ecf20Sopenharmony_ci	help
358c2ecf20Sopenharmony_ci	  Adds support for a set of LED trigger events per-PHY.  Link
368c2ecf20Sopenharmony_ci	  state change will trigger the events, for consumption by an
378c2ecf20Sopenharmony_ci	  LED class driver.  There are triggers for each link speed currently
388c2ecf20Sopenharmony_ci	  supported by the PHY and also a one common "link" trigger as a
398c2ecf20Sopenharmony_ci	  logical-or of all the link speed ones.
408c2ecf20Sopenharmony_ci	  All these triggers are named according to the following pattern:
418c2ecf20Sopenharmony_ci	      <mii bus id>:<phy>:<speed>
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci	  Where speed is in the form:
448c2ecf20Sopenharmony_ci		<Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link
458c2ecf20Sopenharmony_ci		for any speed known to the PHY.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ciconfig FIXED_PHY
498c2ecf20Sopenharmony_ci	tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
508c2ecf20Sopenharmony_ci	depends on PHYLIB
518c2ecf20Sopenharmony_ci	select SWPHY
528c2ecf20Sopenharmony_ci	help
538c2ecf20Sopenharmony_ci	  Adds the platform "fixed" MDIO Bus to cover the boards that use
548c2ecf20Sopenharmony_ci	  PHYs that are not connected to the real MDIO bus.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	  Currently tested with mpc866ads and mpc8349e-mitx.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ciconfig SFP
598c2ecf20Sopenharmony_ci	tristate "SFP cage support"
608c2ecf20Sopenharmony_ci	depends on I2C && PHYLINK
618c2ecf20Sopenharmony_ci	depends on HWMON || HWMON=n
628c2ecf20Sopenharmony_ci	select MDIO_I2C
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_cicomment "MII PHY device drivers"
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciconfig AMD_PHY
678c2ecf20Sopenharmony_ci	tristate "AMD PHYs"
688c2ecf20Sopenharmony_ci	help
698c2ecf20Sopenharmony_ci	  Currently supports the am79c874
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ciconfig MESON_GXL_PHY
728c2ecf20Sopenharmony_ci	tristate "Amlogic Meson GXL Internal PHY"
738c2ecf20Sopenharmony_ci	depends on ARCH_MESON || COMPILE_TEST
748c2ecf20Sopenharmony_ci	help
758c2ecf20Sopenharmony_ci	  Currently has a driver for the Amlogic Meson GXL Internal PHY
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciconfig ADIN_PHY
788c2ecf20Sopenharmony_ci	tristate "Analog Devices Industrial Ethernet PHYs"
798c2ecf20Sopenharmony_ci	help
808c2ecf20Sopenharmony_ci	  Adds support for the Analog Devices Industrial Ethernet PHYs.
818c2ecf20Sopenharmony_ci	  Currently supports the:
828c2ecf20Sopenharmony_ci	  - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY
838c2ecf20Sopenharmony_ci	  - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit
848c2ecf20Sopenharmony_ci	    Ethernet PHY
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ciconfig AQUANTIA_PHY
878c2ecf20Sopenharmony_ci	tristate "Aquantia PHYs"
888c2ecf20Sopenharmony_ci	help
898c2ecf20Sopenharmony_ci	  Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ciconfig AX88796B_PHY
928c2ecf20Sopenharmony_ci	tristate "Asix PHYs"
938c2ecf20Sopenharmony_ci	help
948c2ecf20Sopenharmony_ci	  Currently supports the Asix Electronics PHY found in the X-Surf 100
958c2ecf20Sopenharmony_ci	  AX88796B package.
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciconfig BROADCOM_PHY
988c2ecf20Sopenharmony_ci	tristate "Broadcom 54XX PHYs"
998c2ecf20Sopenharmony_ci	select BCM_NET_PHYLIB
1008c2ecf20Sopenharmony_ci	help
1018c2ecf20Sopenharmony_ci	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
1028c2ecf20Sopenharmony_ci	  BCM5481, BCM54810 and BCM5482 PHYs.
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ciconfig BCM54140_PHY
1058c2ecf20Sopenharmony_ci	tristate "Broadcom BCM54140 PHY"
1068c2ecf20Sopenharmony_ci	depends on PHYLIB
1078c2ecf20Sopenharmony_ci	depends on HWMON || HWMON=n
1088c2ecf20Sopenharmony_ci	select BCM_NET_PHYLIB
1098c2ecf20Sopenharmony_ci	help
1108c2ecf20Sopenharmony_ci	  Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci	  This driver also supports the hardware monitoring of this PHY and
1138c2ecf20Sopenharmony_ci	  exposes voltage and temperature sensors.
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ciconfig BCM63XX_PHY
1168c2ecf20Sopenharmony_ci	tristate "Broadcom 63xx SOCs internal PHY"
1178c2ecf20Sopenharmony_ci	depends on BCM63XX || COMPILE_TEST
1188c2ecf20Sopenharmony_ci	select BCM_NET_PHYLIB
1198c2ecf20Sopenharmony_ci	help
1208c2ecf20Sopenharmony_ci	  Currently supports the 6348 and 6358 PHYs.
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ciconfig BCM7XXX_PHY
1238c2ecf20Sopenharmony_ci	tristate "Broadcom 7xxx SOCs internal PHYs"
1248c2ecf20Sopenharmony_ci	select BCM_NET_PHYLIB
1258c2ecf20Sopenharmony_ci	help
1268c2ecf20Sopenharmony_ci	  Currently supports the BCM7366, BCM7439, BCM7445, and
1278c2ecf20Sopenharmony_ci	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ciconfig BCM84881_PHY
1308c2ecf20Sopenharmony_ci	tristate "Broadcom BCM84881 PHY"
1318c2ecf20Sopenharmony_ci	depends on PHYLIB
1328c2ecf20Sopenharmony_ci	help
1338c2ecf20Sopenharmony_ci	  Support the Broadcom BCM84881 PHY.
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ciconfig BCM87XX_PHY
1368c2ecf20Sopenharmony_ci	tristate "Broadcom BCM8706 and BCM8727 PHYs"
1378c2ecf20Sopenharmony_ci	help
1388c2ecf20Sopenharmony_ci	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ciconfig BCM_CYGNUS_PHY
1418c2ecf20Sopenharmony_ci	tristate "Broadcom Cygnus/Omega SoC internal PHY"
1428c2ecf20Sopenharmony_ci	depends on ARCH_BCM_IPROC || COMPILE_TEST
1438c2ecf20Sopenharmony_ci	depends on MDIO_BCM_IPROC
1448c2ecf20Sopenharmony_ci	select BCM_NET_PHYLIB
1458c2ecf20Sopenharmony_ci	help
1468c2ecf20Sopenharmony_ci	  This PHY driver is for the 1G internal PHYs of the Broadcom
1478c2ecf20Sopenharmony_ci	  Cygnus and Omega Family SoC.
1488c2ecf20Sopenharmony_ci
1498c2ecf20Sopenharmony_ci	  Currently supports internal PHY's used in the BCM11300,
1508c2ecf20Sopenharmony_ci	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
1518c2ecf20Sopenharmony_ci	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ciconfig BCM_NET_PHYLIB
1548c2ecf20Sopenharmony_ci	tristate
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ciconfig CICADA_PHY
1578c2ecf20Sopenharmony_ci	tristate "Cicada PHYs"
1588c2ecf20Sopenharmony_ci	help
1598c2ecf20Sopenharmony_ci	  Currently supports the cis8204
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ciconfig CORTINA_PHY
1628c2ecf20Sopenharmony_ci	tristate "Cortina EDC CDR 10G Ethernet PHY"
1638c2ecf20Sopenharmony_ci	help
1648c2ecf20Sopenharmony_ci	  Currently supports the CS4340 phy.
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ciconfig DAVICOM_PHY
1678c2ecf20Sopenharmony_ci	tristate "Davicom PHYs"
1688c2ecf20Sopenharmony_ci	help
1698c2ecf20Sopenharmony_ci	  Currently supports dm9161e and dm9131
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ciconfig ICPLUS_PHY
1728c2ecf20Sopenharmony_ci	tristate "ICPlus PHYs"
1738c2ecf20Sopenharmony_ci	help
1748c2ecf20Sopenharmony_ci	  Currently supports the IP175C and IP1001 PHYs.
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ciconfig LXT_PHY
1778c2ecf20Sopenharmony_ci	tristate "Intel LXT PHYs"
1788c2ecf20Sopenharmony_ci	help
1798c2ecf20Sopenharmony_ci	  Currently supports the lxt970, lxt971
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ciconfig INTEL_XWAY_PHY
1828c2ecf20Sopenharmony_ci	tristate "Intel XWAY PHYs"
1838c2ecf20Sopenharmony_ci	help
1848c2ecf20Sopenharmony_ci	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
1858c2ecf20Sopenharmony_ci	  These PHYs are marked as standalone chips under the names
1868c2ecf20Sopenharmony_ci	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
1878c2ecf20Sopenharmony_ci	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ciconfig LSI_ET1011C_PHY
1908c2ecf20Sopenharmony_ci	tristate "LSI ET1011C PHY"
1918c2ecf20Sopenharmony_ci	help
1928c2ecf20Sopenharmony_ci	  Supports the LSI ET1011C PHY.
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ciconfig MARVELL_PHY
1958c2ecf20Sopenharmony_ci	tristate "Marvell Alaska PHYs"
1968c2ecf20Sopenharmony_ci	help
1978c2ecf20Sopenharmony_ci	  Currently has a driver for the 88E1XXX
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_ciconfig MARVELL_10G_PHY
2008c2ecf20Sopenharmony_ci	tristate "Marvell Alaska 10Gbit PHYs"
2018c2ecf20Sopenharmony_ci	help
2028c2ecf20Sopenharmony_ci	  Support for the Marvell Alaska MV88X3310 and compatible PHYs.
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ciconfig MICREL_PHY
2058c2ecf20Sopenharmony_ci	tristate "Micrel PHYs"
2068c2ecf20Sopenharmony_ci	help
2078c2ecf20Sopenharmony_ci	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
2088c2ecf20Sopenharmony_ci
2098c2ecf20Sopenharmony_ciconfig MICROCHIP_PHY
2108c2ecf20Sopenharmony_ci	tristate "Microchip PHYs"
2118c2ecf20Sopenharmony_ci	help
2128c2ecf20Sopenharmony_ci	  Supports the LAN88XX PHYs.
2138c2ecf20Sopenharmony_ci
2148c2ecf20Sopenharmony_ciconfig MICROCHIP_T1_PHY
2158c2ecf20Sopenharmony_ci	tristate "Microchip T1 PHYs"
2168c2ecf20Sopenharmony_ci	help
2178c2ecf20Sopenharmony_ci	  Supports the LAN87XX PHYs.
2188c2ecf20Sopenharmony_ci
2198c2ecf20Sopenharmony_ciconfig MICROSEMI_PHY
2208c2ecf20Sopenharmony_ci	tristate "Microsemi PHYs"
2218c2ecf20Sopenharmony_ci	depends on MACSEC || MACSEC=n
2228c2ecf20Sopenharmony_ci	select CRYPTO_LIB_AES if MACSEC
2238c2ecf20Sopenharmony_ci	help
2248c2ecf20Sopenharmony_ci	  Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
2258c2ecf20Sopenharmony_ci
2268c2ecf20Sopenharmony_ciconfig NATIONAL_PHY
2278c2ecf20Sopenharmony_ci	tristate "National Semiconductor PHYs"
2288c2ecf20Sopenharmony_ci	help
2298c2ecf20Sopenharmony_ci	  Currently supports the DP83865 PHY.
2308c2ecf20Sopenharmony_ci
2318c2ecf20Sopenharmony_ciconfig NXP_TJA11XX_PHY
2328c2ecf20Sopenharmony_ci	tristate "NXP TJA11xx PHYs support"
2338c2ecf20Sopenharmony_ci	depends on HWMON
2348c2ecf20Sopenharmony_ci	help
2358c2ecf20Sopenharmony_ci	  Currently supports the NXP TJA1100 and TJA1101 PHY.
2368c2ecf20Sopenharmony_ci
2378c2ecf20Sopenharmony_ciconfig AT803X_PHY
2388c2ecf20Sopenharmony_ci	tristate "Qualcomm Atheros AR803X PHYs"
2398c2ecf20Sopenharmony_ci	depends on REGULATOR
2408c2ecf20Sopenharmony_ci	help
2418c2ecf20Sopenharmony_ci	  Currently supports the AR8030, AR8031, AR8033 and AR8035 model
2428c2ecf20Sopenharmony_ci
2438c2ecf20Sopenharmony_ciconfig QSEMI_PHY
2448c2ecf20Sopenharmony_ci	tristate "Quality Semiconductor PHYs"
2458c2ecf20Sopenharmony_ci	help
2468c2ecf20Sopenharmony_ci	  Currently supports the qs6612
2478c2ecf20Sopenharmony_ci
2488c2ecf20Sopenharmony_ciconfig REALTEK_PHY
2498c2ecf20Sopenharmony_ci	tristate "Realtek PHYs"
2508c2ecf20Sopenharmony_ci	help
2518c2ecf20Sopenharmony_ci	  Supports the Realtek 821x PHY.
2528c2ecf20Sopenharmony_ci
2538c2ecf20Sopenharmony_ciconfig RENESAS_PHY
2548c2ecf20Sopenharmony_ci	tristate "Renesas PHYs"
2558c2ecf20Sopenharmony_ci	help
2568c2ecf20Sopenharmony_ci	  Supports the Renesas PHYs uPD60620 and uPD60620A.
2578c2ecf20Sopenharmony_ci
2588c2ecf20Sopenharmony_ciconfig ROCKCHIP_PHY
2598c2ecf20Sopenharmony_ci	tristate "Rockchip Ethernet PHYs"
2608c2ecf20Sopenharmony_ci	help
2618c2ecf20Sopenharmony_ci	  Currently supports the integrated Ethernet PHY.
2628c2ecf20Sopenharmony_ci
2638c2ecf20Sopenharmony_ciconfig SMSC_PHY
2648c2ecf20Sopenharmony_ci	tristate "SMSC PHYs"
2658c2ecf20Sopenharmony_ci	help
2668c2ecf20Sopenharmony_ci	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
2678c2ecf20Sopenharmony_ci
2688c2ecf20Sopenharmony_ciconfig STE10XP
2698c2ecf20Sopenharmony_ci	tristate "STMicroelectronics STe10Xp PHYs"
2708c2ecf20Sopenharmony_ci	help
2718c2ecf20Sopenharmony_ci	  This is the driver for the STe100p and STe101p PHYs.
2728c2ecf20Sopenharmony_ci
2738c2ecf20Sopenharmony_ciconfig TERANETICS_PHY
2748c2ecf20Sopenharmony_ci	tristate "Teranetics PHYs"
2758c2ecf20Sopenharmony_ci	help
2768c2ecf20Sopenharmony_ci	  Currently supports the Teranetics TN2020
2778c2ecf20Sopenharmony_ci
2788c2ecf20Sopenharmony_ciconfig DP83822_PHY
2798c2ecf20Sopenharmony_ci	tristate "Texas Instruments DP83822/825/826 PHYs"
2808c2ecf20Sopenharmony_ci	help
2818c2ecf20Sopenharmony_ci	  Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,
2828c2ecf20Sopenharmony_ci	  DP83826C and DP83826NC PHYs.
2838c2ecf20Sopenharmony_ci
2848c2ecf20Sopenharmony_ciconfig DP83TC811_PHY
2858c2ecf20Sopenharmony_ci	tristate "Texas Instruments DP83TC811 PHY"
2868c2ecf20Sopenharmony_ci	help
2878c2ecf20Sopenharmony_ci	  Supports the DP83TC811 PHY.
2888c2ecf20Sopenharmony_ci
2898c2ecf20Sopenharmony_ciconfig DP83848_PHY
2908c2ecf20Sopenharmony_ci	tristate "Texas Instruments DP83848 PHY"
2918c2ecf20Sopenharmony_ci	help
2928c2ecf20Sopenharmony_ci	  Supports the DP83848 PHY.
2938c2ecf20Sopenharmony_ci
2948c2ecf20Sopenharmony_ciconfig DP83867_PHY
2958c2ecf20Sopenharmony_ci	tristate "Texas Instruments DP83867 Gigabit PHY"
2968c2ecf20Sopenharmony_ci	help
2978c2ecf20Sopenharmony_ci	  Currently supports the DP83867 PHY.
2988c2ecf20Sopenharmony_ci
2998c2ecf20Sopenharmony_ciconfig DP83869_PHY
3008c2ecf20Sopenharmony_ci	tristate "Texas Instruments DP83869 Gigabit PHY"
3018c2ecf20Sopenharmony_ci	help
3028c2ecf20Sopenharmony_ci	  Currently supports the DP83869 PHY.  This PHY supports copper and
3038c2ecf20Sopenharmony_ci	  fiber connections.
3048c2ecf20Sopenharmony_ci
3058c2ecf20Sopenharmony_ciconfig VITESSE_PHY
3068c2ecf20Sopenharmony_ci	tristate "Vitesse PHYs"
3078c2ecf20Sopenharmony_ci	help
3088c2ecf20Sopenharmony_ci	  Currently supports the vsc8244
3098c2ecf20Sopenharmony_ci
3108c2ecf20Sopenharmony_ciconfig XILINX_GMII2RGMII
3118c2ecf20Sopenharmony_ci	tristate "Xilinx GMII2RGMII converter driver"
3128c2ecf20Sopenharmony_ci	help
3138c2ecf20Sopenharmony_ci	  This driver support xilinx GMII to RGMII IP core it provides
3148c2ecf20Sopenharmony_ci	  the Reduced Gigabit Media Independent Interface(RGMII) between
3158c2ecf20Sopenharmony_ci	  Ethernet physical media devices and the Gigabit Ethernet controller.
3168c2ecf20Sopenharmony_ci
3178c2ecf20Sopenharmony_ciendif # PHYLIB
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ciconfig MICREL_KS8995MA
3208c2ecf20Sopenharmony_ci	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
3218c2ecf20Sopenharmony_ci	depends on SPI
322