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_RZN1
146 tristate "Renesas RZ/N1 dwmac support"
147 default ARCH_RZN1
148 depends on OF && (ARCH_RZN1 || COMPILE_TEST)
149 select PCS_RZN1_MIIC
150 help
151 Support for Ethernet controller on Renesas RZ/N1 SoC family.
152
153 This selects the Renesas RZ/N1 SoC glue layer support for
154 the stmmac device driver. This support can make use of a custom MII
155 converter PCS device.
156
157config DWMAC_SOCFPGA
158 tristate "SOCFPGA dwmac support"
159 default ARCH_INTEL_SOCFPGA
160 depends on OF && (ARCH_INTEL_SOCFPGA || COMPILE_TEST)
161 select MFD_SYSCON
162 select MDIO_REGMAP
163 select REGMAP_MMIO
164 select PCS_LYNX
165 help
166 Support for ethernet controller on Altera SOCFPGA
167
168 This selects the Altera SOCFPGA SoC glue layer support
169 for the stmmac device driver. This driver is used for
170 arria5 and cyclone5 FPGA SoCs.
171
172config DWMAC_STARFIVE
173 tristate "StarFive dwmac support"
174 depends on OF && (ARCH_STARFIVE || COMPILE_TEST)
175 select MFD_SYSCON
176 default m if ARCH_STARFIVE
177 help
178 Support for ethernet controllers on StarFive RISC-V SoCs
179
180 This selects the StarFive platform specific glue layer support
181 for the stmmac device driver. This driver is used for the
182 StarFive JH7100 and JH7110 ethernet controllers.
183
184config DWMAC_STI
185 tristate "STi GMAC support"
186 default ARCH_STI
187 depends on OF && (ARCH_STI || COMPILE_TEST)
188 select MFD_SYSCON
189 help
190 Support for ethernet controller on STi SOCs.
191
192 This selects STi SoC glue layer support for the stmmac
193 device driver. This driver is used on for the STi series
194 SOCs GMAC ethernet controller.
195
196config DWMAC_STM32
197 tristate "STM32 DWMAC support"
198 default ARCH_STM32
199 depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
200 select MFD_SYSCON
201 help
202 Support for ethernet controller on STM32 SOCs.
203
204 This selects STM32 SoC glue layer support for the stmmac
205 device driver. This driver is used on for the STM32 series
206 SOCs GMAC ethernet controller.
207
208config DWMAC_SUNXI
209 tristate "Allwinner GMAC support"
210 default ARCH_SUNXI
211 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
212 help
213 Support for Allwinner A20/A31 GMAC ethernet controllers.
214
215 This selects Allwinner SoC glue layer support for the
216 stmmac device driver. This driver is used for A20/A31
217 GMAC ethernet controller.
218
219config DWMAC_SUN8I
220 tristate "Allwinner sun8i GMAC support"
221 default ARCH_SUNXI
222 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
223 select MDIO_BUS_MUX
224 help
225 Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
226
227 This selects Allwinner SoC glue layer support for the
228 stmmac device driver. This driver is used for H3/A83T/A64
229 EMAC ethernet controller.
230
231config DWMAC_THEAD
232 tristate "T-HEAD dwmac support"
233 depends on OF && (ARCH_THEAD || COMPILE_TEST)
234 help
235 Support for ethernet controllers on T-HEAD RISC-V SoCs
236
237 This selects the T-HEAD platform specific glue layer support for
238 the stmmac device driver. This driver is used for T-HEAD TH1520
239 ethernet controller.
240
241config DWMAC_IMX8
242 tristate "NXP IMX8 DWMAC support"
243 default ARCH_MXC
244 depends on OF && (ARCH_MXC || COMPILE_TEST)
245 select MFD_SYSCON
246 help
247 Support for ethernet controller on NXP i.MX8 SOCs.
248
249 This selects NXP SoC glue layer support for the stmmac
250 device driver. This driver is used for i.MX8 series like
251 iMX8MP/iMX8DXL GMAC ethernet controller.
252
253config DWMAC_INTEL_PLAT
254 tristate "Intel dwmac support"
255 depends on OF && COMMON_CLK
256 depends on STMMAC_ETH
257 help
258 Support for ethernet controllers on Intel SoCs
259
260 This selects the Intel platform specific glue layer support for
261 the stmmac device driver. This driver is used for the Intel Keem Bay
262 SoC.
263
264config DWMAC_LOONGSON1
265 tristate "Loongson1 GMAC support"
266 default MACH_LOONGSON32
267 depends on OF && (MACH_LOONGSON32 || COMPILE_TEST)
268 help
269 Support for ethernet controller on Loongson1 SoC.
270
271 This selects Loongson1 SoC glue layer support for the stmmac
272 device driver. This driver is used for Loongson1-based boards
273 like Loongson LS1B/LS1C.
274
275config DWMAC_TEGRA
276 tristate "NVIDIA Tegra MGBE support"
277 depends on ARCH_TEGRA || COMPILE_TEST
278 help
279 This selects the Multi-GigaBit Ethernet (MGBE) Controller that is
280 found on the NVIDIA Tegra SoC devices. This driver provides the glue
281 layer on top of the stmmac driver required for these NVIDIA Tegra SoC
282 devices.
283
284config DWMAC_VISCONTI
285 tristate "Toshiba Visconti DWMAC support"
286 default ARCH_VISCONTI
287 depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST)
288 help
289 Support for ethernet controller on Visconti SoCs.
290
291endif
292
293config DWMAC_INTEL
294 tristate "Intel GMAC support"
295 default X86
296 depends on X86 && STMMAC_ETH && PCI
297 depends on COMMON_CLK
298 help
299 This selects the Intel platform specific bus support for the
300 stmmac driver. This driver is used for Intel Quark/EHL/TGL.
301
302config DWMAC_LOONGSON
303 tristate "Loongson PCI DWMAC support"
304 default MACH_LOONGSON64
305 depends on (MACH_LOONGSON64 || COMPILE_TEST) && STMMAC_ETH && PCI
306 depends on COMMON_CLK
307 help
308 This selects the LOONGSON PCI bus support for the stmmac driver,
309 Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge.
310
311config STMMAC_PCI
312 tristate "STMMAC PCI bus support"
313 depends on STMMAC_ETH && PCI
314 depends on COMMON_CLK
315 help
316 This selects the platform specific bus support for the stmmac driver.
317 This driver was tested on XLINX XC2V3000 FF1152AMT0221
318 D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
319
320 If you have a controller with this interface, say Y or M here.
321
322 If unsure, say N.
323endif
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_OXNAS
125 tristate "Oxford Semiconductor OXNAS dwmac support"
126 default ARCH_OXNAS
127 depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
128 select MFD_SYSCON
129 help
130 Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
131
132 This selects the Oxford Semiconductor OXNASSoC glue layer support for
133 the stmmac device driver. This driver is used for OX820.
134
135config DWMAC_QCOM_ETHQOS
136 tristate "Qualcomm ETHQOS support"
137 default ARCH_QCOM
138 depends on OF && (ARCH_QCOM || COMPILE_TEST)
139 help
140 Support for the Qualcomm ETHQOS core.
141
142 This selects the Qualcomm ETHQOS glue layer support for the
143 stmmac device driver.
144
145config DWMAC_ROCKCHIP
146 tristate "Rockchip dwmac support"
147 default ARCH_ROCKCHIP
148 depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
149 select MFD_SYSCON
150 help
151 Support for Ethernet controller on Rockchip RK3288 SoC.
152
153 This selects the Rockchip RK3288 SoC glue layer support for
154 the stmmac device driver.
155
156config DWMAC_SOCFPGA
157 tristate "SOCFPGA dwmac support"
158 default ARCH_INTEL_SOCFPGA
159 depends on OF && (ARCH_INTEL_SOCFPGA || COMPILE_TEST)
160 select MFD_SYSCON
161 help
162 Support for ethernet controller on Altera SOCFPGA
163
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.
167
168config DWMAC_STI
169 tristate "STi GMAC support"
170 default ARCH_STI
171 depends on OF && (ARCH_STI || COMPILE_TEST)
172 select MFD_SYSCON
173 help
174 Support for ethernet controller on STi SOCs.
175
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.
179
180config DWMAC_STM32
181 tristate "STM32 DWMAC support"
182 default ARCH_STM32
183 depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
184 select MFD_SYSCON
185 help
186 Support for ethernet controller on STM32 SOCs.
187
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.
191
192config DWMAC_SUNXI
193 tristate "Allwinner GMAC support"
194 default ARCH_SUNXI
195 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
196 help
197 Support for Allwinner A20/A31 GMAC ethernet controllers.
198
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.
202
203config DWMAC_SUN8I
204 tristate "Allwinner sun8i GMAC support"
205 default ARCH_SUNXI
206 depends on OF && (ARCH_SUNXI || COMPILE_TEST)
207 select MDIO_BUS_MUX
208 help
209 Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
210
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.
214
215config DWMAC_IMX8
216 tristate "NXP IMX8 DWMAC support"
217 default ARCH_MXC
218 depends on OF && (ARCH_MXC || COMPILE_TEST)
219 select MFD_SYSCON
220 help
221 Support for ethernet controller on NXP i.MX8 SOCs.
222
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.
226
227config DWMAC_INTEL_PLAT
228 tristate "Intel dwmac support"
229 depends on OF && COMMON_CLK
230 depends on STMMAC_ETH
231 help
232 Support for ethernet controllers on Intel SoCs
233
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
236 SoC.
237
238config DWMAC_TEGRA
239 tristate "NVIDIA Tegra MGBE support"
240 depends on ARCH_TEGRA || COMPILE_TEST
241 help
242 This selects the Multi-GigaBit Ethernet (MGBE) Controller that is
243 found on the NVIDIA Tegra SoC devices. This driver provides the glue
244 layer on top of the stmmac driver required for these NVIDIA Tegra SoC
245 devices.
246
247config DWMAC_VISCONTI
248 tristate "Toshiba Visconti DWMAC support"
249 default ARCH_VISCONTI
250 depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST)
251 help
252 Support for ethernet controller on Visconti SoCs.
253
254endif
255
256config DWMAC_INTEL
257 tristate "Intel GMAC support"
258 default X86
259 depends on X86 && STMMAC_ETH && PCI
260 depends on COMMON_CLK
261 help
262 This selects the Intel platform specific bus support for the
263 stmmac driver. This driver is used for Intel Quark/EHL/TGL.
264
265config DWMAC_LOONGSON
266 tristate "Loongson PCI DWMAC support"
267 default MACH_LOONGSON64
268 depends on STMMAC_ETH && PCI
269 depends on COMMON_CLK
270 help
271 This selects the LOONGSON PCI bus support for the stmmac driver,
272 Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge.
273
274config STMMAC_PCI
275 tristate "STMMAC PCI bus support"
276 depends on STMMAC_ETH && PCI
277 depends on COMMON_CLK
278 help
279 This selects the platform specific bus support for the stmmac driver.
280 This driver was tested on XLINX XC2V3000 FF1152AMT0221
281 D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
282
283 If you have a controller with this interface, say Y or M here.
284
285 If unsure, say N.
286endif