xref: /linux/drivers/net/ethernet/stmicro/stmmac/Kconfig (revision 31d166642c7c601c65eccf0ff2e0afe9a0538be2)
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 PHYLINK
7	select CRC32
8	imply PTP_1588_CLOCK
9	select RESET_CONTROLLER
10	---help---
11	  This is the driver for the Ethernet IPs built around a
12	  Synopsys IP Core.
13
14if STMMAC_ETH
15
16config STMMAC_SELFTESTS
17	bool "Support for STMMAC Selftests"
18	depends on INET
19	depends on STMMAC_ETH
20	default n
21	---help---
22	  This adds support for STMMAC Selftests using ethtool. Enable this
23	  feature if you are facing problems with your HW and submit the test
24	  results to the netdev Mailing List.
25
26config STMMAC_PLATFORM
27	tristate "STMMAC Platform bus support"
28	depends on STMMAC_ETH
29	select MFD_SYSCON
30	default y
31	---help---
32	  This selects the platform specific bus support for the stmmac driver.
33	  This is the driver used on several SoCs:
34	  STi, Allwinner, Amlogic Meson, Altera SOCFPGA.
35
36	  If you have a controller with this interface, say Y or M here.
37
38	  If unsure, say N.
39
40if STMMAC_PLATFORM
41
42config DWMAC_DWC_QOS_ETH
43	tristate "Support for snps,dwc-qos-ethernet.txt DT binding."
44	select CRC32
45	select MII
46	depends on OF && HAS_DMA
47	help
48	  Support for chips using the snps,dwc-qos-ethernet.txt DT binding.
49
50config DWMAC_GENERIC
51	tristate "Generic driver for DWMAC"
52	default STMMAC_PLATFORM
53	---help---
54	  Generic DWMAC driver for platforms that don't require any
55	  platform specific code to function or is using platform
56	  data for setup.
57
58config DWMAC_ANARION
59	tristate "Adaptrum Anarion GMAC support"
60	default ARC
61	depends on OF && (ARC || COMPILE_TEST)
62	help
63	  Support for Adaptrum Anarion GMAC Ethernet controller.
64
65	  This selects the Anarion SoC glue layer support for the stmmac driver.
66
67config DWMAC_IPQ806X
68	tristate "QCA IPQ806x DWMAC support"
69	default ARCH_QCOM
70	depends on OF && (ARCH_QCOM || COMPILE_TEST)
71	select MFD_SYSCON
72	help
73	  Support for QCA IPQ806X DWMAC Ethernet.
74
75	  This selects the IPQ806x SoC glue layer support for the stmmac
76	  device driver. This driver does not use any of the hardware
77	  acceleration features available on this SoC. Network devices
78	  will behave like standard non-accelerated ethernet interfaces.
79
80config DWMAC_LPC18XX
81	tristate "NXP LPC18xx/43xx DWMAC support"
82	default ARCH_LPC18XX
83	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
84	select MFD_SYSCON
85	---help---
86	  Support for NXP LPC18xx/43xx DWMAC Ethernet.
87
88config DWMAC_MEDIATEK
89	tristate "MediaTek MT27xx GMAC support"
90	depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)
91	help
92	  Support for MediaTek GMAC Ethernet controller.
93
94	  This selects the MT2712 SoC support for the stmmac driver.
95
96config DWMAC_MESON
97	tristate "Amlogic Meson dwmac support"
98	default ARCH_MESON
99	depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
100	help
101	  Support for Ethernet controller on Amlogic Meson SoCs.
102
103	  This selects the Amlogic Meson SoC glue layer support for
104	  the stmmac device driver. This driver is used for Meson6,
105	  Meson8, Meson8b and GXBB SoCs.
106
107config DWMAC_OXNAS
108	tristate "Oxford Semiconductor OXNAS dwmac support"
109	default ARCH_OXNAS
110	depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
111	select MFD_SYSCON
112	help
113	  Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
114
115	  This selects the Oxford Semiconductor OXNASSoC glue layer support for
116	  the stmmac device driver. This driver is used for OX820.
117
118config DWMAC_QCOM_ETHQOS
119	tristate "Qualcomm ETHQOS support"
120	default ARCH_QCOM
121	depends on OF && (ARCH_QCOM || COMPILE_TEST)
122	help
123	  Support for the Qualcomm ETHQOS core.
124
125	  This selects the Qualcomm ETHQOS glue layer support for the
126	  stmmac device driver.
127
128config DWMAC_ROCKCHIP
129	tristate "Rockchip dwmac support"
130	default ARCH_ROCKCHIP
131	depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
132	select MFD_SYSCON
133	help
134	  Support for Ethernet controller on Rockchip RK3288 SoC.
135
136	  This selects the Rockchip RK3288 SoC glue layer support for
137	  the stmmac device driver.
138
139config DWMAC_SOCFPGA
140	tristate "SOCFPGA dwmac support"
141	default (ARCH_SOCFPGA || ARCH_STRATIX10)
142	depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST)
143	select MFD_SYSCON
144	help
145	  Support for ethernet controller on Altera SOCFPGA
146
147	  This selects the Altera SOCFPGA SoC glue layer support
148	  for the stmmac device driver. This driver is used for
149	  arria5 and cyclone5 FPGA SoCs.
150
151config DWMAC_STI
152	tristate "STi GMAC support"
153	default ARCH_STI
154	depends on OF && (ARCH_STI || COMPILE_TEST)
155	select MFD_SYSCON
156	---help---
157	  Support for ethernet controller on STi SOCs.
158
159	  This selects STi SoC glue layer support for the stmmac
160	  device driver. This driver is used on for the STi series
161	  SOCs GMAC ethernet controller.
162
163config DWMAC_STM32
164	tristate "STM32 DWMAC support"
165	default ARCH_STM32
166	depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
167	select MFD_SYSCON
168	---help---
169	  Support for ethernet controller on STM32 SOCs.
170
171	  This selects STM32 SoC glue layer support for the stmmac
172	  device driver. This driver is used on for the STM32 series
173	  SOCs GMAC ethernet controller.
174
175config DWMAC_SUNXI
176	tristate "Allwinner GMAC support"
177	default ARCH_SUNXI
178	depends on OF && (ARCH_SUNXI || COMPILE_TEST)
179	---help---
180	  Support for Allwinner A20/A31 GMAC ethernet controllers.
181
182	  This selects Allwinner SoC glue layer support for the
183	  stmmac device driver. This driver is used for A20/A31
184	  GMAC ethernet controller.
185
186config DWMAC_SUN8I
187	tristate "Allwinner sun8i GMAC support"
188	default ARCH_SUNXI
189	depends on OF && (ARCH_SUNXI || COMPILE_TEST)
190	select MDIO_BUS_MUX
191	---help---
192	  Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
193
194	  This selects Allwinner SoC glue layer support for the
195	  stmmac device driver. This driver is used for H3/A83T/A64
196	  EMAC ethernet controller.
197endif
198
199config STMMAC_PCI
200	tristate "STMMAC PCI bus support"
201	depends on STMMAC_ETH && PCI
202	---help---
203	  This selects the platform specific bus support for the stmmac driver.
204	  This driver was tested on XLINX XC2V3000 FF1152AMT0221
205	  D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
206
207	  If you have a controller with this interface, say Y or M here.
208
209	  If unsure, say N.
210endif
211