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