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_IPQ806X
49	tristate "QCA IPQ806x DWMAC support"
50	default ARCH_QCOM
51	depends on OF && (ARCH_QCOM || COMPILE_TEST)
52	select MFD_SYSCON
53	help
54	  Support for QCA IPQ806X DWMAC Ethernet.
55
56	  This selects the IPQ806x SoC glue layer support for the stmmac
57	  device driver. This driver does not use any of the hardware
58	  acceleration features available on this SoC. Network devices
59	  will behave like standard non-accelerated ethernet interfaces.
60
61config DWMAC_LPC18XX
62	tristate "NXP LPC18xx/43xx DWMAC support"
63	default ARCH_LPC18XX
64	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
65	select MFD_SYSCON
66	---help---
67	  Support for NXP LPC18xx/43xx DWMAC Ethernet.
68
69config DWMAC_MESON
70	tristate "Amlogic Meson dwmac support"
71	default ARCH_MESON
72	depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
73	help
74	  Support for Ethernet controller on Amlogic Meson SoCs.
75
76	  This selects the Amlogic Meson SoC glue layer support for
77	  the stmmac device driver. This driver is used for Meson6,
78	  Meson8, Meson8b and GXBB SoCs.
79
80config DWMAC_OXNAS
81	tristate "Oxford Semiconductor OXNAS dwmac support"
82	default ARCH_OXNAS
83	depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
84	select MFD_SYSCON
85	help
86	  Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
87
88	  This selects the Oxford Semiconductor OXNASSoC glue layer support for
89	  the stmmac device driver. This driver is used for OX820.
90
91config DWMAC_ROCKCHIP
92	tristate "Rockchip dwmac support"
93	default ARCH_ROCKCHIP
94	depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
95	select MFD_SYSCON
96	help
97	  Support for Ethernet controller on Rockchip RK3288 SoC.
98
99	  This selects the Rockchip RK3288 SoC glue layer support for
100	  the stmmac device driver.
101
102config DWMAC_SOCFPGA
103	tristate "SOCFPGA dwmac support"
104	default ARCH_SOCFPGA
105	depends on OF && (ARCH_SOCFPGA || COMPILE_TEST)
106	select MFD_SYSCON
107	help
108	  Support for ethernet controller on Altera SOCFPGA
109
110	  This selects the Altera SOCFPGA SoC glue layer support
111	  for the stmmac device driver. This driver is used for
112	  arria5 and cyclone5 FPGA SoCs.
113
114config DWMAC_STI
115	tristate "STi GMAC support"
116	default ARCH_STI
117	depends on OF && (ARCH_STI || COMPILE_TEST)
118	select MFD_SYSCON
119	---help---
120	  Support for ethernet controller on STi SOCs.
121
122	  This selects STi SoC glue layer support for the stmmac
123	  device driver. This driver is used on for the STi series
124	  SOCs GMAC ethernet controller.
125
126config DWMAC_STM32
127	tristate "STM32 DWMAC support"
128	default ARCH_STM32
129	depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
130	select MFD_SYSCON
131	---help---
132	  Support for ethernet controller on STM32 SOCs.
133
134	  This selects STM32 SoC glue layer support for the stmmac
135	  device driver. This driver is used on for the STM32 series
136	  SOCs GMAC ethernet controller.
137
138config DWMAC_SUNXI
139	tristate "Allwinner GMAC support"
140	default ARCH_SUNXI
141	depends on OF && (ARCH_SUNXI || COMPILE_TEST)
142	---help---
143	  Support for Allwinner A20/A31 GMAC ethernet controllers.
144
145	  This selects Allwinner SoC glue layer support for the
146	  stmmac device driver. This driver is used for A20/A31
147	  GMAC ethernet controller.
148
149config DWMAC_SUN8I
150	tristate "Allwinner sun8i GMAC support"
151	default ARCH_SUNXI
152	depends on OF && (ARCH_SUNXI || COMPILE_TEST)
153	---help---
154	  Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
155
156	  This selects Allwinner SoC glue layer support for the
157	  stmmac device driver. This driver is used for H3/A83T/A64
158	  EMAC ethernet controller.
159endif
160
161config STMMAC_PCI
162	tristate "STMMAC PCI bus support"
163	depends on STMMAC_ETH && PCI
164	---help---
165	  This selects the platform specific bus support for the stmmac driver.
166	  This driver was tested on XLINX XC2V3000 FF1152AMT0221
167	  D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
168
169	  If you have a controller with this interface, say Y or M here.
170
171	  If unsure, say N.
172endif
173