1config STMMAC_ETH
2	tristate "STMicroelectronics 10/100/1000 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 are built around a
11	  Synopsys IP Core and only tested on the STMicroelectronics
12	  platforms.
13
14if STMMAC_ETH
15
16config STMMAC_PLATFORM
17	tristate "STMMAC Platform bus support"
18	depends on STMMAC_ETH
19	select MFD_SYSCON
20	default y
21	---help---
22	  This selects the platform specific bus support for the stmmac driver.
23	  This is the driver used on several SoCs:
24	  STi, Allwinner, Amlogic Meson, Altera SOCFPGA.
25
26	  If you have a controller with this interface, say Y or M here.
27
28	  If unsure, say N.
29
30if STMMAC_PLATFORM
31
32config DWMAC_GENERIC
33	tristate "Generic driver for DWMAC"
34	default STMMAC_PLATFORM
35	---help---
36	  Generic DWMAC driver for platforms that don't require any
37	  platform specific code to function or is using platform
38	  data for setup.
39
40config DWMAC_IPQ806X
41	tristate "QCA IPQ806x DWMAC support"
42	default ARCH_QCOM
43	depends on OF && (ARCH_QCOM || COMPILE_TEST)
44	select MFD_SYSCON
45	help
46	  Support for QCA IPQ806X DWMAC Ethernet.
47
48	  This selects the IPQ806x SoC glue layer support for the stmmac
49	  device driver. This driver does not use any of the hardware
50	  acceleration features available on this SoC. Network devices
51	  will behave like standard non-accelerated ethernet interfaces.
52
53config DWMAC_LPC18XX
54	tristate "NXP LPC18xx/43xx DWMAC support"
55	default ARCH_LPC18XX
56	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
57	select MFD_SYSCON
58	---help---
59	  Support for NXP LPC18xx/43xx DWMAC Ethernet.
60
61config DWMAC_MESON
62	tristate "Amlogic Meson dwmac support"
63	default ARCH_MESON
64	depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
65	help
66	  Support for Ethernet controller on Amlogic Meson SoCs.
67
68	  This selects the Amlogic Meson SoC glue layer support for
69	  the stmmac device driver. This driver is used for Meson6,
70	  Meson8, Meson8b and GXBB SoCs.
71
72config DWMAC_OXNAS
73	tristate "Oxford Semiconductor OXNAS dwmac support"
74	default ARCH_OXNAS
75	depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
76	select MFD_SYSCON
77	help
78	  Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
79
80	  This selects the Oxford Semiconductor OXNASSoC glue layer support for
81	  the stmmac device driver. This driver is used for OX820.
82
83config DWMAC_ROCKCHIP
84	tristate "Rockchip dwmac support"
85	default ARCH_ROCKCHIP
86	depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
87	select MFD_SYSCON
88	help
89	  Support for Ethernet controller on Rockchip RK3288 SoC.
90
91	  This selects the Rockchip RK3288 SoC glue layer support for
92	  the stmmac device driver.
93
94config DWMAC_SOCFPGA
95	tristate "SOCFPGA dwmac support"
96	default ARCH_SOCFPGA
97	depends on OF && (ARCH_SOCFPGA || COMPILE_TEST)
98	select MFD_SYSCON
99	help
100	  Support for ethernet controller on Altera SOCFPGA
101
102	  This selects the Altera SOCFPGA SoC glue layer support
103	  for the stmmac device driver. This driver is used for
104	  arria5 and cyclone5 FPGA SoCs.
105
106config DWMAC_STI
107	tristate "STi GMAC support"
108	default ARCH_STI
109	depends on OF && (ARCH_STI || COMPILE_TEST)
110	select MFD_SYSCON
111	---help---
112	  Support for ethernet controller on STi SOCs.
113
114	  This selects STi SoC glue layer support for the stmmac
115	  device driver. This driver is used on for the STi series
116	  SOCs GMAC ethernet controller.
117
118config DWMAC_STM32
119	tristate "STM32 DWMAC support"
120	default ARCH_STM32
121	depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
122	select MFD_SYSCON
123	---help---
124	  Support for ethernet controller on STM32 SOCs.
125
126	  This selects STM32 SoC glue layer support for the stmmac
127	  device driver. This driver is used on for the STM32 series
128	  SOCs GMAC ethernet controller.
129
130config DWMAC_SUNXI
131	tristate "Allwinner GMAC support"
132	default ARCH_SUNXI
133	depends on OF && (ARCH_SUNXI || COMPILE_TEST)
134	---help---
135	  Support for Allwinner A20/A31 GMAC ethernet controllers.
136
137	  This selects Allwinner SoC glue layer support for the
138	  stmmac device driver. This driver is used for A20/A31
139	  GMAC ethernet controller.
140endif
141
142config STMMAC_PCI
143	tristate "STMMAC PCI bus support"
144	depends on STMMAC_ETH && PCI
145	---help---
146	  This is to select the Synopsys DWMAC available on PCI devices,
147	  if you have a controller with this interface, say Y or M here.
148
149	  This PCI support is tested on XLINX XC2V3000 FF1152AMT0221
150	  D1215994A VIRTEX FPGA board.
151
152	  If unsure, say N.
153endif
154