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