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