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"
143*3409fb09SKrzysztof Kozlowski	default ARCH_INTEL_SOCFPGA
144*3409fb09SKrzysztof Kozlowski	depends on OF && (ARCH_INTEL_SOCFPGA || 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.
222b38dd98fSNobuhiro Iwamatsu
223b38dd98fSNobuhiro Iwamatsuconfig DWMAC_VISCONTI
224b38dd98fSNobuhiro Iwamatsu	tristate "Toshiba Visconti DWMAC support"
225b38dd98fSNobuhiro Iwamatsu	default ARCH_VISCONTI
226b38dd98fSNobuhiro Iwamatsu	depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST)
227b38dd98fSNobuhiro Iwamatsu	help
228b38dd98fSNobuhiro Iwamatsu	  Support for ethernet controller on Visconti SoCs.
229b38dd98fSNobuhiro 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