Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[platform/kernel/linux-starfive.git] / drivers / net / ethernet / stmicro / stmmac / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config 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
16 if STMMAC_ETH
17
18 config 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
28 config 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
42 if STMMAC_PLATFORM
43
44 config 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
52 config 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
60 config 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
69 config 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
81 config 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
97 config 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
105 config 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
113 config 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
124 config 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
135 config 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
145 config 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
156 config 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
168 config 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
180 config 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
192 config 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
203 config 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
215 config 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
227 config 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
238 config DWMAC_VISCONTI
239         tristate "Toshiba Visconti DWMAC support"
240         default ARCH_VISCONTI
241         depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST)
242         help
243           Support for ethernet controller on Visconti SoCs.
244
245 endif
246
247 config DWMAC_INTEL
248         tristate "Intel GMAC support"
249         default X86
250         depends on X86 && STMMAC_ETH && PCI
251         depends on COMMON_CLK
252         help
253           This selects the Intel platform specific bus support for the
254           stmmac driver. This driver is used for Intel Quark/EHL/TGL.
255
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
261         help
262           This selects the LOONGSON PCI bus support for the stmmac driver,
263           Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge.
264
265 config STMMAC_PCI
266         tristate "STMMAC PCI bus support"
267         depends on STMMAC_ETH && PCI
268         depends on COMMON_CLK
269         help
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.
273
274           If you have a controller with this interface, say Y or M here.
275
276           If unsure, say N.
277 endif