18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ciconfig STMMAC_ETH 38c2ecf20Sopenharmony_ci tristate "STMicroelectronics Multi-Gigabit Ethernet driver" 48c2ecf20Sopenharmony_ci depends on HAS_IOMEM && HAS_DMA 58c2ecf20Sopenharmony_ci select MII 68c2ecf20Sopenharmony_ci select PCS_XPCS 78c2ecf20Sopenharmony_ci select PAGE_POOL 88c2ecf20Sopenharmony_ci select PHYLINK 98c2ecf20Sopenharmony_ci select CRC32 108c2ecf20Sopenharmony_ci imply PTP_1588_CLOCK 118c2ecf20Sopenharmony_ci select RESET_CONTROLLER 128c2ecf20Sopenharmony_ci help 138c2ecf20Sopenharmony_ci This is the driver for the Ethernet IPs built around a 148c2ecf20Sopenharmony_ci Synopsys IP Core. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciif STMMAC_ETH 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciconfig STMMAC_SELFTESTS 198c2ecf20Sopenharmony_ci bool "Support for STMMAC Selftests" 208c2ecf20Sopenharmony_ci depends on INET 218c2ecf20Sopenharmony_ci depends on STMMAC_ETH 228c2ecf20Sopenharmony_ci default n 238c2ecf20Sopenharmony_ci help 248c2ecf20Sopenharmony_ci This adds support for STMMAC Selftests using ethtool. Enable this 258c2ecf20Sopenharmony_ci feature if you are facing problems with your HW and submit the test 268c2ecf20Sopenharmony_ci results to the netdev Mailing List. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciconfig STMMAC_PLATFORM 298c2ecf20Sopenharmony_ci tristate "STMMAC Platform bus support" 308c2ecf20Sopenharmony_ci depends on STMMAC_ETH 318c2ecf20Sopenharmony_ci select MFD_SYSCON 328c2ecf20Sopenharmony_ci default y 338c2ecf20Sopenharmony_ci help 348c2ecf20Sopenharmony_ci This selects the platform specific bus support for the stmmac driver. 358c2ecf20Sopenharmony_ci This is the driver used on several SoCs: 368c2ecf20Sopenharmony_ci STi, Allwinner, Amlogic Meson, Altera SOCFPGA. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci If you have a controller with this interface, say Y or M here. 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci If unsure, say N. 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ciif STMMAC_PLATFORM 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ciconfig DWMAC_DWC_QOS_ETH 458c2ecf20Sopenharmony_ci tristate "Support for snps,dwc-qos-ethernet.txt DT binding." 468c2ecf20Sopenharmony_ci select CRC32 478c2ecf20Sopenharmony_ci select MII 488c2ecf20Sopenharmony_ci depends on OF && HAS_DMA 498c2ecf20Sopenharmony_ci help 508c2ecf20Sopenharmony_ci Support for chips using the snps,dwc-qos-ethernet.txt DT binding. 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciconfig DWMAC_GENERIC 538c2ecf20Sopenharmony_ci tristate "Generic driver for DWMAC" 548c2ecf20Sopenharmony_ci default STMMAC_PLATFORM 558c2ecf20Sopenharmony_ci help 568c2ecf20Sopenharmony_ci Generic DWMAC driver for platforms that don't require any 578c2ecf20Sopenharmony_ci platform specific code to function or is using platform 588c2ecf20Sopenharmony_ci data for setup. 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ciconfig DWMAC_ANARION 618c2ecf20Sopenharmony_ci tristate "Adaptrum Anarion GMAC support" 628c2ecf20Sopenharmony_ci default ARC 638c2ecf20Sopenharmony_ci depends on OF && (ARC || COMPILE_TEST) 648c2ecf20Sopenharmony_ci help 658c2ecf20Sopenharmony_ci Support for Adaptrum Anarion GMAC Ethernet controller. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci This selects the Anarion SoC glue layer support for the stmmac driver. 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ciconfig DWMAC_IPQ806X 708c2ecf20Sopenharmony_ci tristate "QCA IPQ806x DWMAC support" 718c2ecf20Sopenharmony_ci default ARCH_QCOM 728c2ecf20Sopenharmony_ci depends on OF && (ARCH_QCOM || COMPILE_TEST) 738c2ecf20Sopenharmony_ci select MFD_SYSCON 748c2ecf20Sopenharmony_ci help 758c2ecf20Sopenharmony_ci Support for QCA IPQ806X DWMAC Ethernet. 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci This selects the IPQ806x SoC glue layer support for the stmmac 788c2ecf20Sopenharmony_ci device driver. This driver does not use any of the hardware 798c2ecf20Sopenharmony_ci acceleration features available on this SoC. Network devices 808c2ecf20Sopenharmony_ci will behave like standard non-accelerated ethernet interfaces. 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ciconfig DWMAC_LPC18XX 838c2ecf20Sopenharmony_ci tristate "NXP LPC18xx/43xx DWMAC support" 848c2ecf20Sopenharmony_ci default ARCH_LPC18XX 858c2ecf20Sopenharmony_ci depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 868c2ecf20Sopenharmony_ci select MFD_SYSCON 878c2ecf20Sopenharmony_ci help 888c2ecf20Sopenharmony_ci Support for NXP LPC18xx/43xx DWMAC Ethernet. 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ciconfig DWMAC_MEDIATEK 918c2ecf20Sopenharmony_ci tristate "MediaTek MT27xx GMAC support" 928c2ecf20Sopenharmony_ci depends on OF && (ARCH_MEDIATEK || COMPILE_TEST) 938c2ecf20Sopenharmony_ci help 948c2ecf20Sopenharmony_ci Support for MediaTek GMAC Ethernet controller. 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci This selects the MT2712 SoC support for the stmmac driver. 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ciconfig DWMAC_MESON 998c2ecf20Sopenharmony_ci tristate "Amlogic Meson dwmac support" 1008c2ecf20Sopenharmony_ci default ARCH_MESON 1018c2ecf20Sopenharmony_ci depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST) 1028c2ecf20Sopenharmony_ci help 1038c2ecf20Sopenharmony_ci Support for Ethernet controller on Amlogic Meson SoCs. 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci This selects the Amlogic Meson SoC glue layer support for 1068c2ecf20Sopenharmony_ci the stmmac device driver. This driver is used for Meson6, 1078c2ecf20Sopenharmony_ci Meson8, Meson8b and GXBB SoCs. 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ciconfig DWMAC_OXNAS 1108c2ecf20Sopenharmony_ci tristate "Oxford Semiconductor OXNAS dwmac support" 1118c2ecf20Sopenharmony_ci default ARCH_OXNAS 1128c2ecf20Sopenharmony_ci depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST) 1138c2ecf20Sopenharmony_ci select MFD_SYSCON 1148c2ecf20Sopenharmony_ci help 1158c2ecf20Sopenharmony_ci Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs. 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci This selects the Oxford Semiconductor OXNASSoC glue layer support for 1188c2ecf20Sopenharmony_ci the stmmac device driver. This driver is used for OX820. 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ciconfig DWMAC_QCOM_ETHQOS 1218c2ecf20Sopenharmony_ci tristate "Qualcomm ETHQOS support" 1228c2ecf20Sopenharmony_ci default ARCH_QCOM 1238c2ecf20Sopenharmony_ci depends on OF && (ARCH_QCOM || COMPILE_TEST) 1248c2ecf20Sopenharmony_ci help 1258c2ecf20Sopenharmony_ci Support for the Qualcomm ETHQOS core. 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci This selects the Qualcomm ETHQOS glue layer support for the 1288c2ecf20Sopenharmony_ci stmmac device driver. 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ciconfig DWMAC_ROCKCHIP 1318c2ecf20Sopenharmony_ci tristate "Rockchip dwmac support" 1328c2ecf20Sopenharmony_ci default ARCH_ROCKCHIP 1338c2ecf20Sopenharmony_ci depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST) 1348c2ecf20Sopenharmony_ci select MFD_SYSCON 1358c2ecf20Sopenharmony_ci help 1368c2ecf20Sopenharmony_ci Support for Ethernet controller on Rockchip RK3288 SoC. 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci This selects the Rockchip RK3288 SoC glue layer support for 1398c2ecf20Sopenharmony_ci the stmmac device driver. 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ciconfig DWMAC_SOCFPGA 1428c2ecf20Sopenharmony_ci tristate "SOCFPGA dwmac support" 1438c2ecf20Sopenharmony_ci default (ARCH_SOCFPGA || ARCH_STRATIX10) 1448c2ecf20Sopenharmony_ci depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST) 1458c2ecf20Sopenharmony_ci select MFD_SYSCON 1468c2ecf20Sopenharmony_ci help 1478c2ecf20Sopenharmony_ci Support for ethernet controller on Altera SOCFPGA 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_ci This selects the Altera SOCFPGA SoC glue layer support 1508c2ecf20Sopenharmony_ci for the stmmac device driver. This driver is used for 1518c2ecf20Sopenharmony_ci arria5 and cyclone5 FPGA SoCs. 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ciconfig DWMAC_STI 1548c2ecf20Sopenharmony_ci tristate "STi GMAC support" 1558c2ecf20Sopenharmony_ci default ARCH_STI 1568c2ecf20Sopenharmony_ci depends on OF && (ARCH_STI || COMPILE_TEST) 1578c2ecf20Sopenharmony_ci select MFD_SYSCON 1588c2ecf20Sopenharmony_ci help 1598c2ecf20Sopenharmony_ci Support for ethernet controller on STi SOCs. 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci This selects STi SoC glue layer support for the stmmac 1628c2ecf20Sopenharmony_ci device driver. This driver is used on for the STi series 1638c2ecf20Sopenharmony_ci SOCs GMAC ethernet controller. 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ciconfig DWMAC_STM32 1668c2ecf20Sopenharmony_ci tristate "STM32 DWMAC support" 1678c2ecf20Sopenharmony_ci default ARCH_STM32 1688c2ecf20Sopenharmony_ci depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST) 1698c2ecf20Sopenharmony_ci select MFD_SYSCON 1708c2ecf20Sopenharmony_ci help 1718c2ecf20Sopenharmony_ci Support for ethernet controller on STM32 SOCs. 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ci This selects STM32 SoC glue layer support for the stmmac 1748c2ecf20Sopenharmony_ci device driver. This driver is used on for the STM32 series 1758c2ecf20Sopenharmony_ci SOCs GMAC ethernet controller. 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ciconfig DWMAC_SUNXI 1788c2ecf20Sopenharmony_ci tristate "Allwinner GMAC support" 1798c2ecf20Sopenharmony_ci default ARCH_SUNXI 1808c2ecf20Sopenharmony_ci depends on OF && (ARCH_SUNXI || COMPILE_TEST) 1818c2ecf20Sopenharmony_ci help 1828c2ecf20Sopenharmony_ci Support for Allwinner A20/A31 GMAC ethernet controllers. 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci This selects Allwinner SoC glue layer support for the 1858c2ecf20Sopenharmony_ci stmmac device driver. This driver is used for A20/A31 1868c2ecf20Sopenharmony_ci GMAC ethernet controller. 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ciconfig DWMAC_SUN8I 1898c2ecf20Sopenharmony_ci tristate "Allwinner sun8i GMAC support" 1908c2ecf20Sopenharmony_ci default ARCH_SUNXI 1918c2ecf20Sopenharmony_ci depends on OF && (ARCH_SUNXI || COMPILE_TEST) 1928c2ecf20Sopenharmony_ci select MDIO_BUS_MUX 1938c2ecf20Sopenharmony_ci help 1948c2ecf20Sopenharmony_ci Support for Allwinner H3 A83T A64 EMAC ethernet controllers. 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_ci This selects Allwinner SoC glue layer support for the 1978c2ecf20Sopenharmony_ci stmmac device driver. This driver is used for H3/A83T/A64 1988c2ecf20Sopenharmony_ci EMAC ethernet controller. 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ciconfig DWMAC_IMX8 2018c2ecf20Sopenharmony_ci tristate "NXP IMX8 DWMAC support" 2028c2ecf20Sopenharmony_ci default ARCH_MXC 2038c2ecf20Sopenharmony_ci depends on OF && (ARCH_MXC || COMPILE_TEST) 2048c2ecf20Sopenharmony_ci select MFD_SYSCON 2058c2ecf20Sopenharmony_ci help 2068c2ecf20Sopenharmony_ci Support for ethernet controller on NXP i.MX8 SOCs. 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci This selects NXP SoC glue layer support for the stmmac 2098c2ecf20Sopenharmony_ci device driver. This driver is used for i.MX8 series like 2108c2ecf20Sopenharmony_ci iMX8MP/iMX8DXL GMAC ethernet controller. 2118c2ecf20Sopenharmony_ci 2128c2ecf20Sopenharmony_ciconfig DWMAC_INTEL_PLAT 2138c2ecf20Sopenharmony_ci tristate "Intel dwmac support" 2148c2ecf20Sopenharmony_ci depends on OF && COMMON_CLK 2158c2ecf20Sopenharmony_ci depends on STMMAC_ETH 2168c2ecf20Sopenharmony_ci help 2178c2ecf20Sopenharmony_ci Support for ethernet controllers on Intel SoCs 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci This selects the Intel platform specific glue layer support for 2208c2ecf20Sopenharmony_ci the stmmac device driver. This driver is used for the Intel Keem Bay 2218c2ecf20Sopenharmony_ci SoC. 2228c2ecf20Sopenharmony_ciendif 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ciconfig DWMAC_INTEL 2258c2ecf20Sopenharmony_ci tristate "Intel GMAC support" 2268c2ecf20Sopenharmony_ci default X86 2278c2ecf20Sopenharmony_ci depends on X86 && STMMAC_ETH && PCI 2288c2ecf20Sopenharmony_ci depends on COMMON_CLK 2298c2ecf20Sopenharmony_ci help 2308c2ecf20Sopenharmony_ci This selects the Intel platform specific bus support for the 2318c2ecf20Sopenharmony_ci stmmac driver. This driver is used for Intel Quark/EHL/TGL. 2328c2ecf20Sopenharmony_ci 2338c2ecf20Sopenharmony_ciconfig DWMAC_LOONGSON 2348c2ecf20Sopenharmony_ci tristate "Loongson PCI DWMAC support" 2358c2ecf20Sopenharmony_ci default MACH_LOONGSON64 2368c2ecf20Sopenharmony_ci depends on STMMAC_ETH && PCI 2378c2ecf20Sopenharmony_ci depends on COMMON_CLK 2388c2ecf20Sopenharmony_ci help 2398c2ecf20Sopenharmony_ci This selects the LOONGSON PCI bus support for the stmmac driver, 2408c2ecf20Sopenharmony_ci Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge. 2418c2ecf20Sopenharmony_ci 2428c2ecf20Sopenharmony_ciconfig STMMAC_PCI 2438c2ecf20Sopenharmony_ci tristate "STMMAC PCI bus support" 2448c2ecf20Sopenharmony_ci depends on STMMAC_ETH && PCI 2458c2ecf20Sopenharmony_ci depends on COMMON_CLK 2468c2ecf20Sopenharmony_ci help 2478c2ecf20Sopenharmony_ci This selects the platform specific bus support for the stmmac driver. 2488c2ecf20Sopenharmony_ci This driver was tested on XLINX XC2V3000 FF1152AMT0221 2498c2ecf20Sopenharmony_ci D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit. 2508c2ecf20Sopenharmony_ci 2518c2ecf20Sopenharmony_ci If you have a controller with this interface, say Y or M here. 2528c2ecf20Sopenharmony_ci 2538c2ecf20Sopenharmony_ci If unsure, say N. 2548c2ecf20Sopenharmony_ciendif 255