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 62fa4e4b7SAndrew Lunn select PCS_XPCS 72af6106aSJose Abreu select PAGE_POOL 8eeef2f6bSJose Abreu select PHYLINK 97ac6653aSJeff Kirsher select CRC32 10d1cbfd77SNicolas Pitre imply PTP_1588_CLOCK 11c5e4ddbdSChen-Yu Tsai select RESET_CONTROLLER 12a7f7f624SMasahiro Yamada help 13ab70e586Sjpinto This is the driver for the Ethernet IPs built around a 14ab70e586Sjpinto Synopsys IP Core. 157ac6653aSJeff Kirsher 167ac6653aSJeff Kirsherif STMMAC_ETH 177ac6653aSJeff Kirsher 18091810dbSJose Abreuconfig STMMAC_SELFTESTS 19091810dbSJose Abreu bool "Support for STMMAC Selftests" 20a3e2f6adSYueHaibing depends on INET 21091810dbSJose Abreu depends on STMMAC_ETH 22091810dbSJose Abreu default n 23a7f7f624SMasahiro Yamada help 24091810dbSJose Abreu This adds support for STMMAC Selftests using ethtool. Enable this 25091810dbSJose Abreu feature if you are facing problems with your HW and submit the test 26091810dbSJose Abreu results to the netdev Mailing List. 27091810dbSJose Abreu 28bfab27a1SGiuseppe CAVALLAROconfig STMMAC_PLATFORM 29b2e2f0c7SAndy Shevchenko tristate "STMMAC Platform bus support" 30bfab27a1SGiuseppe CAVALLARO depends on STMMAC_ETH 31b1c17215SMathieu Olivari select MFD_SYSCON 3233d5e332SGiuseppe CAVALLARO default y 33a7f7f624SMasahiro Yamada help 34c0d54066SGiuseppe CAVALLARO This selects the platform specific bus support for the stmmac driver. 35c0d54066SGiuseppe CAVALLARO This is the driver used on several SoCs: 36c0d54066SGiuseppe CAVALLARO STi, Allwinner, Amlogic Meson, Altera SOCFPGA. 37c0d54066SGiuseppe CAVALLARO 38bfab27a1SGiuseppe CAVALLARO If you have a controller with this interface, say Y or M here. 39bfab27a1SGiuseppe CAVALLARO 40bfab27a1SGiuseppe CAVALLARO If unsure, say N. 41bfab27a1SGiuseppe CAVALLARO 42ba25020eSJoachim Eastwoodif STMMAC_PLATFORM 43ba25020eSJoachim Eastwood 44d8256121Sjpintoconfig DWMAC_DWC_QOS_ETH 45d8256121Sjpinto tristate "Support for snps,dwc-qos-ethernet.txt DT binding." 46d8256121Sjpinto select CRC32 47d8256121Sjpinto select MII 48f7b9e8e1SGeert Uytterhoeven depends on OF && HAS_DMA 49d8256121Sjpinto help 50d8256121Sjpinto Support for chips using the snps,dwc-qos-ethernet.txt DT binding. 51d8256121Sjpinto 52ba25020eSJoachim Eastwoodconfig DWMAC_GENERIC 53ba25020eSJoachim Eastwood tristate "Generic driver for DWMAC" 54ba25020eSJoachim Eastwood default STMMAC_PLATFORM 55a7f7f624SMasahiro Yamada help 56ba25020eSJoachim Eastwood Generic DWMAC driver for platforms that don't require any 57ba25020eSJoachim Eastwood platform specific code to function or is using platform 58ba25020eSJoachim Eastwood data for setup. 59ba25020eSJoachim Eastwood 602d1611afSAlexandru Gagniucconfig DWMAC_ANARION 612d1611afSAlexandru Gagniuc tristate "Adaptrum Anarion GMAC support" 622d1611afSAlexandru Gagniuc default ARC 632d1611afSAlexandru Gagniuc depends on OF && (ARC || COMPILE_TEST) 642d1611afSAlexandru Gagniuc help 652d1611afSAlexandru Gagniuc Support for Adaptrum Anarion GMAC Ethernet controller. 662d1611afSAlexandru Gagniuc 672d1611afSAlexandru Gagniuc This selects the Anarion SoC glue layer support for the stmmac driver. 682d1611afSAlexandru Gagniuc 69b1c17215SMathieu Olivariconfig DWMAC_IPQ806X 70b1c17215SMathieu Olivari tristate "QCA IPQ806x DWMAC support" 71b1c17215SMathieu Olivari default ARCH_QCOM 72f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_QCOM || COMPILE_TEST) 73b1c17215SMathieu Olivari select MFD_SYSCON 74b1c17215SMathieu Olivari help 75b1c17215SMathieu Olivari Support for QCA IPQ806X DWMAC Ethernet. 76b1c17215SMathieu Olivari 77b1c17215SMathieu Olivari This selects the IPQ806x SoC glue layer support for the stmmac 78b1c17215SMathieu Olivari device driver. This driver does not use any of the hardware 79b1c17215SMathieu Olivari acceleration features available on this SoC. Network devices 80b1c17215SMathieu Olivari will behave like standard non-accelerated ethernet interfaces. 81b1c17215SMathieu Olivari 8269bdd2d4SJoachim Eastwoodconfig DWMAC_LPC18XX 8369bdd2d4SJoachim Eastwood tristate "NXP LPC18xx/43xx DWMAC support" 8469bdd2d4SJoachim Eastwood default ARCH_LPC18XX 852e280c18SPeter Robinson depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 8669bdd2d4SJoachim Eastwood select MFD_SYSCON 87a7f7f624SMasahiro Yamada help 8869bdd2d4SJoachim Eastwood Support for NXP LPC18xx/43xx DWMAC Ethernet. 8969bdd2d4SJoachim Eastwood 909992f37eSBiao Huangconfig DWMAC_MEDIATEK 919992f37eSBiao Huang tristate "MediaTek MT27xx GMAC support" 929992f37eSBiao Huang depends on OF && (ARCH_MEDIATEK || COMPILE_TEST) 939992f37eSBiao Huang help 949992f37eSBiao Huang Support for MediaTek GMAC Ethernet controller. 959992f37eSBiao Huang 969992f37eSBiao Huang This selects the MT2712 SoC support for the stmmac driver. 979992f37eSBiao Huang 9840e6b0baSJoachim Eastwoodconfig DWMAC_MESON 9940e6b0baSJoachim Eastwood tristate "Amlogic Meson dwmac support" 10040e6b0baSJoachim Eastwood default ARCH_MESON 101566e8251SMartin Blumenstingl depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST) 10240e6b0baSJoachim Eastwood help 10340e6b0baSJoachim Eastwood Support for Ethernet controller on Amlogic Meson SoCs. 10440e6b0baSJoachim Eastwood 10540e6b0baSJoachim Eastwood This selects the Amlogic Meson SoC glue layer support for 106566e8251SMartin Blumenstingl the stmmac device driver. This driver is used for Meson6, 107566e8251SMartin Blumenstingl Meson8, Meson8b and GXBB SoCs. 10840e6b0baSJoachim Eastwood 1095ed74140SNeil Armstrongconfig DWMAC_OXNAS 1105ed74140SNeil Armstrong tristate "Oxford Semiconductor OXNAS dwmac support" 1115ed74140SNeil Armstrong default ARCH_OXNAS 1125ed74140SNeil Armstrong depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST) 1135ed74140SNeil Armstrong select MFD_SYSCON 1145ed74140SNeil Armstrong help 1155ed74140SNeil Armstrong Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs. 1165ed74140SNeil Armstrong 1175ed74140SNeil Armstrong This selects the Oxford Semiconductor OXNASSoC glue layer support for 1185ed74140SNeil Armstrong the stmmac device driver. This driver is used for OX820. 1195ed74140SNeil Armstrong 120a7c30e62SVinod Koulconfig DWMAC_QCOM_ETHQOS 121a7c30e62SVinod Koul tristate "Qualcomm ETHQOS support" 122a7c30e62SVinod Koul default ARCH_QCOM 123a7c30e62SVinod Koul depends on OF && (ARCH_QCOM || COMPILE_TEST) 124a7c30e62SVinod Koul help 125a7c30e62SVinod Koul Support for the Qualcomm ETHQOS core. 126a7c30e62SVinod Koul 127a7c30e62SVinod Koul This selects the Qualcomm ETHQOS glue layer support for the 128a7c30e62SVinod Koul stmmac device driver. 129a7c30e62SVinod Koul 130e0fb4013SJoachim Eastwoodconfig DWMAC_ROCKCHIP 131e0fb4013SJoachim Eastwood tristate "Rockchip dwmac support" 132e0fb4013SJoachim Eastwood default ARCH_ROCKCHIP 133f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST) 134e0fb4013SJoachim Eastwood select MFD_SYSCON 135e0fb4013SJoachim Eastwood help 136e0fb4013SJoachim Eastwood Support for Ethernet controller on Rockchip RK3288 SoC. 137e0fb4013SJoachim Eastwood 138e0fb4013SJoachim Eastwood This selects the Rockchip RK3288 SoC glue layer support for 139e0fb4013SJoachim Eastwood the stmmac device driver. 140e0fb4013SJoachim Eastwood 141c7c52ae7SJoachim Eastwoodconfig DWMAC_SOCFPGA 142c7c52ae7SJoachim Eastwood tristate "SOCFPGA dwmac support" 143c305660bSDinh Nguyen default (ARCH_SOCFPGA || ARCH_STRATIX10) 144bc8a2d9bSDinh Nguyen depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST) 145c7c52ae7SJoachim Eastwood select MFD_SYSCON 146c7c52ae7SJoachim Eastwood help 147c7c52ae7SJoachim Eastwood Support for ethernet controller on Altera SOCFPGA 148c7c52ae7SJoachim Eastwood 149c7c52ae7SJoachim Eastwood This selects the Altera SOCFPGA SoC glue layer support 150c7c52ae7SJoachim Eastwood for the stmmac device driver. This driver is used for 151c7c52ae7SJoachim Eastwood arria5 and cyclone5 FPGA SoCs. 152c7c52ae7SJoachim Eastwood 1532a321798SJoachim Eastwoodconfig DWMAC_STI 1542a321798SJoachim Eastwood tristate "STi GMAC support" 1552a321798SJoachim Eastwood default ARCH_STI 156f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_STI || COMPILE_TEST) 1572a321798SJoachim Eastwood select MFD_SYSCON 158a7f7f624SMasahiro Yamada help 1592a321798SJoachim Eastwood Support for ethernet controller on STi SOCs. 1602a321798SJoachim Eastwood 1612a321798SJoachim Eastwood This selects STi SoC glue layer support for the stmmac 1622a321798SJoachim Eastwood device driver. This driver is used on for the STi series 1632a321798SJoachim Eastwood SOCs GMAC ethernet controller. 1642a321798SJoachim Eastwood 165c6eec6f3SAlexandre TORGUEconfig DWMAC_STM32 166c6eec6f3SAlexandre TORGUE tristate "STM32 DWMAC support" 167c6eec6f3SAlexandre TORGUE default ARCH_STM32 1686bc5445cSPeter Robinson depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST) 169c6eec6f3SAlexandre TORGUE select MFD_SYSCON 170a7f7f624SMasahiro Yamada help 171c6eec6f3SAlexandre TORGUE Support for ethernet controller on STM32 SOCs. 172c6eec6f3SAlexandre TORGUE 173c6eec6f3SAlexandre TORGUE This selects STM32 SoC glue layer support for the stmmac 174c6eec6f3SAlexandre TORGUE device driver. This driver is used on for the STM32 series 175c6eec6f3SAlexandre TORGUE SOCs GMAC ethernet controller. 176c6eec6f3SAlexandre TORGUE 1774198b7dbSJoachim Eastwoodconfig DWMAC_SUNXI 1784198b7dbSJoachim Eastwood tristate "Allwinner GMAC support" 1794198b7dbSJoachim Eastwood default ARCH_SUNXI 180f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_SUNXI || COMPILE_TEST) 181a7f7f624SMasahiro Yamada help 1824198b7dbSJoachim Eastwood Support for Allwinner A20/A31 GMAC ethernet controllers. 1834198b7dbSJoachim Eastwood 1844198b7dbSJoachim Eastwood This selects Allwinner SoC glue layer support for the 1854198b7dbSJoachim Eastwood stmmac device driver. This driver is used for A20/A31 1864198b7dbSJoachim Eastwood GMAC ethernet controller. 1879f93ac8dSLABBE Corentin 1889f93ac8dSLABBE Corentinconfig DWMAC_SUN8I 1899f93ac8dSLABBE Corentin tristate "Allwinner sun8i GMAC support" 1909f93ac8dSLABBE Corentin default ARCH_SUNXI 1919f93ac8dSLABBE Corentin depends on OF && (ARCH_SUNXI || COMPILE_TEST) 192634db83bSCorentin Labbe select MDIO_BUS_MUX 193a7f7f624SMasahiro Yamada help 1949f93ac8dSLABBE Corentin Support for Allwinner H3 A83T A64 EMAC ethernet controllers. 1959f93ac8dSLABBE Corentin 1969f93ac8dSLABBE Corentin This selects Allwinner SoC glue layer support for the 1979f93ac8dSLABBE Corentin stmmac device driver. This driver is used for H3/A83T/A64 1989f93ac8dSLABBE Corentin EMAC ethernet controller. 19994abdad6SFugang Duan 20094abdad6SFugang Duanconfig DWMAC_IMX8 20194abdad6SFugang Duan tristate "NXP IMX8 DWMAC support" 20294abdad6SFugang Duan default ARCH_MXC 20394abdad6SFugang Duan depends on OF && (ARCH_MXC || COMPILE_TEST) 20494abdad6SFugang Duan select MFD_SYSCON 205a7f7f624SMasahiro Yamada help 20694abdad6SFugang Duan Support for ethernet controller on NXP i.MX8 SOCs. 20794abdad6SFugang Duan 20894abdad6SFugang Duan This selects NXP SoC glue layer support for the stmmac 20994abdad6SFugang Duan device driver. This driver is used for i.MX8 series like 21094abdad6SFugang Duan iMX8MP/iMX8DXL GMAC ethernet controller. 21194abdad6SFugang Duan 2129efc9b2bSRusaimi Amira Ruslanconfig DWMAC_INTEL_PLAT 2139efc9b2bSRusaimi Amira Ruslan tristate "Intel dwmac support" 2149efc9b2bSRusaimi Amira Ruslan depends on OF && COMMON_CLK 2159efc9b2bSRusaimi Amira Ruslan depends on STMMAC_ETH 2169efc9b2bSRusaimi Amira Ruslan help 2179efc9b2bSRusaimi Amira Ruslan Support for ethernet controllers on Intel SoCs 2189efc9b2bSRusaimi Amira Ruslan 2199efc9b2bSRusaimi Amira Ruslan This selects the Intel platform specific glue layer support for 2209efc9b2bSRusaimi Amira Ruslan the stmmac device driver. This driver is used for the Intel Keem Bay 2219efc9b2bSRusaimi Amira Ruslan SoC. 222*b38dd98fSNobuhiro Iwamatsu 223*b38dd98fSNobuhiro Iwamatsuconfig DWMAC_VISCONTI 224*b38dd98fSNobuhiro Iwamatsu tristate "Toshiba Visconti DWMAC support" 225*b38dd98fSNobuhiro Iwamatsu default ARCH_VISCONTI 226*b38dd98fSNobuhiro Iwamatsu depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST) 227*b38dd98fSNobuhiro Iwamatsu help 228*b38dd98fSNobuhiro Iwamatsu Support for ethernet controller on Visconti SoCs. 229*b38dd98fSNobuhiro Iwamatsu 230ba25020eSJoachim Eastwoodendif 231ba25020eSJoachim Eastwood 23258da0cfaSVoon Weifengconfig DWMAC_INTEL 23358da0cfaSVoon Weifeng tristate "Intel GMAC support" 23458da0cfaSVoon Weifeng default X86 23558da0cfaSVoon Weifeng depends on X86 && STMMAC_ETH && PCI 23658da0cfaSVoon Weifeng depends on COMMON_CLK 237a7f7f624SMasahiro Yamada help 23858da0cfaSVoon Weifeng This selects the Intel platform specific bus support for the 23958da0cfaSVoon Weifeng stmmac driver. This driver is used for Intel Quark/EHL/TGL. 24058da0cfaSVoon Weifeng 241bfab27a1SGiuseppe CAVALLAROconfig STMMAC_PCI 242b2e2f0c7SAndy Shevchenko tristate "STMMAC PCI bus support" 2436e1215adSKees Cook depends on STMMAC_ETH && PCI 24427382472SStephen Rothwell depends on COMMON_CLK 245a7f7f624SMasahiro Yamada help 246ab70e586Sjpinto This selects the platform specific bus support for the stmmac driver. 247ab70e586Sjpinto This driver was tested on XLINX XC2V3000 FF1152AMT0221 248ab70e586Sjpinto D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit. 249bfab27a1SGiuseppe CAVALLARO 250ab70e586Sjpinto If you have a controller with this interface, say Y or M here. 251bfab27a1SGiuseppe CAVALLARO 252bfab27a1SGiuseppe CAVALLARO If unsure, say N. 2537ac6653aSJeff Kirsherendif 254