1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
27ac6653aSJeff Kirsherconfig STMMAC_ETH
3ab70e586Sjpinto	tristate "STMicroelectronics 10/100/1000/EQOS Ethernet driver"
4fd1eb9e6SGeert Uytterhoeven	depends on HAS_IOMEM && HAS_DMA
57ac6653aSJeff Kirsher	select MII
67ac6653aSJeff Kirsher	select PHYLIB
77ac6653aSJeff Kirsher	select CRC32
8d1cbfd77SNicolas Pitre	imply PTP_1588_CLOCK
9c5e4ddbdSChen-Yu Tsai	select RESET_CONTROLLER
107ac6653aSJeff Kirsher	---help---
11ab70e586Sjpinto	  This is the driver for the Ethernet IPs built around a
12ab70e586Sjpinto	  Synopsys IP Core.
137ac6653aSJeff Kirsher
147ac6653aSJeff Kirsherif STMMAC_ETH
157ac6653aSJeff Kirsher
16bfab27a1SGiuseppe CAVALLAROconfig STMMAC_PLATFORM
17b2e2f0c7SAndy Shevchenko	tristate "STMMAC Platform bus support"
18bfab27a1SGiuseppe CAVALLARO	depends on STMMAC_ETH
19b1c17215SMathieu Olivari	select MFD_SYSCON
2033d5e332SGiuseppe CAVALLARO	default y
21bfab27a1SGiuseppe CAVALLARO	---help---
22c0d54066SGiuseppe CAVALLARO	  This selects the platform specific bus support for the stmmac driver.
23c0d54066SGiuseppe CAVALLARO	  This is the driver used on several SoCs:
24c0d54066SGiuseppe CAVALLARO	  STi, Allwinner, Amlogic Meson, Altera SOCFPGA.
25c0d54066SGiuseppe CAVALLARO
26bfab27a1SGiuseppe CAVALLARO	  If you have a controller with this interface, say Y or M here.
27bfab27a1SGiuseppe CAVALLARO
28bfab27a1SGiuseppe CAVALLARO	  If unsure, say N.
29bfab27a1SGiuseppe CAVALLARO
30ba25020eSJoachim Eastwoodif STMMAC_PLATFORM
31ba25020eSJoachim Eastwood
32d8256121Sjpintoconfig DWMAC_DWC_QOS_ETH
33d8256121Sjpinto	tristate "Support for snps,dwc-qos-ethernet.txt DT binding."
34d8256121Sjpinto	select PHYLIB
35d8256121Sjpinto	select CRC32
36d8256121Sjpinto	select MII
37f7b9e8e1SGeert Uytterhoeven	depends on OF && HAS_DMA
38d8256121Sjpinto	help
39d8256121Sjpinto	  Support for chips using the snps,dwc-qos-ethernet.txt DT binding.
40d8256121Sjpinto
41ba25020eSJoachim Eastwoodconfig DWMAC_GENERIC
42ba25020eSJoachim Eastwood	tristate "Generic driver for DWMAC"
43ba25020eSJoachim Eastwood	default STMMAC_PLATFORM
44ba25020eSJoachim Eastwood	---help---
45ba25020eSJoachim Eastwood	  Generic DWMAC driver for platforms that don't require any
46ba25020eSJoachim Eastwood	  platform specific code to function or is using platform
47ba25020eSJoachim Eastwood	  data for setup.
48ba25020eSJoachim Eastwood
492d1611afSAlexandru Gagniucconfig DWMAC_ANARION
502d1611afSAlexandru Gagniuc	tristate "Adaptrum Anarion GMAC support"
512d1611afSAlexandru Gagniuc	default ARC
522d1611afSAlexandru Gagniuc	depends on OF && (ARC || COMPILE_TEST)
532d1611afSAlexandru Gagniuc	help
542d1611afSAlexandru Gagniuc	  Support for Adaptrum Anarion GMAC Ethernet controller.
552d1611afSAlexandru Gagniuc
562d1611afSAlexandru Gagniuc	  This selects the Anarion SoC glue layer support for the stmmac driver.
572d1611afSAlexandru Gagniuc
58b1c17215SMathieu Olivariconfig DWMAC_IPQ806X
59b1c17215SMathieu Olivari	tristate "QCA IPQ806x DWMAC support"
60b1c17215SMathieu Olivari	default ARCH_QCOM
61f7b9e8e1SGeert Uytterhoeven	depends on OF && (ARCH_QCOM || COMPILE_TEST)
62b1c17215SMathieu Olivari	select MFD_SYSCON
63b1c17215SMathieu Olivari	help
64b1c17215SMathieu Olivari	  Support for QCA IPQ806X DWMAC Ethernet.
65b1c17215SMathieu Olivari
66b1c17215SMathieu Olivari	  This selects the IPQ806x SoC glue layer support for the stmmac
67b1c17215SMathieu Olivari	  device driver. This driver does not use any of the hardware
68b1c17215SMathieu Olivari	  acceleration features available on this SoC. Network devices
69b1c17215SMathieu Olivari	  will behave like standard non-accelerated ethernet interfaces.
70b1c17215SMathieu Olivari
7169bdd2d4SJoachim Eastwoodconfig DWMAC_LPC18XX
7269bdd2d4SJoachim Eastwood	tristate "NXP LPC18xx/43xx DWMAC support"
7369bdd2d4SJoachim Eastwood	default ARCH_LPC18XX
742e280c18SPeter Robinson	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
7569bdd2d4SJoachim Eastwood	select MFD_SYSCON
7669bdd2d4SJoachim Eastwood	---help---
7769bdd2d4SJoachim Eastwood	  Support for NXP LPC18xx/43xx DWMAC Ethernet.
7869bdd2d4SJoachim Eastwood
799992f37eSBiao Huangconfig DWMAC_MEDIATEK
809992f37eSBiao Huang	tristate "MediaTek MT27xx GMAC support"
819992f37eSBiao Huang	depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)
829992f37eSBiao Huang	help
839992f37eSBiao Huang	  Support for MediaTek GMAC Ethernet controller.
849992f37eSBiao Huang
859992f37eSBiao Huang	  This selects the MT2712 SoC support for the stmmac driver.
869992f37eSBiao Huang
8740e6b0baSJoachim Eastwoodconfig DWMAC_MESON
8840e6b0baSJoachim Eastwood	tristate "Amlogic Meson dwmac support"
8940e6b0baSJoachim Eastwood	default ARCH_MESON
90566e8251SMartin Blumenstingl	depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
9140e6b0baSJoachim Eastwood	help
9240e6b0baSJoachim Eastwood	  Support for Ethernet controller on Amlogic Meson SoCs.
9340e6b0baSJoachim Eastwood
9440e6b0baSJoachim Eastwood	  This selects the Amlogic Meson SoC glue layer support for
95566e8251SMartin Blumenstingl	  the stmmac device driver. This driver is used for Meson6,
96566e8251SMartin Blumenstingl	  Meson8, Meson8b and GXBB SoCs.
9740e6b0baSJoachim Eastwood
985ed74140SNeil Armstrongconfig DWMAC_OXNAS
995ed74140SNeil Armstrong	tristate "Oxford Semiconductor OXNAS dwmac support"
1005ed74140SNeil Armstrong	default ARCH_OXNAS
1015ed74140SNeil Armstrong	depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
1025ed74140SNeil Armstrong	select MFD_SYSCON
1035ed74140SNeil Armstrong	help
1045ed74140SNeil Armstrong	  Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
1055ed74140SNeil Armstrong
1065ed74140SNeil Armstrong	  This selects the Oxford Semiconductor OXNASSoC glue layer support for
1075ed74140SNeil Armstrong	  the stmmac device driver. This driver is used for OX820.
1085ed74140SNeil Armstrong
109a7c30e62SVinod Koulconfig DWMAC_QCOM_ETHQOS
110a7c30e62SVinod Koul	tristate "Qualcomm ETHQOS support"
111a7c30e62SVinod Koul	default ARCH_QCOM
112a7c30e62SVinod Koul	depends on OF && (ARCH_QCOM || COMPILE_TEST)
113a7c30e62SVinod Koul	help
114a7c30e62SVinod Koul	  Support for the Qualcomm ETHQOS core.
115a7c30e62SVinod Koul
116a7c30e62SVinod Koul	  This selects the Qualcomm ETHQOS glue layer support for the
117a7c30e62SVinod Koul	  stmmac device driver.
118a7c30e62SVinod Koul
119e0fb4013SJoachim Eastwoodconfig DWMAC_ROCKCHIP
120e0fb4013SJoachim Eastwood	tristate "Rockchip dwmac support"
121e0fb4013SJoachim Eastwood	default ARCH_ROCKCHIP
122f7b9e8e1SGeert Uytterhoeven	depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
123e0fb4013SJoachim Eastwood	select MFD_SYSCON
124e0fb4013SJoachim Eastwood	help
125e0fb4013SJoachim Eastwood	  Support for Ethernet controller on Rockchip RK3288 SoC.
126e0fb4013SJoachim Eastwood
127e0fb4013SJoachim Eastwood	  This selects the Rockchip RK3288 SoC glue layer support for
128e0fb4013SJoachim Eastwood	  the stmmac device driver.
129e0fb4013SJoachim Eastwood
130c7c52ae7SJoachim Eastwoodconfig DWMAC_SOCFPGA
131c7c52ae7SJoachim Eastwood	tristate "SOCFPGA dwmac support"
132c305660bSDinh Nguyen	default (ARCH_SOCFPGA || ARCH_STRATIX10)
133bc8a2d9bSDinh Nguyen	depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST)
134c7c52ae7SJoachim Eastwood	select MFD_SYSCON
135c7c52ae7SJoachim Eastwood	help
136c7c52ae7SJoachim Eastwood	  Support for ethernet controller on Altera SOCFPGA
137c7c52ae7SJoachim Eastwood
138c7c52ae7SJoachim Eastwood	  This selects the Altera SOCFPGA SoC glue layer support
139c7c52ae7SJoachim Eastwood	  for the stmmac device driver. This driver is used for
140c7c52ae7SJoachim Eastwood	  arria5 and cyclone5 FPGA SoCs.
141c7c52ae7SJoachim Eastwood
1422a321798SJoachim Eastwoodconfig DWMAC_STI
1432a321798SJoachim Eastwood	tristate "STi GMAC support"
1442a321798SJoachim Eastwood	default ARCH_STI
145f7b9e8e1SGeert Uytterhoeven	depends on OF && (ARCH_STI || COMPILE_TEST)
1462a321798SJoachim Eastwood	select MFD_SYSCON
1472a321798SJoachim Eastwood	---help---
1482a321798SJoachim Eastwood	  Support for ethernet controller on STi SOCs.
1492a321798SJoachim Eastwood
1502a321798SJoachim Eastwood	  This selects STi SoC glue layer support for the stmmac
1512a321798SJoachim Eastwood	  device driver. This driver is used on for the STi series
1522a321798SJoachim Eastwood	  SOCs GMAC ethernet controller.
1532a321798SJoachim Eastwood
154c6eec6f3SAlexandre TORGUEconfig DWMAC_STM32
155c6eec6f3SAlexandre TORGUE	tristate "STM32 DWMAC support"
156c6eec6f3SAlexandre TORGUE	default ARCH_STM32
1576bc5445cSPeter Robinson	depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
158c6eec6f3SAlexandre TORGUE	select MFD_SYSCON
159c6eec6f3SAlexandre TORGUE	---help---
160c6eec6f3SAlexandre TORGUE	  Support for ethernet controller on STM32 SOCs.
161c6eec6f3SAlexandre TORGUE
162c6eec6f3SAlexandre TORGUE	  This selects STM32 SoC glue layer support for the stmmac
163c6eec6f3SAlexandre TORGUE	  device driver. This driver is used on for the STM32 series
164c6eec6f3SAlexandre TORGUE	  SOCs GMAC ethernet controller.
165c6eec6f3SAlexandre TORGUE
1664198b7dbSJoachim Eastwoodconfig DWMAC_SUNXI
1674198b7dbSJoachim Eastwood	tristate "Allwinner GMAC support"
1684198b7dbSJoachim Eastwood	default ARCH_SUNXI
169f7b9e8e1SGeert Uytterhoeven	depends on OF && (ARCH_SUNXI || COMPILE_TEST)
1704198b7dbSJoachim Eastwood	---help---
1714198b7dbSJoachim Eastwood	  Support for Allwinner A20/A31 GMAC ethernet controllers.
1724198b7dbSJoachim Eastwood
1734198b7dbSJoachim Eastwood	  This selects Allwinner SoC glue layer support for the
1744198b7dbSJoachim Eastwood	  stmmac device driver. This driver is used for A20/A31
1754198b7dbSJoachim Eastwood	  GMAC ethernet controller.
1769f93ac8dSLABBE Corentin
1779f93ac8dSLABBE Corentinconfig DWMAC_SUN8I
1789f93ac8dSLABBE Corentin	tristate "Allwinner sun8i GMAC support"
1799f93ac8dSLABBE Corentin	default ARCH_SUNXI
1809f93ac8dSLABBE Corentin	depends on OF && (ARCH_SUNXI || COMPILE_TEST)
181634db83bSCorentin Labbe	select MDIO_BUS_MUX
1829f93ac8dSLABBE Corentin	---help---
1839f93ac8dSLABBE Corentin	  Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
1849f93ac8dSLABBE Corentin
1859f93ac8dSLABBE Corentin	  This selects Allwinner SoC glue layer support for the
1869f93ac8dSLABBE Corentin	  stmmac device driver. This driver is used for H3/A83T/A64
1879f93ac8dSLABBE Corentin	  EMAC ethernet controller.
188ba25020eSJoachim Eastwoodendif
189ba25020eSJoachim Eastwood
190bfab27a1SGiuseppe CAVALLAROconfig STMMAC_PCI
191b2e2f0c7SAndy Shevchenko	tristate "STMMAC PCI bus support"
1926e1215adSKees Cook	depends on STMMAC_ETH && PCI
193bfab27a1SGiuseppe CAVALLARO	---help---
194ab70e586Sjpinto	  This selects the platform specific bus support for the stmmac driver.
195ab70e586Sjpinto	  This driver was tested on XLINX XC2V3000 FF1152AMT0221
196ab70e586Sjpinto	  D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
197bfab27a1SGiuseppe CAVALLARO
198ab70e586Sjpinto	  If you have a controller with this interface, say Y or M here.
199bfab27a1SGiuseppe CAVALLARO
200bfab27a1SGiuseppe CAVALLARO	  If unsure, say N.
2017ac6653aSJeff Kirsherendif
202