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 5e5f31552SArnd Bergmann depends on PTP_1588_CLOCK_OPTIONAL 67ac6653aSJeff Kirsher select MII 72fa4e4b7SAndrew Lunn select PCS_XPCS 82af6106aSJose Abreu select PAGE_POOL 9eeef2f6bSJose Abreu select PHYLINK 107ac6653aSJeff Kirsher select CRC32 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 692bb4b98bS周琰杰 (Zhou Yanjie)config DWMAC_INGENIC 702bb4b98bS周琰杰 (Zhou Yanjie) tristate "Ingenic MAC support" 712bb4b98bS周琰杰 (Zhou Yanjie) default MACH_INGENIC 722bb4b98bS周琰杰 (Zhou Yanjie) depends on OF && HAS_IOMEM && (MACH_INGENIC || COMPILE_TEST) 732bb4b98bS周琰杰 (Zhou Yanjie) select MFD_SYSCON 742bb4b98bS周琰杰 (Zhou Yanjie) help 752bb4b98bS周琰杰 (Zhou Yanjie) Support for ethernet controller on Ingenic SoCs. 762bb4b98bS周琰杰 (Zhou Yanjie) 772bb4b98bS周琰杰 (Zhou Yanjie) This selects Ingenic SoCs glue layer support for the stmmac 782bb4b98bS周琰杰 (Zhou Yanjie) device driver. This driver is used on for the Ingenic SoCs 792bb4b98bS周琰杰 (Zhou Yanjie) MAC ethernet controller. 802bb4b98bS周琰杰 (Zhou Yanjie) 81b1c17215SMathieu Olivariconfig DWMAC_IPQ806X 82b1c17215SMathieu Olivari tristate "QCA IPQ806x DWMAC support" 83b1c17215SMathieu Olivari default ARCH_QCOM 84f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_QCOM || COMPILE_TEST) 85b1c17215SMathieu Olivari select MFD_SYSCON 86b1c17215SMathieu Olivari help 87b1c17215SMathieu Olivari Support for QCA IPQ806X DWMAC Ethernet. 88b1c17215SMathieu Olivari 89b1c17215SMathieu Olivari This selects the IPQ806x SoC glue layer support for the stmmac 90b1c17215SMathieu Olivari device driver. This driver does not use any of the hardware 91b1c17215SMathieu Olivari acceleration features available on this SoC. Network devices 92b1c17215SMathieu Olivari will behave like standard non-accelerated ethernet interfaces. 93b1c17215SMathieu Olivari 94c205035eSChristian Marangi Select the QCOM_SOCINFO config flag to enable specific dwmac 95c205035eSChristian Marangi fixup based on the ipq806x SoC revision. 96c205035eSChristian Marangi 9769bdd2d4SJoachim Eastwoodconfig DWMAC_LPC18XX 9869bdd2d4SJoachim Eastwood tristate "NXP LPC18xx/43xx DWMAC support" 9969bdd2d4SJoachim Eastwood default ARCH_LPC18XX 1002e280c18SPeter Robinson depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 10169bdd2d4SJoachim Eastwood select MFD_SYSCON 102a7f7f624SMasahiro Yamada help 10369bdd2d4SJoachim Eastwood Support for NXP LPC18xx/43xx DWMAC Ethernet. 10469bdd2d4SJoachim Eastwood 1059992f37eSBiao Huangconfig DWMAC_MEDIATEK 1069992f37eSBiao Huang tristate "MediaTek MT27xx GMAC support" 1079992f37eSBiao Huang depends on OF && (ARCH_MEDIATEK || COMPILE_TEST) 1089992f37eSBiao Huang help 1099992f37eSBiao Huang Support for MediaTek GMAC Ethernet controller. 1109992f37eSBiao Huang 1119992f37eSBiao Huang This selects the MT2712 SoC support for the stmmac driver. 1129992f37eSBiao Huang 11340e6b0baSJoachim Eastwoodconfig DWMAC_MESON 11440e6b0baSJoachim Eastwood tristate "Amlogic Meson dwmac support" 11540e6b0baSJoachim Eastwood default ARCH_MESON 116566e8251SMartin Blumenstingl depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST) 11740e6b0baSJoachim Eastwood help 11840e6b0baSJoachim Eastwood Support for Ethernet controller on Amlogic Meson SoCs. 11940e6b0baSJoachim Eastwood 12040e6b0baSJoachim Eastwood This selects the Amlogic Meson SoC glue layer support for 121566e8251SMartin Blumenstingl the stmmac device driver. This driver is used for Meson6, 122566e8251SMartin Blumenstingl Meson8, Meson8b and GXBB SoCs. 12340e6b0baSJoachim Eastwood 1245ed74140SNeil Armstrongconfig DWMAC_OXNAS 1255ed74140SNeil Armstrong tristate "Oxford Semiconductor OXNAS dwmac support" 1265ed74140SNeil Armstrong default ARCH_OXNAS 1275ed74140SNeil Armstrong depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST) 1285ed74140SNeil Armstrong select MFD_SYSCON 1295ed74140SNeil Armstrong help 1305ed74140SNeil Armstrong Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs. 1315ed74140SNeil Armstrong 1325ed74140SNeil Armstrong This selects the Oxford Semiconductor OXNASSoC glue layer support for 1335ed74140SNeil Armstrong the stmmac device driver. This driver is used for OX820. 1345ed74140SNeil Armstrong 135a7c30e62SVinod Koulconfig DWMAC_QCOM_ETHQOS 136a7c30e62SVinod Koul tristate "Qualcomm ETHQOS support" 137a7c30e62SVinod Koul default ARCH_QCOM 138a7c30e62SVinod Koul depends on OF && (ARCH_QCOM || COMPILE_TEST) 139a7c30e62SVinod Koul help 140a7c30e62SVinod Koul Support for the Qualcomm ETHQOS core. 141a7c30e62SVinod Koul 142a7c30e62SVinod Koul This selects the Qualcomm ETHQOS glue layer support for the 143a7c30e62SVinod Koul stmmac device driver. 144a7c30e62SVinod Koul 145e0fb4013SJoachim Eastwoodconfig DWMAC_ROCKCHIP 146e0fb4013SJoachim Eastwood tristate "Rockchip dwmac support" 147e0fb4013SJoachim Eastwood default ARCH_ROCKCHIP 148f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST) 149e0fb4013SJoachim Eastwood select MFD_SYSCON 150e0fb4013SJoachim Eastwood help 151e0fb4013SJoachim Eastwood Support for Ethernet controller on Rockchip RK3288 SoC. 152e0fb4013SJoachim Eastwood 153e0fb4013SJoachim Eastwood This selects the Rockchip RK3288 SoC glue layer support for 154e0fb4013SJoachim Eastwood the stmmac device driver. 155e0fb4013SJoachim Eastwood 156c7c52ae7SJoachim Eastwoodconfig DWMAC_SOCFPGA 157c7c52ae7SJoachim Eastwood tristate "SOCFPGA dwmac support" 1583409fb09SKrzysztof Kozlowski default ARCH_INTEL_SOCFPGA 1593409fb09SKrzysztof Kozlowski depends on OF && (ARCH_INTEL_SOCFPGA || COMPILE_TEST) 160c7c52ae7SJoachim Eastwood select MFD_SYSCON 161c7c52ae7SJoachim Eastwood help 162c7c52ae7SJoachim Eastwood Support for ethernet controller on Altera SOCFPGA 163c7c52ae7SJoachim Eastwood 164c7c52ae7SJoachim Eastwood This selects the Altera SOCFPGA SoC glue layer support 165c7c52ae7SJoachim Eastwood for the stmmac device driver. This driver is used for 166c7c52ae7SJoachim Eastwood arria5 and cyclone5 FPGA SoCs. 167c7c52ae7SJoachim Eastwood 168*4bd3bb7bSSamin Guoconfig DWMAC_STARFIVE 169*4bd3bb7bSSamin Guo tristate "StarFive dwmac support" 170*4bd3bb7bSSamin Guo depends on OF && (ARCH_STARFIVE || COMPILE_TEST) 171*4bd3bb7bSSamin Guo select MFD_SYSCON 172*4bd3bb7bSSamin Guo default m if ARCH_STARFIVE 173*4bd3bb7bSSamin Guo help 174*4bd3bb7bSSamin Guo Support for ethernet controllers on StarFive RISC-V SoCs 175*4bd3bb7bSSamin Guo 176*4bd3bb7bSSamin Guo This selects the StarFive platform specific glue layer support for 177*4bd3bb7bSSamin Guo the stmmac device driver. This driver is used for StarFive JH7110 178*4bd3bb7bSSamin Guo ethernet controller. 179*4bd3bb7bSSamin Guo 1802a321798SJoachim Eastwoodconfig DWMAC_STI 1812a321798SJoachim Eastwood tristate "STi GMAC support" 1822a321798SJoachim Eastwood default ARCH_STI 183f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_STI || COMPILE_TEST) 1842a321798SJoachim Eastwood select MFD_SYSCON 185a7f7f624SMasahiro Yamada help 1862a321798SJoachim Eastwood Support for ethernet controller on STi SOCs. 1872a321798SJoachim Eastwood 1882a321798SJoachim Eastwood This selects STi SoC glue layer support for the stmmac 1892a321798SJoachim Eastwood device driver. This driver is used on for the STi series 1902a321798SJoachim Eastwood SOCs GMAC ethernet controller. 1912a321798SJoachim Eastwood 192c6eec6f3SAlexandre TORGUEconfig DWMAC_STM32 193c6eec6f3SAlexandre TORGUE tristate "STM32 DWMAC support" 194c6eec6f3SAlexandre TORGUE default ARCH_STM32 1956bc5445cSPeter Robinson depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST) 196c6eec6f3SAlexandre TORGUE select MFD_SYSCON 197a7f7f624SMasahiro Yamada help 198c6eec6f3SAlexandre TORGUE Support for ethernet controller on STM32 SOCs. 199c6eec6f3SAlexandre TORGUE 200c6eec6f3SAlexandre TORGUE This selects STM32 SoC glue layer support for the stmmac 201c6eec6f3SAlexandre TORGUE device driver. This driver is used on for the STM32 series 202c6eec6f3SAlexandre TORGUE SOCs GMAC ethernet controller. 203c6eec6f3SAlexandre TORGUE 2044198b7dbSJoachim Eastwoodconfig DWMAC_SUNXI 2054198b7dbSJoachim Eastwood tristate "Allwinner GMAC support" 2064198b7dbSJoachim Eastwood default ARCH_SUNXI 207f7b9e8e1SGeert Uytterhoeven depends on OF && (ARCH_SUNXI || COMPILE_TEST) 208a7f7f624SMasahiro Yamada help 2094198b7dbSJoachim Eastwood Support for Allwinner A20/A31 GMAC ethernet controllers. 2104198b7dbSJoachim Eastwood 2114198b7dbSJoachim Eastwood This selects Allwinner SoC glue layer support for the 2124198b7dbSJoachim Eastwood stmmac device driver. This driver is used for A20/A31 2134198b7dbSJoachim Eastwood GMAC ethernet controller. 2149f93ac8dSLABBE Corentin 2159f93ac8dSLABBE Corentinconfig DWMAC_SUN8I 2169f93ac8dSLABBE Corentin tristate "Allwinner sun8i GMAC support" 2179f93ac8dSLABBE Corentin default ARCH_SUNXI 2189f93ac8dSLABBE Corentin depends on OF && (ARCH_SUNXI || COMPILE_TEST) 219634db83bSCorentin Labbe select MDIO_BUS_MUX 220a7f7f624SMasahiro Yamada help 2219f93ac8dSLABBE Corentin Support for Allwinner H3 A83T A64 EMAC ethernet controllers. 2229f93ac8dSLABBE Corentin 2239f93ac8dSLABBE Corentin This selects Allwinner SoC glue layer support for the 2249f93ac8dSLABBE Corentin stmmac device driver. This driver is used for H3/A83T/A64 2259f93ac8dSLABBE Corentin EMAC ethernet controller. 22694abdad6SFugang Duan 22794abdad6SFugang Duanconfig DWMAC_IMX8 22894abdad6SFugang Duan tristate "NXP IMX8 DWMAC support" 22994abdad6SFugang Duan default ARCH_MXC 23094abdad6SFugang Duan depends on OF && (ARCH_MXC || COMPILE_TEST) 23194abdad6SFugang Duan select MFD_SYSCON 232a7f7f624SMasahiro Yamada help 23394abdad6SFugang Duan Support for ethernet controller on NXP i.MX8 SOCs. 23494abdad6SFugang Duan 23594abdad6SFugang Duan This selects NXP SoC glue layer support for the stmmac 23694abdad6SFugang Duan device driver. This driver is used for i.MX8 series like 23794abdad6SFugang Duan iMX8MP/iMX8DXL GMAC ethernet controller. 23894abdad6SFugang Duan 2399efc9b2bSRusaimi Amira Ruslanconfig DWMAC_INTEL_PLAT 2409efc9b2bSRusaimi Amira Ruslan tristate "Intel dwmac support" 2419efc9b2bSRusaimi Amira Ruslan depends on OF && COMMON_CLK 2429efc9b2bSRusaimi Amira Ruslan depends on STMMAC_ETH 2439efc9b2bSRusaimi Amira Ruslan help 2449efc9b2bSRusaimi Amira Ruslan Support for ethernet controllers on Intel SoCs 2459efc9b2bSRusaimi Amira Ruslan 2469efc9b2bSRusaimi Amira Ruslan This selects the Intel platform specific glue layer support for 2479efc9b2bSRusaimi Amira Ruslan the stmmac device driver. This driver is used for the Intel Keem Bay 2489efc9b2bSRusaimi Amira Ruslan SoC. 249b38dd98fSNobuhiro Iwamatsu 250d8ca1137SBhadram Varkaconfig DWMAC_TEGRA 251d8ca1137SBhadram Varka tristate "NVIDIA Tegra MGBE support" 252d8ca1137SBhadram Varka depends on ARCH_TEGRA || COMPILE_TEST 253d8ca1137SBhadram Varka help 254d8ca1137SBhadram Varka This selects the Multi-GigaBit Ethernet (MGBE) Controller that is 255d8ca1137SBhadram Varka found on the NVIDIA Tegra SoC devices. This driver provides the glue 256d8ca1137SBhadram Varka layer on top of the stmmac driver required for these NVIDIA Tegra SoC 257d8ca1137SBhadram Varka devices. 258d8ca1137SBhadram Varka 259b38dd98fSNobuhiro Iwamatsuconfig DWMAC_VISCONTI 260b38dd98fSNobuhiro Iwamatsu tristate "Toshiba Visconti DWMAC support" 261b38dd98fSNobuhiro Iwamatsu default ARCH_VISCONTI 262b38dd98fSNobuhiro Iwamatsu depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST) 263b38dd98fSNobuhiro Iwamatsu help 264b38dd98fSNobuhiro Iwamatsu Support for ethernet controller on Visconti SoCs. 265b38dd98fSNobuhiro Iwamatsu 266ba25020eSJoachim Eastwoodendif 267ba25020eSJoachim Eastwood 26858da0cfaSVoon Weifengconfig DWMAC_INTEL 26958da0cfaSVoon Weifeng tristate "Intel GMAC support" 27058da0cfaSVoon Weifeng default X86 27158da0cfaSVoon Weifeng depends on X86 && STMMAC_ETH && PCI 27258da0cfaSVoon Weifeng depends on COMMON_CLK 273a7f7f624SMasahiro Yamada help 27458da0cfaSVoon Weifeng This selects the Intel platform specific bus support for the 27558da0cfaSVoon Weifeng stmmac driver. This driver is used for Intel Quark/EHL/TGL. 27658da0cfaSVoon Weifeng 27730bba69dSQing Zhangconfig DWMAC_LOONGSON 27830bba69dSQing Zhang tristate "Loongson PCI DWMAC support" 27930bba69dSQing Zhang default MACH_LOONGSON64 28030bba69dSQing Zhang depends on STMMAC_ETH && PCI 28130bba69dSQing Zhang depends on COMMON_CLK 28230bba69dSQing Zhang help 28330bba69dSQing Zhang This selects the LOONGSON PCI bus support for the stmmac driver, 28430bba69dSQing Zhang Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge. 28530bba69dSQing Zhang 286bfab27a1SGiuseppe CAVALLAROconfig STMMAC_PCI 287b2e2f0c7SAndy Shevchenko tristate "STMMAC PCI bus support" 2886e1215adSKees Cook depends on STMMAC_ETH && PCI 28927382472SStephen Rothwell depends on COMMON_CLK 290a7f7f624SMasahiro Yamada help 291ab70e586Sjpinto This selects the platform specific bus support for the stmmac driver. 292ab70e586Sjpinto This driver was tested on XLINX XC2V3000 FF1152AMT0221 293ab70e586Sjpinto D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit. 294bfab27a1SGiuseppe CAVALLARO 295ab70e586Sjpinto If you have a controller with this interface, say Y or M here. 296bfab27a1SGiuseppe CAVALLARO 297bfab27a1SGiuseppe CAVALLARO If unsure, say N. 2987ac6653aSJeff Kirsherendif 299