1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "STMicroelectronics Multi-Gigabit Ethernet driver"
4 depends on HAS_IOMEM && HAS_DMA
5 depends on PTP_1588_CLOCK_OPTIONAL
11 select RESET_CONTROLLER
13 This is the driver for the Ethernet IPs built around a
18 config STMMAC_SELFTESTS
19 bool "Support for STMMAC Selftests"
24 This adds support for STMMAC Selftests using ethtool. Enable this
25 feature if you are facing problems with your HW and submit the test
26 results to the netdev Mailing List.
28 config STMMAC_PLATFORM
29 tristate "STMMAC Platform bus support"
34 This selects the platform specific bus support for the stmmac driver.
35 This is the driver used on several SoCs:
36 STi, Allwinner, Amlogic Meson, Altera SOCFPGA.
38 If you have a controller with this interface, say Y or M here.
44 config DWMAC_DWC_QOS_ETH
45 tristate "Support for snps,dwc-qos-ethernet.txt DT binding."
48 depends on OF && HAS_DMA
50 Support for chips using the snps,dwc-qos-ethernet.txt DT binding.
53 tristate "Generic driver for DWMAC"
54 default STMMAC_PLATFORM
56 Generic DWMAC driver for platforms that don't require any
57 platform specific code to function or is using platform
61 tristate "Adaptrum Anarion GMAC support"
63 depends on OF && (ARC || COMPILE_TEST)
65 Support for Adaptrum Anarion GMAC Ethernet controller.
67 This selects the Anarion SoC glue layer support for the stmmac driver.
70 tristate "Ingenic MAC support"
72 depends on OF && HAS_IOMEM && (MACH_INGENIC || COMPILE_TEST)
75 Support for ethernet controller on Ingenic SoCs.
77 This selects Ingenic SoCs glue layer support for the stmmac
78 device driver. This driver is used on for the Ingenic SoCs
79 MAC ethernet controller.
82 tristate "QCA IPQ806x DWMAC support"
84 depends on OF && (ARCH_QCOM || COMPILE_TEST)
87 Support for QCA IPQ806X DWMAC Ethernet.
89 This selects the IPQ806x SoC glue layer support for the stmmac
90 device driver. This driver does not use any of the hardware
91 acceleration features available on this SoC. Network devices
92 will behave like standard non-accelerated ethernet interfaces.
94 Select the QCOM_SOCINFO config flag to enable specific dwmac
95 fixup based on the ipq806x SoC revision.
98 tristate "NXP LPC18xx/43xx DWMAC support"
100 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
103 Support for NXP LPC18xx/43xx DWMAC Ethernet.
105 config DWMAC_MEDIATEK
106 tristate "MediaTek MT27xx GMAC support"
107 depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)
109 Support for MediaTek GMAC Ethernet controller.
111 This selects the MT2712 SoC support for the stmmac driver.
114 tristate "Amlogic Meson dwmac support"
116 depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
118 Support for Ethernet controller on Amlogic Meson SoCs.
120 This selects the Amlogic Meson SoC glue layer support for
121 the stmmac device driver. This driver is used for Meson6,
122 Meson8, Meson8b and GXBB SoCs.
125 tristate "Oxford Semiconductor OXNAS dwmac support"
127 depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
130 Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
132 This selects the Oxford Semiconductor OXNASSoC glue layer support for
133 the stmmac device driver. This driver is used for OX820.
135 config DWMAC_QCOM_ETHQOS
136 tristate "Qualcomm ETHQOS support"
138 depends on OF && (ARCH_QCOM || COMPILE_TEST)
140 Support for the Qualcomm ETHQOS core.
142 This selects the Qualcomm ETHQOS glue layer support for the
143 stmmac device driver.
145 config DWMAC_ROCKCHIP
146 tristate "Rockchip dwmac support"
147 default ARCH_ROCKCHIP
148 depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
151 Support for Ethernet controller on Rockchip RK3288 SoC.
153 This selects the Rockchip RK3288 SoC glue layer support for
154 the stmmac device driver.
157 tristate "SOCFPGA dwmac support"
158 default ARCH_INTEL_SOCFPGA
159 depends on OF && (ARCH_INTEL_SOCFPGA || COMPILE_TEST)
162 Support for ethernet controller on Altera SOCFPGA
164 This selects the Altera SOCFPGA SoC glue layer support
165 for the stmmac device driver. This driver is used for
166 arria5 and cyclone5 FPGA SoCs.
169 tristate "STi GMAC support"
171 depends on OF && (ARCH_STI || COMPILE_TEST)
174 Support for ethernet controller on STi SOCs.
176 This selects STi SoC glue layer support for the stmmac
177 device driver. This driver is used on for the STi series
178 SOCs GMAC ethernet controller.
181 tristate "STM32 DWMAC support"
183 depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
186 Support for ethernet controller on STM32 SOCs.
188 This selects STM32 SoC glue layer support for the stmmac
189 device driver. This driver is used on for the STM32 series
190 SOCs GMAC ethernet controller.
193 tristate "Allwinner GMAC support"
195 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
197 Support for Allwinner A20/A31 GMAC ethernet controllers.
199 This selects Allwinner SoC glue layer support for the
200 stmmac device driver. This driver is used for A20/A31
201 GMAC ethernet controller.
204 tristate "Allwinner sun8i GMAC support"
206 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
209 Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
211 This selects Allwinner SoC glue layer support for the
212 stmmac device driver. This driver is used for H3/A83T/A64
213 EMAC ethernet controller.
216 tristate "NXP IMX8 DWMAC support"
218 depends on OF && (ARCH_MXC || COMPILE_TEST)
221 Support for ethernet controller on NXP i.MX8 SOCs.
223 This selects NXP SoC glue layer support for the stmmac
224 device driver. This driver is used for i.MX8 series like
225 iMX8MP/iMX8DXL GMAC ethernet controller.
227 config DWMAC_INTEL_PLAT
228 tristate "Intel dwmac support"
229 depends on OF && COMMON_CLK
230 depends on STMMAC_ETH
232 Support for ethernet controllers on Intel SoCs
234 This selects the Intel platform specific glue layer support for
235 the stmmac device driver. This driver is used for the Intel Keem Bay
238 config DWMAC_VISCONTI
239 tristate "Toshiba Visconti DWMAC support"
240 default ARCH_VISCONTI
241 depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST)
243 Support for ethernet controller on Visconti SoCs.
248 tristate "Intel GMAC support"
250 depends on X86 && STMMAC_ETH && PCI
251 depends on COMMON_CLK
253 This selects the Intel platform specific bus support for the
254 stmmac driver. This driver is used for Intel Quark/EHL/TGL.
256 config DWMAC_LOONGSON
257 tristate "Loongson PCI DWMAC support"
258 default MACH_LOONGSON64
259 depends on STMMAC_ETH && PCI
260 depends on COMMON_CLK
262 This selects the LOONGSON PCI bus support for the stmmac driver,
263 Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge.
266 tristate "STMMAC PCI bus support"
267 depends on STMMAC_ETH && PCI
268 depends on COMMON_CLK
270 This selects the platform specific bus support for the stmmac driver.
271 This driver was tested on XLINX XC2V3000 FF1152AMT0221
272 D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
274 If you have a controller with this interface, say Y or M here.