1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 27ac6653aSJeff Kirsherconfig STMMAC_ETH 3b432bdb6SJose Abreu tristate "STMicroelectronics Multi-Gigabit Ethernet driver" 4fd1eb9e6SGeert Uytterhoeven depends on HAS_IOMEM && HAS_DMA 57ac6653aSJeff Kirsher select MII 62af6106aSJose Abreu select PAGE_POOL 7eeef2f6bSJose Abreu select PHYLINK 87ac6653aSJeff Kirsher select CRC32 9d1cbfd77SNicolas Pitre imply PTP_1588_CLOCK 10c5e4ddbdSChen-Yu Tsai select RESET_CONTROLLER 117ac6653aSJeff Kirsher ---help--- 12ab70e586Sjpinto This is the driver for the Ethernet IPs built around a 13ab70e586Sjpinto Synopsys IP Core. 147ac6653aSJeff Kirsher 157ac6653aSJeff Kirsherif STMMAC_ETH 167ac6653aSJeff Kirsher 17091810dbSJose Abreuconfig STMMAC_SELFTESTS 18091810dbSJose Abreu bool "Support for STMMAC Selftests" 19a3e2f6adSYueHaibing depends on INET 20091810dbSJose Abreu depends on STMMAC_ETH 21091810dbSJose Abreu default n 22091810dbSJose Abreu ---help--- 23091810dbSJose Abreu This adds support for STMMAC Selftests using ethtool. Enable this 24091810dbSJose Abreu feature if you are facing problems with your HW and submit the test 25091810dbSJose Abreu results to the netdev Mailing List. 26091810dbSJose Abreu 27bfab27a1SGiuseppe CAVALLAROconfig STMMAC_PLATFORM 28b2e2f0c7SAndy Shevchenko tristate "STMMAC Platform bus support" 29bfab27a1SGiuseppe CAVALLARO depends on STMMAC_ETH 30b1c17215SMathieu Olivari select MFD_SYSCON 3133d5e332SGiuseppe CAVALLARO default y 32bfab27a1SGiuseppe CAVALLARO ---help--- 33c0d54066SGiuseppe CAVALLARO This selects the platform specific bus support for the stmmac driver. 34c0d54066SGiuseppe CAVALLARO This is the driver used on several SoCs: 35c0d54066SGiuseppe CAVALLARO STi, Allwinner, Amlogic Meson, Altera SOCFPGA. 36c0d54066SGiuseppe CAVALLARO 37bfab27a1SGiuseppe CAVALLARO If you have a controller with this interface, say Y or M here. 38bfab27a1SGiuseppe CAVALLARO 39bfab27a1SGiuseppe CAVALLARO If unsure, say N. 40bfab27a1SGiuseppe CAVALLARO 41ba25020eSJoachim Eastwoodif STMMAC_PLATFORM 42ba25020eSJoachim Eastwood 43d8256121Sjpintoconfig DWMAC_DWC_QOS_ETH 44d8256121Sjpinto tristate "Support for snps,dwc-qos-ethernet.txt DT binding." 45d8256121Sjpinto select CRC32 46d8256121Sjpinto select MII 47f7b9e8e1SGeert Uytterhoeven depends on OF && HAS_DMA 48d8256121Sjpinto help 49d8256121Sjpinto Support for chips using the snps,dwc-qos-ethernet.txt DT binding. 50d8256121Sjpinto 51ba25020eSJoachim Eastwoodconfig DWMAC_GENERIC 52ba25020eSJoachim Eastwood tristate "Generic driver for DWMAC" 53ba25020eSJoachim Eastwood default STMMAC_PLATFORM 54ba25020eSJoachim Eastwood ---help--- 55ba25020eSJoachim Eastwood Generic DWMAC driver for platforms that don't require any 56ba25020eSJoachim Eastwood platform specific code to function or is using platform 57ba25020eSJoachim Eastwood data for setup. 58ba25020eSJoachim Eastwood 592d1611afSAlexandru Gagniucconfig DWMAC_ANARION 602d1611afSAlexandru Gagniuc tristate "Adaptrum Anarion GMAC support" 612d1611afSAlexandru Gagniuc default ARC 622d1611afSAlexandru Gagniuc depends on OF && (ARC || COMPILE_TEST) 632d1611afSAlexandru Gagniuc help 642d1611afSAlexandru Gagniuc Support for Adaptrum Anarion GMAC Ethernet controller. 652d1611afSAlexandru Gagniuc 662d1611afSAlexandru Gagniuc This selects the Anarion SoC glue layer support for the stmmac driver. 672d1611afSAlexandru Gagniuc 68b1c17215SMathieu Olivariconfig DWMAC_IPQ806X 69b1c17215SMathieu Olivari tristate "QCA IPQ806x DWMAC support" 70b1c17215SMathieu Olivari default ARCH_QCOM 71f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_QCOM || COMPILE_TEST) 72b1c17215SMathieu Olivari select MFD_SYSCON 73b1c17215SMathieu Olivari help 74b1c17215SMathieu Olivari Support for QCA IPQ806X DWMAC Ethernet. 75b1c17215SMathieu Olivari 76b1c17215SMathieu Olivari This selects the IPQ806x SoC glue layer support for the stmmac 77b1c17215SMathieu Olivari device driver. This driver does not use any of the hardware 78b1c17215SMathieu Olivari acceleration features available on this SoC. Network devices 79b1c17215SMathieu Olivari will behave like standard non-accelerated ethernet interfaces. 80b1c17215SMathieu Olivari 8169bdd2d4SJoachim Eastwoodconfig DWMAC_LPC18XX 8269bdd2d4SJoachim Eastwood tristate "NXP LPC18xx/43xx DWMAC support" 8369bdd2d4SJoachim Eastwood default ARCH_LPC18XX 842e280c18SPeter Robinson depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 8569bdd2d4SJoachim Eastwood select MFD_SYSCON 8669bdd2d4SJoachim Eastwood ---help--- 8769bdd2d4SJoachim Eastwood Support for NXP LPC18xx/43xx DWMAC Ethernet. 8869bdd2d4SJoachim Eastwood 899992f37eSBiao Huangconfig DWMAC_MEDIATEK 909992f37eSBiao Huang tristate "MediaTek MT27xx GMAC support" 919992f37eSBiao Huang depends on OF && (ARCH_MEDIATEK || COMPILE_TEST) 929992f37eSBiao Huang help 939992f37eSBiao Huang Support for MediaTek GMAC Ethernet controller. 949992f37eSBiao Huang 959992f37eSBiao Huang This selects the MT2712 SoC support for the stmmac driver. 969992f37eSBiao Huang 9740e6b0baSJoachim Eastwoodconfig DWMAC_MESON 9840e6b0baSJoachim Eastwood tristate "Amlogic Meson dwmac support" 9940e6b0baSJoachim Eastwood default ARCH_MESON 100566e8251SMartin Blumenstingl depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST) 10140e6b0baSJoachim Eastwood help 10240e6b0baSJoachim Eastwood Support for Ethernet controller on Amlogic Meson SoCs. 10340e6b0baSJoachim Eastwood 10440e6b0baSJoachim Eastwood This selects the Amlogic Meson SoC glue layer support for 105566e8251SMartin Blumenstingl the stmmac device driver. This driver is used for Meson6, 106566e8251SMartin Blumenstingl Meson8, Meson8b and GXBB SoCs. 10740e6b0baSJoachim Eastwood 1085ed74140SNeil Armstrongconfig DWMAC_OXNAS 1095ed74140SNeil Armstrong tristate "Oxford Semiconductor OXNAS dwmac support" 1105ed74140SNeil Armstrong default ARCH_OXNAS 1115ed74140SNeil Armstrong depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST) 1125ed74140SNeil Armstrong select MFD_SYSCON 1135ed74140SNeil Armstrong help 1145ed74140SNeil Armstrong Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs. 1155ed74140SNeil Armstrong 1165ed74140SNeil Armstrong This selects the Oxford Semiconductor OXNASSoC glue layer support for 1175ed74140SNeil Armstrong the stmmac device driver. This driver is used for OX820. 1185ed74140SNeil Armstrong 119a7c30e62SVinod Koulconfig DWMAC_QCOM_ETHQOS 120a7c30e62SVinod Koul tristate "Qualcomm ETHQOS support" 121a7c30e62SVinod Koul default ARCH_QCOM 122a7c30e62SVinod Koul depends on OF && (ARCH_QCOM || COMPILE_TEST) 123a7c30e62SVinod Koul help 124a7c30e62SVinod Koul Support for the Qualcomm ETHQOS core. 125a7c30e62SVinod Koul 126a7c30e62SVinod Koul This selects the Qualcomm ETHQOS glue layer support for the 127a7c30e62SVinod Koul stmmac device driver. 128a7c30e62SVinod Koul 129e0fb4013SJoachim Eastwoodconfig DWMAC_ROCKCHIP 130e0fb4013SJoachim Eastwood tristate "Rockchip dwmac support" 131e0fb4013SJoachim Eastwood default ARCH_ROCKCHIP 132f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST) 133e0fb4013SJoachim Eastwood select MFD_SYSCON 134e0fb4013SJoachim Eastwood help 135e0fb4013SJoachim Eastwood Support for Ethernet controller on Rockchip RK3288 SoC. 136e0fb4013SJoachim Eastwood 137e0fb4013SJoachim Eastwood This selects the Rockchip RK3288 SoC glue layer support for 138e0fb4013SJoachim Eastwood the stmmac device driver. 139e0fb4013SJoachim Eastwood 140c7c52ae7SJoachim Eastwoodconfig DWMAC_SOCFPGA 141c7c52ae7SJoachim Eastwood tristate "SOCFPGA dwmac support" 142c305660bSDinh Nguyen default (ARCH_SOCFPGA || ARCH_STRATIX10) 143bc8a2d9bSDinh Nguyen depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST) 144c7c52ae7SJoachim Eastwood select MFD_SYSCON 145c7c52ae7SJoachim Eastwood help 146c7c52ae7SJoachim Eastwood Support for ethernet controller on Altera SOCFPGA 147c7c52ae7SJoachim Eastwood 148c7c52ae7SJoachim Eastwood This selects the Altera SOCFPGA SoC glue layer support 149c7c52ae7SJoachim Eastwood for the stmmac device driver. This driver is used for 150c7c52ae7SJoachim Eastwood arria5 and cyclone5 FPGA SoCs. 151c7c52ae7SJoachim Eastwood 1522a321798SJoachim Eastwoodconfig DWMAC_STI 1532a321798SJoachim Eastwood tristate "STi GMAC support" 1542a321798SJoachim Eastwood default ARCH_STI 155f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_STI || COMPILE_TEST) 1562a321798SJoachim Eastwood select MFD_SYSCON 1572a321798SJoachim Eastwood ---help--- 1582a321798SJoachim Eastwood Support for ethernet controller on STi SOCs. 1592a321798SJoachim Eastwood 1602a321798SJoachim Eastwood This selects STi SoC glue layer support for the stmmac 1612a321798SJoachim Eastwood device driver. This driver is used on for the STi series 1622a321798SJoachim Eastwood SOCs GMAC ethernet controller. 1632a321798SJoachim Eastwood 164c6eec6f3SAlexandre TORGUEconfig DWMAC_STM32 165c6eec6f3SAlexandre TORGUE tristate "STM32 DWMAC support" 166c6eec6f3SAlexandre TORGUE default ARCH_STM32 1676bc5445cSPeter Robinson depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST) 168c6eec6f3SAlexandre TORGUE select MFD_SYSCON 169c6eec6f3SAlexandre TORGUE ---help--- 170c6eec6f3SAlexandre TORGUE Support for ethernet controller on STM32 SOCs. 171c6eec6f3SAlexandre TORGUE 172c6eec6f3SAlexandre TORGUE This selects STM32 SoC glue layer support for the stmmac 173c6eec6f3SAlexandre TORGUE device driver. This driver is used on for the STM32 series 174c6eec6f3SAlexandre TORGUE SOCs GMAC ethernet controller. 175c6eec6f3SAlexandre TORGUE 1764198b7dbSJoachim Eastwoodconfig DWMAC_SUNXI 1774198b7dbSJoachim Eastwood tristate "Allwinner GMAC support" 1784198b7dbSJoachim Eastwood default ARCH_SUNXI 179f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_SUNXI || COMPILE_TEST) 1804198b7dbSJoachim Eastwood ---help--- 1814198b7dbSJoachim Eastwood Support for Allwinner A20/A31 GMAC ethernet controllers. 1824198b7dbSJoachim Eastwood 1834198b7dbSJoachim Eastwood This selects Allwinner SoC glue layer support for the 1844198b7dbSJoachim Eastwood stmmac device driver. This driver is used for A20/A31 1854198b7dbSJoachim Eastwood GMAC ethernet controller. 1869f93ac8dSLABBE Corentin 1879f93ac8dSLABBE Corentinconfig DWMAC_SUN8I 1889f93ac8dSLABBE Corentin tristate "Allwinner sun8i GMAC support" 1899f93ac8dSLABBE Corentin default ARCH_SUNXI 1909f93ac8dSLABBE Corentin depends on OF && (ARCH_SUNXI || COMPILE_TEST) 191634db83bSCorentin Labbe select MDIO_BUS_MUX 1929f93ac8dSLABBE Corentin ---help--- 1939f93ac8dSLABBE Corentin Support for Allwinner H3 A83T A64 EMAC ethernet controllers. 1949f93ac8dSLABBE Corentin 1959f93ac8dSLABBE Corentin This selects Allwinner SoC glue layer support for the 1969f93ac8dSLABBE Corentin stmmac device driver. This driver is used for H3/A83T/A64 1979f93ac8dSLABBE Corentin EMAC ethernet controller. 198ba25020eSJoachim Eastwoodendif 199ba25020eSJoachim Eastwood 200bfab27a1SGiuseppe CAVALLAROconfig STMMAC_PCI 201b2e2f0c7SAndy Shevchenko tristate "STMMAC PCI bus support" 2026e1215adSKees Cook depends on STMMAC_ETH && PCI 20327382472SStephen Rothwell depends on COMMON_CLK 204bfab27a1SGiuseppe CAVALLARO ---help--- 205ab70e586Sjpinto This selects the platform specific bus support for the stmmac driver. 206ab70e586Sjpinto This driver was tested on XLINX XC2V3000 FF1152AMT0221 207ab70e586Sjpinto D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit. 208bfab27a1SGiuseppe CAVALLARO 209ab70e586Sjpinto If you have a controller with this interface, say Y or M here. 210bfab27a1SGiuseppe CAVALLARO 211bfab27a1SGiuseppe CAVALLARO If unsure, say N. 2127ac6653aSJeff Kirsherendif 213