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