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
203bfab27a1SGiuseppe CAVALLARO	---help---
204ab70e586Sjpinto	  This selects the platform specific bus support for the stmmac driver.
205ab70e586Sjpinto	  This driver was tested on XLINX XC2V3000 FF1152AMT0221
206ab70e586Sjpinto	  D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
207bfab27a1SGiuseppe CAVALLARO
208ab70e586Sjpinto	  If you have a controller with this interface, say Y or M here.
209bfab27a1SGiuseppe CAVALLARO
210bfab27a1SGiuseppe CAVALLARO	  If unsure, say N.
2117ac6653aSJeff Kirsherendif
212