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