1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "STMicroelectronics Multi-Gigabit Ethernet driver"
4 depends on HAS_IOMEM && HAS_DMA
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 "QCA IPQ806x DWMAC support"
72 depends on OF && (ARCH_QCOM || COMPILE_TEST)
75 Support for QCA IPQ806X DWMAC Ethernet.
77 This selects the IPQ806x SoC glue layer support for the stmmac
78 device driver. This driver does not use any of the hardware
79 acceleration features available on this SoC. Network devices
80 will behave like standard non-accelerated ethernet interfaces.
83 tristate "NXP LPC18xx/43xx DWMAC support"
85 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
88 Support for NXP LPC18xx/43xx DWMAC Ethernet.
91 tristate "MediaTek MT27xx GMAC support"
92 depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)
94 Support for MediaTek GMAC Ethernet controller.
96 This selects the MT2712 SoC support for the stmmac driver.
99 tristate "Amlogic Meson dwmac support"
101 depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
103 Support for Ethernet controller on Amlogic Meson SoCs.
105 This selects the Amlogic Meson SoC glue layer support for
106 the stmmac device driver. This driver is used for Meson6,
107 Meson8, Meson8b and GXBB SoCs.
110 tristate "Oxford Semiconductor OXNAS dwmac support"
112 depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
115 Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
117 This selects the Oxford Semiconductor OXNASSoC glue layer support for
118 the stmmac device driver. This driver is used for OX820.
120 config DWMAC_QCOM_ETHQOS
121 tristate "Qualcomm ETHQOS support"
123 depends on OF && (ARCH_QCOM || COMPILE_TEST)
125 Support for the Qualcomm ETHQOS core.
127 This selects the Qualcomm ETHQOS glue layer support for the
128 stmmac device driver.
130 config DWMAC_ROCKCHIP
131 tristate "Rockchip dwmac support"
132 default ARCH_ROCKCHIP
133 depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
136 Support for Ethernet controller on Rockchip RK3288 SoC.
138 This selects the Rockchip RK3288 SoC glue layer support for
139 the stmmac device driver.
142 tristate "SOCFPGA dwmac support"
143 default (ARCH_SOCFPGA || ARCH_STRATIX10)
144 depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST)
147 Support for ethernet controller on Altera SOCFPGA
149 This selects the Altera SOCFPGA SoC glue layer support
150 for the stmmac device driver. This driver is used for
151 arria5 and cyclone5 FPGA SoCs.
154 tristate "STi GMAC support"
156 depends on OF && (ARCH_STI || COMPILE_TEST)
159 Support for ethernet controller on STi SOCs.
161 This selects STi SoC glue layer support for the stmmac
162 device driver. This driver is used on for the STi series
163 SOCs GMAC ethernet controller.
166 tristate "STM32 DWMAC support"
168 depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
171 Support for ethernet controller on STM32 SOCs.
173 This selects STM32 SoC glue layer support for the stmmac
174 device driver. This driver is used on for the STM32 series
175 SOCs GMAC ethernet controller.
178 tristate "Allwinner GMAC support"
180 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
182 Support for Allwinner A20/A31 GMAC ethernet controllers.
184 This selects Allwinner SoC glue layer support for the
185 stmmac device driver. This driver is used for A20/A31
186 GMAC ethernet controller.
189 tristate "Allwinner sun8i GMAC support"
191 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
194 Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
196 This selects Allwinner SoC glue layer support for the
197 stmmac device driver. This driver is used for H3/A83T/A64
198 EMAC ethernet controller.
201 tristate "NXP IMX8 DWMAC support"
203 depends on OF && (ARCH_MXC || COMPILE_TEST)
206 Support for ethernet controller on NXP i.MX8 SOCs.
208 This selects NXP SoC glue layer support for the stmmac
209 device driver. This driver is used for i.MX8 series like
210 iMX8MP/iMX8DXL GMAC ethernet controller.
212 config DWMAC_INTEL_PLAT
213 tristate "Intel dwmac support"
214 depends on OF && COMMON_CLK
215 depends on STMMAC_ETH
217 Support for ethernet controllers on Intel SoCs
219 This selects the Intel platform specific glue layer support for
220 the stmmac device driver. This driver is used for the Intel Keem Bay
225 tristate "Intel GMAC support"
227 depends on X86 && STMMAC_ETH && PCI
228 depends on COMMON_CLK
230 This selects the Intel platform specific bus support for the
231 stmmac driver. This driver is used for Intel Quark/EHL/TGL.
234 tristate "STMMAC PCI bus support"
235 depends on STMMAC_ETH && PCI
236 depends on COMMON_CLK
238 This selects the platform specific bus support for the stmmac driver.
239 This driver was tested on XLINX XC2V3000 FF1152AMT0221
240 D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
242 If you have a controller with this interface, say Y or M here.