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