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_UIO 29 tristate "STMMAC_UIO ethernet controller" 30 default n 31 select UIO 32 help 33 Say M here if you want to use the stmmac_uio.ko for DPDK. 34 35config STMMAC_ETHTOOL 36 bool "Ethtool feature for STMMAC" 37 default STMMAC_ETH if !ROCKCHIP_MINI_KERNEL 38 help 39 This selects the ethtool function, default is Y. 40 41config STMMAC_FULL 42 bool "Support full driver for STMMAC" 43 default STMMAC_ETH if !ROCKCHIP_MINI_KERNEL 44 help 45 This selects the full function, default is Y, full-featured version 46 includes 4.10 and other versions, if it is N, only 4.10 core working. 47 48config STMMAC_PLATFORM 49 tristate "STMMAC Platform bus support" 50 depends on STMMAC_ETH 51 select MFD_SYSCON 52 default y 53 help 54 This selects the platform specific bus support for the stmmac driver. 55 This is the driver used on several SoCs: 56 STi, Allwinner, Amlogic Meson, Altera SOCFPGA. 57 58 If you have a controller with this interface, say Y or M here. 59 60 If unsure, say N. 61 62if STMMAC_PLATFORM 63 64config DWMAC_DWC_QOS_ETH 65 tristate "Support for snps,dwc-qos-ethernet.txt DT binding." 66 select CRC32 67 select MII 68 depends on OF && HAS_DMA 69 help 70 Support for chips using the snps,dwc-qos-ethernet.txt DT binding. 71 72config DWMAC_GENERIC 73 tristate "Generic driver for DWMAC" 74 default STMMAC_PLATFORM 75 help 76 Generic DWMAC driver for platforms that don't require any 77 platform specific code to function or is using platform 78 data for setup. 79 80config DWMAC_ANARION 81 tristate "Adaptrum Anarion GMAC support" 82 default ARC 83 depends on OF && (ARC || COMPILE_TEST) 84 help 85 Support for Adaptrum Anarion GMAC Ethernet controller. 86 87 This selects the Anarion SoC glue layer support for the stmmac driver. 88 89config DWMAC_IPQ806X 90 tristate "QCA IPQ806x DWMAC support" 91 default ARCH_QCOM 92 depends on OF && (ARCH_QCOM || COMPILE_TEST) 93 select MFD_SYSCON 94 help 95 Support for QCA IPQ806X DWMAC Ethernet. 96 97 This selects the IPQ806x SoC glue layer support for the stmmac 98 device driver. This driver does not use any of the hardware 99 acceleration features available on this SoC. Network devices 100 will behave like standard non-accelerated ethernet interfaces. 101 102config DWMAC_LPC18XX 103 tristate "NXP LPC18xx/43xx DWMAC support" 104 default ARCH_LPC18XX 105 depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 106 select MFD_SYSCON 107 help 108 Support for NXP LPC18xx/43xx DWMAC Ethernet. 109 110config DWMAC_MEDIATEK 111 tristate "MediaTek MT27xx GMAC support" 112 depends on OF && (ARCH_MEDIATEK || COMPILE_TEST) 113 help 114 Support for MediaTek GMAC Ethernet controller. 115 116 This selects the MT2712 SoC support for the stmmac driver. 117 118config DWMAC_MESON 119 tristate "Amlogic Meson dwmac support" 120 default ARCH_MESON 121 depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST) 122 help 123 Support for Ethernet controller on Amlogic Meson SoCs. 124 125 This selects the Amlogic Meson SoC glue layer support for 126 the stmmac device driver. This driver is used for Meson6, 127 Meson8, Meson8b and GXBB SoCs. 128 129config DWMAC_OXNAS 130 tristate "Oxford Semiconductor OXNAS dwmac support" 131 default ARCH_OXNAS 132 depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST) 133 select MFD_SYSCON 134 help 135 Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs. 136 137 This selects the Oxford Semiconductor OXNASSoC glue layer support for 138 the stmmac device driver. This driver is used for OX820. 139 140config DWMAC_QCOM_ETHQOS 141 tristate "Qualcomm ETHQOS support" 142 default ARCH_QCOM 143 depends on OF && (ARCH_QCOM || COMPILE_TEST) 144 help 145 Support for the Qualcomm ETHQOS core. 146 147 This selects the Qualcomm ETHQOS glue layer support for the 148 stmmac device driver. 149 150config DWMAC_ROCKCHIP 151 tristate "Rockchip dwmac support" 152 default ARCH_ROCKCHIP 153 depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST) 154 select MFD_SYSCON 155 help 156 Support for Ethernet controller on Rockchip RK3288 SoC. 157 158 This selects the Rockchip RK3288 SoC glue layer support for 159 the stmmac device driver. 160 161config DWMAC_ROCKCHIP_TOOL 162 bool "Rockchip dwmac tool support" 163 depends on DWMAC_ROCKCHIP 164 default DWMAC_ROCKCHIP if !ROCKCHIP_MINI_KERNEL 165 help 166 Support for Ethernet functions on Rockchip SoCs. 167 168 This selects the features for Rockchip's Ethernet, include PHY loopback, 169 MAC loopback, and delayline scanning of RGMII mode. 170 171config DWMAC_SOCFPGA 172 tristate "SOCFPGA dwmac support" 173 default (ARCH_SOCFPGA || ARCH_STRATIX10) 174 depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST) 175 select MFD_SYSCON 176 help 177 Support for ethernet controller on Altera SOCFPGA 178 179 This selects the Altera SOCFPGA SoC glue layer support 180 for the stmmac device driver. This driver is used for 181 arria5 and cyclone5 FPGA SoCs. 182 183config DWMAC_STI 184 tristate "STi GMAC support" 185 default ARCH_STI 186 depends on OF && (ARCH_STI || COMPILE_TEST) 187 select MFD_SYSCON 188 help 189 Support for ethernet controller on STi SOCs. 190 191 This selects STi SoC glue layer support for the stmmac 192 device driver. This driver is used on for the STi series 193 SOCs GMAC ethernet controller. 194 195config DWMAC_STM32 196 tristate "STM32 DWMAC support" 197 default ARCH_STM32 198 depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST) 199 select MFD_SYSCON 200 help 201 Support for ethernet controller on STM32 SOCs. 202 203 This selects STM32 SoC glue layer support for the stmmac 204 device driver. This driver is used on for the STM32 series 205 SOCs GMAC ethernet controller. 206 207config DWMAC_SUNXI 208 tristate "Allwinner GMAC support" 209 default ARCH_SUNXI 210 depends on OF && (ARCH_SUNXI || COMPILE_TEST) 211 help 212 Support for Allwinner A20/A31 GMAC ethernet controllers. 213 214 This selects Allwinner SoC glue layer support for the 215 stmmac device driver. This driver is used for A20/A31 216 GMAC ethernet controller. 217 218config DWMAC_SUN8I 219 tristate "Allwinner sun8i GMAC support" 220 default ARCH_SUNXI 221 depends on OF && (ARCH_SUNXI || COMPILE_TEST) 222 select MDIO_BUS_MUX 223 help 224 Support for Allwinner H3 A83T A64 EMAC ethernet controllers. 225 226 This selects Allwinner SoC glue layer support for the 227 stmmac device driver. This driver is used for H3/A83T/A64 228 EMAC ethernet controller. 229 230config DWMAC_IMX8 231 tristate "NXP IMX8 DWMAC support" 232 default ARCH_MXC 233 depends on OF && (ARCH_MXC || COMPILE_TEST) 234 select MFD_SYSCON 235 help 236 Support for ethernet controller on NXP i.MX8 SOCs. 237 238 This selects NXP SoC glue layer support for the stmmac 239 device driver. This driver is used for i.MX8 series like 240 iMX8MP/iMX8DXL GMAC ethernet controller. 241 242config DWMAC_INTEL_PLAT 243 tristate "Intel dwmac support" 244 depends on OF && COMMON_CLK 245 depends on STMMAC_ETH 246 help 247 Support for ethernet controllers on Intel SoCs 248 249 This selects the Intel platform specific glue layer support for 250 the stmmac device driver. This driver is used for the Intel Keem Bay 251 SoC. 252endif 253 254config DWMAC_INTEL 255 tristate "Intel GMAC support" 256 default X86 257 depends on X86 && STMMAC_ETH && PCI 258 depends on COMMON_CLK 259 help 260 This selects the Intel platform specific bus support for the 261 stmmac driver. This driver is used for Intel Quark/EHL/TGL. 262 263config STMMAC_PCI 264 tristate "STMMAC PCI bus support" 265 depends on STMMAC_ETH && PCI 266 depends on COMMON_CLK 267 help 268 This selects the platform specific bus support for the stmmac driver. 269 This driver was tested on XLINX XC2V3000 FF1152AMT0221 270 D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit. 271 272 If you have a controller with this interface, say Y or M here. 273 274 If unsure, say N. 275endif 276