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 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 15if STMMAC_ETH 16 17config 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 27config 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 41if STMMAC_PLATFORM 42 43config 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 51config 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 59config 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 68config 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 81config 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 89config 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 97config 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 108config 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 119config 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 129config 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 140config 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 152config 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 164config 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 176config 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 187config 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. 198endif 199 200config STMMAC_PCI 201 tristate "STMMAC PCI bus support" 202 depends on STMMAC_ETH && PCI 203 depends on COMMON_CLK 204 ---help--- 205 This selects the platform specific bus support for the stmmac driver. 206 This driver was tested on XLINX XC2V3000 FF1152AMT0221 207 D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit. 208 209 If you have a controller with this interface, say Y or M here. 210 211 If unsure, say N. 212endif 213