1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "STMicroelectronics Multi-Gigabit Ethernet driver"
4 depends on HAS_IOMEM && HAS_DMA
10 select RESET_CONTROLLER
12 This is the driver for the Ethernet IPs built around a
17 config STMMAC_SELFTESTS
18 bool "Support for STMMAC Selftests"
23 This adds support for STMMAC Selftests using ethtool. Enable this
24 feature if you are facing problems with your HW and submit the test
25 results to the netdev Mailing List.
27 config STMMAC_PLATFORM
28 tristate "STMMAC Platform bus support"
33 This selects the platform specific bus support for the stmmac driver.
34 This is the driver used on several SoCs:
35 STi, Allwinner, Amlogic Meson, Altera SOCFPGA.
37 If you have a controller with this interface, say Y or M here.
43 config DWMAC_DWC_QOS_ETH
44 tristate "Support for snps,dwc-qos-ethernet.txt DT binding."
47 depends on OF && HAS_DMA
49 Support for chips using the snps,dwc-qos-ethernet.txt DT binding.
52 tristate "Generic driver for DWMAC"
53 default STMMAC_PLATFORM
55 Generic DWMAC driver for platforms that don't require any
56 platform specific code to function or is using platform
60 tristate "Adaptrum Anarion GMAC support"
62 depends on OF && (ARC || COMPILE_TEST)
64 Support for Adaptrum Anarion GMAC Ethernet controller.
66 This selects the Anarion SoC glue layer support for the stmmac driver.
69 tristate "QCA IPQ806x DWMAC support"
71 depends on OF && (ARCH_QCOM || COMPILE_TEST)
74 Support for QCA IPQ806X DWMAC Ethernet.
76 This selects the IPQ806x SoC glue layer support for the stmmac
77 device driver. This driver does not use any of the hardware
78 acceleration features available on this SoC. Network devices
79 will behave like standard non-accelerated ethernet interfaces.
82 tristate "NXP LPC18xx/43xx DWMAC support"
84 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
87 Support for NXP LPC18xx/43xx DWMAC Ethernet.
90 tristate "MediaTek MT27xx GMAC support"
91 depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)
93 Support for MediaTek GMAC Ethernet controller.
95 This selects the MT2712 SoC support for the stmmac driver.
98 tristate "Amlogic Meson dwmac support"
100 depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
102 Support for Ethernet controller on Amlogic Meson SoCs.
104 This selects the Amlogic Meson SoC glue layer support for
105 the stmmac device driver. This driver is used for Meson6,
106 Meson8, Meson8b and GXBB SoCs.
109 tristate "Oxford Semiconductor OXNAS dwmac support"
111 depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
114 Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
116 This selects the Oxford Semiconductor OXNASSoC glue layer support for
117 the stmmac device driver. This driver is used for OX820.
119 config DWMAC_QCOM_ETHQOS
120 tristate "Qualcomm ETHQOS support"
122 depends on OF && (ARCH_QCOM || COMPILE_TEST)
124 Support for the Qualcomm ETHQOS core.
126 This selects the Qualcomm ETHQOS glue layer support for the
127 stmmac device driver.
129 config DWMAC_ROCKCHIP
130 tristate "Rockchip dwmac support"
131 default ARCH_ROCKCHIP
132 depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
135 Support for Ethernet controller on Rockchip RK3288 SoC.
137 This selects the Rockchip RK3288 SoC glue layer support for
138 the stmmac device driver.
141 tristate "SOCFPGA dwmac support"
142 default (ARCH_SOCFPGA || ARCH_STRATIX10)
143 depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST)
146 Support for ethernet controller on Altera SOCFPGA
148 This selects the Altera SOCFPGA SoC glue layer support
149 for the stmmac device driver. This driver is used for
150 arria5 and cyclone5 FPGA SoCs.
153 tristate "STi GMAC support"
155 depends on OF && (ARCH_STI || COMPILE_TEST)
158 Support for ethernet controller on STi SOCs.
160 This selects STi SoC glue layer support for the stmmac
161 device driver. This driver is used on for the STi series
162 SOCs GMAC ethernet controller.
165 tristate "STM32 DWMAC support"
167 depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
170 Support for ethernet controller on STM32 SOCs.
172 This selects STM32 SoC glue layer support for the stmmac
173 device driver. This driver is used on for the STM32 series
174 SOCs GMAC ethernet controller.
177 tristate "Allwinner GMAC support"
179 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
181 Support for Allwinner A20/A31 GMAC ethernet controllers.
183 This selects Allwinner SoC glue layer support for the
184 stmmac device driver. This driver is used for A20/A31
185 GMAC ethernet controller.
188 tristate "Allwinner sun8i GMAC support"
190 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
193 Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
195 This selects Allwinner SoC glue layer support for the
196 stmmac device driver. This driver is used for H3/A83T/A64
197 EMAC ethernet controller.
201 tristate "STMMAC PCI bus support"
202 depends on STMMAC_ETH && PCI
203 depends on COMMON_CLK
205 This selects the platform specific bus support for the stmmac driver.
206 This driver was tested on XLINX XC2V3000 FF1152AMT0221
207 D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
209 If you have a controller with this interface, say Y or M here.