7572cea9d59e5c2ab860ad26eed83fe029b1cbeb
[linux-2.6-microblaze.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         select MII
6         select MDIO_XPCS
7         select PAGE_POOL
8         select PHYLINK
9         select CRC32
10         imply PTP_1588_CLOCK
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_IPQ806X
70         tristate "QCA IPQ806x DWMAC support"
71         default ARCH_QCOM
72         depends on OF && (ARCH_QCOM || COMPILE_TEST)
73         select MFD_SYSCON
74         help
75           Support for QCA IPQ806X DWMAC Ethernet.
76
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.
81
82 config DWMAC_LPC18XX
83         tristate "NXP LPC18xx/43xx DWMAC support"
84         default ARCH_LPC18XX
85         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
86         select MFD_SYSCON
87         help
88           Support for NXP LPC18xx/43xx DWMAC Ethernet.
89
90 config DWMAC_MEDIATEK
91         tristate "MediaTek MT27xx GMAC support"
92         depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)
93         help
94           Support for MediaTek GMAC Ethernet controller.
95
96           This selects the MT2712 SoC support for the stmmac driver.
97
98 config DWMAC_MESON
99         tristate "Amlogic Meson dwmac support"
100         default ARCH_MESON
101         depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
102         help
103           Support for Ethernet controller on Amlogic Meson SoCs.
104
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.
108
109 config DWMAC_OXNAS
110         tristate "Oxford Semiconductor OXNAS dwmac support"
111         default ARCH_OXNAS
112         depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
113         select MFD_SYSCON
114         help
115           Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
116
117           This selects the Oxford Semiconductor OXNASSoC glue layer support for
118           the stmmac device driver. This driver is used for OX820.
119
120 config DWMAC_QCOM_ETHQOS
121         tristate "Qualcomm ETHQOS support"
122         default ARCH_QCOM
123         depends on OF && (ARCH_QCOM || COMPILE_TEST)
124         help
125           Support for the Qualcomm ETHQOS core.
126
127           This selects the Qualcomm ETHQOS glue layer support for the
128           stmmac device driver.
129
130 config DWMAC_ROCKCHIP
131         tristate "Rockchip dwmac support"
132         default ARCH_ROCKCHIP
133         depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
134         select MFD_SYSCON
135         help
136           Support for Ethernet controller on Rockchip RK3288 SoC.
137
138           This selects the Rockchip RK3288 SoC glue layer support for
139           the stmmac device driver.
140
141 config DWMAC_SOCFPGA
142         tristate "SOCFPGA dwmac support"
143         default (ARCH_SOCFPGA || ARCH_STRATIX10)
144         depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST)
145         select MFD_SYSCON
146         help
147           Support for ethernet controller on Altera SOCFPGA
148
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.
152
153 config DWMAC_STI
154         tristate "STi GMAC support"
155         default ARCH_STI
156         depends on OF && (ARCH_STI || COMPILE_TEST)
157         select MFD_SYSCON
158         help
159           Support for ethernet controller on STi SOCs.
160
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.
164
165 config DWMAC_STM32
166         tristate "STM32 DWMAC support"
167         default ARCH_STM32
168         depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
169         select MFD_SYSCON
170         help
171           Support for ethernet controller on STM32 SOCs.
172
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.
176
177 config DWMAC_SUNXI
178         tristate "Allwinner GMAC support"
179         default ARCH_SUNXI
180         depends on OF && (ARCH_SUNXI || COMPILE_TEST)
181         help
182           Support for Allwinner A20/A31 GMAC ethernet controllers.
183
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.
187
188 config DWMAC_SUN8I
189         tristate "Allwinner sun8i GMAC support"
190         default ARCH_SUNXI
191         depends on OF && (ARCH_SUNXI || COMPILE_TEST)
192         select MDIO_BUS_MUX
193         help
194           Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
195
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.
199
200 config DWMAC_IMX8
201         tristate "NXP IMX8 DWMAC support"
202         default ARCH_MXC
203         depends on OF && (ARCH_MXC || COMPILE_TEST)
204         select MFD_SYSCON
205         help
206           Support for ethernet controller on NXP i.MX8 SOCs.
207
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.
211
212 config DWMAC_INTEL_PLAT
213         tristate "Intel dwmac support"
214         depends on OF && COMMON_CLK
215         depends on STMMAC_ETH
216         help
217           Support for ethernet controllers on Intel SoCs
218
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
221           SoC.
222 endif
223
224 config DWMAC_INTEL
225         tristate "Intel GMAC support"
226         default X86
227         depends on X86 && STMMAC_ETH && PCI
228         depends on COMMON_CLK
229         help
230           This selects the Intel platform specific bus support for the
231           stmmac driver. This driver is used for Intel Quark/EHL/TGL.
232
233 config STMMAC_PCI
234         tristate "STMMAC PCI bus support"
235         depends on STMMAC_ETH && PCI
236         depends on COMMON_CLK
237         help
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.
241
242           If you have a controller with this interface, say Y or M here.
243
244           If unsure, say N.
245 endif