xref: /OK3568_Linux_fs/kernel/drivers/net/ethernet/stmicro/stmmac/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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	select MII
6	select PCS_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
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_UIO
29	tristate "STMMAC_UIO ethernet controller"
30	default n
31	select UIO
32	help
33	  Say M here if you want to use the stmmac_uio.ko for DPDK.
34
35config STMMAC_ETHTOOL
36	bool "Ethtool feature for STMMAC"
37	default STMMAC_ETH if !ROCKCHIP_MINI_KERNEL
38	help
39	  This selects the ethtool function, default is Y.
40
41config STMMAC_FULL
42	bool "Support full driver for STMMAC"
43	default STMMAC_ETH if !ROCKCHIP_MINI_KERNEL
44	help
45	  This selects the full function, default is Y, full-featured version
46	  includes 4.10 and other versions, if it is N, only 4.10 core working.
47
48config STMMAC_PLATFORM
49	tristate "STMMAC Platform bus support"
50	depends on STMMAC_ETH
51	select MFD_SYSCON
52	default y
53	help
54	  This selects the platform specific bus support for the stmmac driver.
55	  This is the driver used on several SoCs:
56	  STi, Allwinner, Amlogic Meson, Altera SOCFPGA.
57
58	  If you have a controller with this interface, say Y or M here.
59
60	  If unsure, say N.
61
62if STMMAC_PLATFORM
63
64config DWMAC_DWC_QOS_ETH
65	tristate "Support for snps,dwc-qos-ethernet.txt DT binding."
66	select CRC32
67	select MII
68	depends on OF && HAS_DMA
69	help
70	  Support for chips using the snps,dwc-qos-ethernet.txt DT binding.
71
72config DWMAC_GENERIC
73	tristate "Generic driver for DWMAC"
74	default STMMAC_PLATFORM
75	help
76	  Generic DWMAC driver for platforms that don't require any
77	  platform specific code to function or is using platform
78	  data for setup.
79
80config DWMAC_ANARION
81	tristate "Adaptrum Anarion GMAC support"
82	default ARC
83	depends on OF && (ARC || COMPILE_TEST)
84	help
85	  Support for Adaptrum Anarion GMAC Ethernet controller.
86
87	  This selects the Anarion SoC glue layer support for the stmmac driver.
88
89config DWMAC_IPQ806X
90	tristate "QCA IPQ806x DWMAC support"
91	default ARCH_QCOM
92	depends on OF && (ARCH_QCOM || COMPILE_TEST)
93	select MFD_SYSCON
94	help
95	  Support for QCA IPQ806X DWMAC Ethernet.
96
97	  This selects the IPQ806x SoC glue layer support for the stmmac
98	  device driver. This driver does not use any of the hardware
99	  acceleration features available on this SoC. Network devices
100	  will behave like standard non-accelerated ethernet interfaces.
101
102config DWMAC_LPC18XX
103	tristate "NXP LPC18xx/43xx DWMAC support"
104	default ARCH_LPC18XX
105	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
106	select MFD_SYSCON
107	help
108	  Support for NXP LPC18xx/43xx DWMAC Ethernet.
109
110config DWMAC_MEDIATEK
111	tristate "MediaTek MT27xx GMAC support"
112	depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)
113	help
114	  Support for MediaTek GMAC Ethernet controller.
115
116	  This selects the MT2712 SoC support for the stmmac driver.
117
118config DWMAC_MESON
119	tristate "Amlogic Meson dwmac support"
120	default ARCH_MESON
121	depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
122	help
123	  Support for Ethernet controller on Amlogic Meson SoCs.
124
125	  This selects the Amlogic Meson SoC glue layer support for
126	  the stmmac device driver. This driver is used for Meson6,
127	  Meson8, Meson8b and GXBB SoCs.
128
129config DWMAC_OXNAS
130	tristate "Oxford Semiconductor OXNAS dwmac support"
131	default ARCH_OXNAS
132	depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
133	select MFD_SYSCON
134	help
135	  Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
136
137	  This selects the Oxford Semiconductor OXNASSoC glue layer support for
138	  the stmmac device driver. This driver is used for OX820.
139
140config DWMAC_QCOM_ETHQOS
141	tristate "Qualcomm ETHQOS support"
142	default ARCH_QCOM
143	depends on OF && (ARCH_QCOM || COMPILE_TEST)
144	help
145	  Support for the Qualcomm ETHQOS core.
146
147	  This selects the Qualcomm ETHQOS glue layer support for the
148	  stmmac device driver.
149
150config DWMAC_ROCKCHIP
151	tristate "Rockchip dwmac support"
152	default ARCH_ROCKCHIP
153	depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
154	select MFD_SYSCON
155	help
156	  Support for Ethernet controller on Rockchip RK3288 SoC.
157
158	  This selects the Rockchip RK3288 SoC glue layer support for
159	  the stmmac device driver.
160
161config DWMAC_ROCKCHIP_TOOL
162	bool "Rockchip dwmac tool support"
163	depends on DWMAC_ROCKCHIP
164	default DWMAC_ROCKCHIP if !ROCKCHIP_MINI_KERNEL
165	help
166	  Support for Ethernet functions on Rockchip SoCs.
167
168	  This selects the features for Rockchip's Ethernet, include PHY loopback,
169	  MAC loopback, and delayline scanning of RGMII mode.
170
171config DWMAC_SOCFPGA
172	tristate "SOCFPGA dwmac support"
173	default (ARCH_SOCFPGA || ARCH_STRATIX10)
174	depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST)
175	select MFD_SYSCON
176	help
177	  Support for ethernet controller on Altera SOCFPGA
178
179	  This selects the Altera SOCFPGA SoC glue layer support
180	  for the stmmac device driver. This driver is used for
181	  arria5 and cyclone5 FPGA SoCs.
182
183config DWMAC_STI
184	tristate "STi GMAC support"
185	default ARCH_STI
186	depends on OF && (ARCH_STI || COMPILE_TEST)
187	select MFD_SYSCON
188	help
189	  Support for ethernet controller on STi SOCs.
190
191	  This selects STi SoC glue layer support for the stmmac
192	  device driver. This driver is used on for the STi series
193	  SOCs GMAC ethernet controller.
194
195config DWMAC_STM32
196	tristate "STM32 DWMAC support"
197	default ARCH_STM32
198	depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
199	select MFD_SYSCON
200	help
201	  Support for ethernet controller on STM32 SOCs.
202
203	  This selects STM32 SoC glue layer support for the stmmac
204	  device driver. This driver is used on for the STM32 series
205	  SOCs GMAC ethernet controller.
206
207config DWMAC_SUNXI
208	tristate "Allwinner GMAC support"
209	default ARCH_SUNXI
210	depends on OF && (ARCH_SUNXI || COMPILE_TEST)
211	help
212	  Support for Allwinner A20/A31 GMAC ethernet controllers.
213
214	  This selects Allwinner SoC glue layer support for the
215	  stmmac device driver. This driver is used for A20/A31
216	  GMAC ethernet controller.
217
218config DWMAC_SUN8I
219	tristate "Allwinner sun8i GMAC support"
220	default ARCH_SUNXI
221	depends on OF && (ARCH_SUNXI || COMPILE_TEST)
222	select MDIO_BUS_MUX
223	help
224	  Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
225
226	  This selects Allwinner SoC glue layer support for the
227	  stmmac device driver. This driver is used for H3/A83T/A64
228	  EMAC ethernet controller.
229
230config DWMAC_IMX8
231	tristate "NXP IMX8 DWMAC support"
232	default ARCH_MXC
233	depends on OF && (ARCH_MXC || COMPILE_TEST)
234	select MFD_SYSCON
235	help
236	  Support for ethernet controller on NXP i.MX8 SOCs.
237
238	  This selects NXP SoC glue layer support for the stmmac
239	  device driver. This driver is used for i.MX8 series like
240	  iMX8MP/iMX8DXL GMAC ethernet controller.
241
242config DWMAC_INTEL_PLAT
243	tristate "Intel dwmac support"
244	depends on OF && COMMON_CLK
245	depends on STMMAC_ETH
246	help
247	  Support for ethernet controllers on Intel SoCs
248
249	  This selects the Intel platform specific glue layer support for
250	  the stmmac device driver. This driver is used for the Intel Keem Bay
251	  SoC.
252endif
253
254config DWMAC_INTEL
255	tristate "Intel GMAC support"
256	default X86
257	depends on X86 && STMMAC_ETH && PCI
258	depends on COMMON_CLK
259	help
260	  This selects the Intel platform specific bus support for the
261	  stmmac driver. This driver is used for Intel Quark/EHL/TGL.
262
263config STMMAC_PCI
264	tristate "STMMAC PCI bus support"
265	depends on STMMAC_ETH && PCI
266	depends on COMMON_CLK
267	help
268	  This selects the platform specific bus support for the stmmac driver.
269	  This driver was tested on XLINX XC2V3000 FF1152AMT0221
270	  D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
271
272	  If you have a controller with this interface, say Y or M here.
273
274	  If unsure, say N.
275endif
276