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_ROCKCHIP
109	tristate "Rockchip dwmac support"
110	default ARCH_ROCKCHIP
111	depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
112	select MFD_SYSCON
113	help
114	  Support for Ethernet controller on Rockchip RK3288 SoC.
115
116	  This selects the Rockchip RK3288 SoC glue layer support for
117	  the stmmac device driver.
118
119config DWMAC_SOCFPGA
120	tristate "SOCFPGA dwmac support"
121	default (ARCH_SOCFPGA || ARCH_STRATIX10)
122	depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST)
123	select MFD_SYSCON
124	help
125	  Support for ethernet controller on Altera SOCFPGA
126
127	  This selects the Altera SOCFPGA SoC glue layer support
128	  for the stmmac device driver. This driver is used for
129	  arria5 and cyclone5 FPGA SoCs.
130
131config DWMAC_STI
132	tristate "STi GMAC support"
133	default ARCH_STI
134	depends on OF && (ARCH_STI || COMPILE_TEST)
135	select MFD_SYSCON
136	---help---
137	  Support for ethernet controller on STi SOCs.
138
139	  This selects STi SoC glue layer support for the stmmac
140	  device driver. This driver is used on for the STi series
141	  SOCs GMAC ethernet controller.
142
143config DWMAC_STM32
144	tristate "STM32 DWMAC support"
145	default ARCH_STM32
146	depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
147	select MFD_SYSCON
148	---help---
149	  Support for ethernet controller on STM32 SOCs.
150
151	  This selects STM32 SoC glue layer support for the stmmac
152	  device driver. This driver is used on for the STM32 series
153	  SOCs GMAC ethernet controller.
154
155config DWMAC_SUNXI
156	tristate "Allwinner GMAC support"
157	default ARCH_SUNXI
158	depends on OF && (ARCH_SUNXI || COMPILE_TEST)
159	---help---
160	  Support for Allwinner A20/A31 GMAC ethernet controllers.
161
162	  This selects Allwinner SoC glue layer support for the
163	  stmmac device driver. This driver is used for A20/A31
164	  GMAC ethernet controller.
165
166config DWMAC_SUN8I
167	tristate "Allwinner sun8i GMAC support"
168	default ARCH_SUNXI
169	depends on OF && (ARCH_SUNXI || COMPILE_TEST)
170	select MDIO_BUS_MUX
171	---help---
172	  Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
173
174	  This selects Allwinner SoC glue layer support for the
175	  stmmac device driver. This driver is used for H3/A83T/A64
176	  EMAC ethernet controller.
177endif
178
179config STMMAC_PCI
180	tristate "STMMAC PCI bus support"
181	depends on STMMAC_ETH && PCI
182	---help---
183	  This selects the platform specific bus support for the stmmac driver.
184	  This driver was tested on XLINX XC2V3000 FF1152AMT0221
185	  D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
186
187	  If you have a controller with this interface, say Y or M here.
188
189	  If unsure, say N.
190endif
191