Loading...
1# SPDX-License-Identifier: GPL-2.0-only
2config STMMAC_ETH
3 tristate "STMicroelectronics Multi-Gigabit Ethernet driver"
4 depends on HAS_IOMEM && HAS_DMA
5 depends on PTP_1588_CLOCK_OPTIONAL
6 select MII
7 select PCS_XPCS
8 select PAGE_POOL
9 select PHYLINK
10 select CRC32
11 select RESET_CONTROLLER
12 help
13 This is the driver for the Ethernet IPs built around a
14 Synopsys IP Core.
15
16if STMMAC_ETH
17
18config STMMAC_SELFTESTS
19 bool "Support for STMMAC Selftests"
20 depends on INET
21 depends on STMMAC_ETH
22 default n
23 help
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.
27
28config STMMAC_PLATFORM
29 tristate "STMMAC Platform bus support"
30 depends on STMMAC_ETH
31 select MFD_SYSCON
32 default y
33 help
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.
37
38 If you have a controller with this interface, say Y or M here.
39
40 If unsure, say N.
41
42if STMMAC_PLATFORM
43
44config DWMAC_DWC_QOS_ETH
45 tristate "Support for snps,dwc-qos-ethernet.txt DT binding."
46 select CRC32
47 select MII
48 depends on OF && HAS_DMA
49 help
50 Support for chips using the snps,dwc-qos-ethernet.txt DT binding.
51
52config DWMAC_GENERIC
53 tristate "Generic driver for DWMAC"
54 default STMMAC_PLATFORM
55 help
56 Generic DWMAC driver for platforms that don't require any
57 platform specific code to function or is using platform
58 data for setup.
59
60config DWMAC_ANARION
61 tristate "Adaptrum Anarion GMAC support"
62 default ARC
63 depends on OF && (ARC || COMPILE_TEST)
64 help
65 Support for Adaptrum Anarion GMAC Ethernet controller.
66
67 This selects the Anarion SoC glue layer support for the stmmac driver.
68
69config DWMAC_INGENIC
70 tristate "Ingenic MAC support"
71 default MACH_INGENIC
72 depends on OF && HAS_IOMEM && (MACH_INGENIC || COMPILE_TEST)
73 select MFD_SYSCON
74 help
75 Support for ethernet controller on Ingenic SoCs.
76
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.
80
81config DWMAC_IPQ806X
82 tristate "QCA IPQ806x DWMAC support"
83 default ARCH_QCOM
84 depends on OF && (ARCH_QCOM || COMPILE_TEST)
85 select MFD_SYSCON
86 help
87 Support for QCA IPQ806X DWMAC Ethernet.
88
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.
93
94 Select the QCOM_SOCINFO config flag to enable specific dwmac
95 fixup based on the ipq806x SoC revision.
96
97config DWMAC_LPC18XX
98 tristate "NXP LPC18xx/43xx DWMAC support"
99 default ARCH_LPC18XX
100 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
101 select MFD_SYSCON
102 help
103 Support for NXP LPC18xx/43xx DWMAC Ethernet.
104
105config DWMAC_MEDIATEK
106 tristate "MediaTek MT27xx GMAC support"
107 depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)
108 help
109 Support for MediaTek GMAC Ethernet controller.
110
111 This selects the MT2712 SoC support for the stmmac driver.
112
113config DWMAC_MESON
114 tristate "Amlogic Meson dwmac support"
115 default ARCH_MESON
116 depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
117 help
118 Support for Ethernet controller on Amlogic Meson SoCs.
119
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.
123
124config DWMAC_QCOM_ETHQOS
125 tristate "Qualcomm ETHQOS support"
126 default ARCH_QCOM
127 depends on OF && (ARCH_QCOM || COMPILE_TEST)
128 help
129 Support for the Qualcomm ETHQOS core.
130
131 This selects the Qualcomm ETHQOS glue layer support for the
132 stmmac device driver.
133
134config DWMAC_ROCKCHIP
135 tristate "Rockchip dwmac support"
136 default ARCH_ROCKCHIP
137 depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
138 select MFD_SYSCON
139 help
140 Support for Ethernet controller on Rockchip RK3288 SoC.
141
142 This selects the Rockchip RK3288 SoC glue layer support for
143 the stmmac device driver.
144
145config DWMAC_SOCFPGA
146 tristate "SOCFPGA dwmac support"
147 default ARCH_INTEL_SOCFPGA
148 depends on OF && (ARCH_INTEL_SOCFPGA || COMPILE_TEST)
149 select MFD_SYSCON
150 select MDIO_REGMAP
151 select REGMAP_MMIO
152 select PCS_LYNX
153 help
154 Support for ethernet controller on Altera SOCFPGA
155
156 This selects the Altera SOCFPGA SoC glue layer support
157 for the stmmac device driver. This driver is used for
158 arria5 and cyclone5 FPGA SoCs.
159
160config DWMAC_STARFIVE
161 tristate "StarFive dwmac support"
162 depends on OF && (ARCH_STARFIVE || COMPILE_TEST)
163 select MFD_SYSCON
164 default m if ARCH_STARFIVE
165 help
166 Support for ethernet controllers on StarFive RISC-V SoCs
167
168 This selects the StarFive platform specific glue layer support for
169 the stmmac device driver. This driver is used for StarFive JH7110
170 ethernet controller.
171
172config DWMAC_STI
173 tristate "STi GMAC support"
174 default ARCH_STI
175 depends on OF && (ARCH_STI || COMPILE_TEST)
176 select MFD_SYSCON
177 help
178 Support for ethernet controller on STi SOCs.
179
180 This selects STi SoC glue layer support for the stmmac
181 device driver. This driver is used on for the STi series
182 SOCs GMAC ethernet controller.
183
184config DWMAC_STM32
185 tristate "STM32 DWMAC support"
186 default ARCH_STM32
187 depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
188 select MFD_SYSCON
189 help
190 Support for ethernet controller on STM32 SOCs.
191
192 This selects STM32 SoC glue layer support for the stmmac
193 device driver. This driver is used on for the STM32 series
194 SOCs GMAC ethernet controller.
195
196config DWMAC_SUNXI
197 tristate "Allwinner GMAC support"
198 default ARCH_SUNXI
199 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
200 help
201 Support for Allwinner A20/A31 GMAC ethernet controllers.
202
203 This selects Allwinner SoC glue layer support for the
204 stmmac device driver. This driver is used for A20/A31
205 GMAC ethernet controller.
206
207config DWMAC_SUN8I
208 tristate "Allwinner sun8i GMAC support"
209 default ARCH_SUNXI
210 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
211 select MDIO_BUS_MUX
212 help
213 Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
214
215 This selects Allwinner SoC glue layer support for the
216 stmmac device driver. This driver is used for H3/A83T/A64
217 EMAC ethernet controller.
218
219config DWMAC_IMX8
220 tristate "NXP IMX8 DWMAC support"
221 default ARCH_MXC
222 depends on OF && (ARCH_MXC || COMPILE_TEST)
223 select MFD_SYSCON
224 help
225 Support for ethernet controller on NXP i.MX8 SOCs.
226
227 This selects NXP SoC glue layer support for the stmmac
228 device driver. This driver is used for i.MX8 series like
229 iMX8MP/iMX8DXL GMAC ethernet controller.
230
231config DWMAC_INTEL_PLAT
232 tristate "Intel dwmac support"
233 depends on OF && COMMON_CLK
234 depends on STMMAC_ETH
235 help
236 Support for ethernet controllers on Intel SoCs
237
238 This selects the Intel platform specific glue layer support for
239 the stmmac device driver. This driver is used for the Intel Keem Bay
240 SoC.
241
242config DWMAC_LOONGSON1
243 tristate "Loongson1 GMAC support"
244 default MACH_LOONGSON32
245 depends on OF && (MACH_LOONGSON32 || COMPILE_TEST)
246 help
247 Support for ethernet controller on Loongson1 SoC.
248
249 This selects Loongson1 SoC glue layer support for the stmmac
250 device driver. This driver is used for Loongson1-based boards
251 like Loongson LS1B/LS1C.
252
253config DWMAC_TEGRA
254 tristate "NVIDIA Tegra MGBE support"
255 depends on ARCH_TEGRA || COMPILE_TEST
256 help
257 This selects the Multi-GigaBit Ethernet (MGBE) Controller that is
258 found on the NVIDIA Tegra SoC devices. This driver provides the glue
259 layer on top of the stmmac driver required for these NVIDIA Tegra SoC
260 devices.
261
262config DWMAC_VISCONTI
263 tristate "Toshiba Visconti DWMAC support"
264 default ARCH_VISCONTI
265 depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST)
266 help
267 Support for ethernet controller on Visconti SoCs.
268
269endif
270
271config DWMAC_INTEL
272 tristate "Intel GMAC support"
273 default X86
274 depends on X86 && STMMAC_ETH && PCI
275 depends on COMMON_CLK
276 help
277 This selects the Intel platform specific bus support for the
278 stmmac driver. This driver is used for Intel Quark/EHL/TGL.
279
280config DWMAC_LOONGSON
281 tristate "Loongson PCI DWMAC support"
282 default MACH_LOONGSON64
283 depends on (MACH_LOONGSON64 || COMPILE_TEST) && STMMAC_ETH && PCI
284 depends on COMMON_CLK
285 help
286 This selects the LOONGSON PCI bus support for the stmmac driver,
287 Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge.
288
289config STMMAC_PCI
290 tristate "STMMAC PCI bus support"
291 depends on STMMAC_ETH && PCI
292 depends on COMMON_CLK
293 help
294 This selects the platform specific bus support for the stmmac driver.
295 This driver was tested on XLINX XC2V3000 FF1152AMT0221
296 D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
297
298 If you have a controller with this interface, say Y or M here.
299
300 If unsure, say N.
301endif
1config STMMAC_ETH
2 tristate "STMicroelectronics 10/100/1000/EQOS Ethernet driver"
3 depends on HAS_IOMEM && HAS_DMA
4 select MII
5 select PHYLIB
6 select CRC32
7 imply PTP_1588_CLOCK
8 select RESET_CONTROLLER
9 ---help---
10 This is the driver for the Ethernet IPs built around a
11 Synopsys IP Core.
12
13if STMMAC_ETH
14
15config STMMAC_PLATFORM
16 tristate "STMMAC Platform bus support"
17 depends on STMMAC_ETH
18 select MFD_SYSCON
19 default y
20 ---help---
21 This selects the platform specific bus support for the stmmac driver.
22 This is the driver used on several SoCs:
23 STi, Allwinner, Amlogic Meson, Altera SOCFPGA.
24
25 If you have a controller with this interface, say Y or M here.
26
27 If unsure, say N.
28
29if STMMAC_PLATFORM
30
31config DWMAC_DWC_QOS_ETH
32 tristate "Support for snps,dwc-qos-ethernet.txt DT binding."
33 select PHYLIB
34 select CRC32
35 select MII
36 depends on OF && HAS_DMA
37 help
38 Support for chips using the snps,dwc-qos-ethernet.txt DT binding.
39
40config DWMAC_GENERIC
41 tristate "Generic driver for DWMAC"
42 default STMMAC_PLATFORM
43 ---help---
44 Generic DWMAC driver for platforms that don't require any
45 platform specific code to function or is using platform
46 data for setup.
47
48config DWMAC_ANARION
49 tristate "Adaptrum Anarion GMAC support"
50 default ARC
51 depends on OF && (ARC || COMPILE_TEST)
52 help
53 Support for Adaptrum Anarion GMAC Ethernet controller.
54
55 This selects the Anarion SoC glue layer support for the stmmac driver.
56
57config DWMAC_IPQ806X
58 tristate "QCA IPQ806x DWMAC support"
59 default ARCH_QCOM
60 depends on OF && (ARCH_QCOM || COMPILE_TEST)
61 select MFD_SYSCON
62 help
63 Support for QCA IPQ806X DWMAC Ethernet.
64
65 This selects the IPQ806x SoC glue layer support for the stmmac
66 device driver. This driver does not use any of the hardware
67 acceleration features available on this SoC. Network devices
68 will behave like standard non-accelerated ethernet interfaces.
69
70config DWMAC_LPC18XX
71 tristate "NXP LPC18xx/43xx DWMAC support"
72 default ARCH_LPC18XX
73 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
74 select MFD_SYSCON
75 ---help---
76 Support for NXP LPC18xx/43xx DWMAC Ethernet.
77
78config DWMAC_MESON
79 tristate "Amlogic Meson dwmac support"
80 default ARCH_MESON
81 depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
82 help
83 Support for Ethernet controller on Amlogic Meson SoCs.
84
85 This selects the Amlogic Meson SoC glue layer support for
86 the stmmac device driver. This driver is used for Meson6,
87 Meson8, Meson8b and GXBB SoCs.
88
89config DWMAC_OXNAS
90 tristate "Oxford Semiconductor OXNAS dwmac support"
91 default ARCH_OXNAS
92 depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
93 select MFD_SYSCON
94 help
95 Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
96
97 This selects the Oxford Semiconductor OXNASSoC glue layer support for
98 the stmmac device driver. This driver is used for OX820.
99
100config DWMAC_ROCKCHIP
101 tristate "Rockchip dwmac support"
102 default ARCH_ROCKCHIP
103 depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
104 select MFD_SYSCON
105 help
106 Support for Ethernet controller on Rockchip RK3288 SoC.
107
108 This selects the Rockchip RK3288 SoC glue layer support for
109 the stmmac device driver.
110
111config DWMAC_SOCFPGA
112 tristate "SOCFPGA dwmac support"
113 default ARCH_SOCFPGA
114 depends on OF && (ARCH_SOCFPGA || COMPILE_TEST)
115 select MFD_SYSCON
116 help
117 Support for ethernet controller on Altera SOCFPGA
118
119 This selects the Altera SOCFPGA SoC glue layer support
120 for the stmmac device driver. This driver is used for
121 arria5 and cyclone5 FPGA SoCs.
122
123config DWMAC_STI
124 tristate "STi GMAC support"
125 default ARCH_STI
126 depends on OF && (ARCH_STI || COMPILE_TEST)
127 select MFD_SYSCON
128 ---help---
129 Support for ethernet controller on STi SOCs.
130
131 This selects STi SoC glue layer support for the stmmac
132 device driver. This driver is used on for the STi series
133 SOCs GMAC ethernet controller.
134
135config DWMAC_STM32
136 tristate "STM32 DWMAC support"
137 default ARCH_STM32
138 depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
139 select MFD_SYSCON
140 ---help---
141 Support for ethernet controller on STM32 SOCs.
142
143 This selects STM32 SoC glue layer support for the stmmac
144 device driver. This driver is used on for the STM32 series
145 SOCs GMAC ethernet controller.
146
147config DWMAC_SUNXI
148 tristate "Allwinner GMAC support"
149 default ARCH_SUNXI
150 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
151 ---help---
152 Support for Allwinner A20/A31 GMAC ethernet controllers.
153
154 This selects Allwinner SoC glue layer support for the
155 stmmac device driver. This driver is used for A20/A31
156 GMAC ethernet controller.
157
158config DWMAC_SUN8I
159 tristate "Allwinner sun8i GMAC support"
160 default ARCH_SUNXI
161 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
162 select MDIO_BUS_MUX
163 ---help---
164 Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
165
166 This selects Allwinner SoC glue layer support for the
167 stmmac device driver. This driver is used for H3/A83T/A64
168 EMAC ethernet controller.
169endif
170
171config STMMAC_PCI
172 tristate "STMMAC PCI bus support"
173 depends on STMMAC_ETH && PCI
174 ---help---
175 This selects the platform specific bus support for the stmmac driver.
176 This driver was tested on XLINX XC2V3000 FF1152AMT0221
177 D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
178
179 If you have a controller with this interface, say Y or M here.
180
181 If unsure, say N.
182endif