314 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2config STMMAC_ETH3 tristate "STMicroelectronics Multi-Gigabit Ethernet driver"4 depends on HAS_IOMEM && HAS_DMA5 depends on PTP_1588_CLOCK_OPTIONAL6 select MII7 select PCS_XPCS8 select PAGE_POOL9 select PHYLINK10 select CRC3211 select RESET_CONTROLLER12 help13 This is the driver for the Ethernet IPs built around a14 Synopsys IP Core.15 16if STMMAC_ETH17 18config STMMAC_SELFTESTS19 bool "Support for STMMAC Selftests"20 depends on INET21 depends on STMMAC_ETH22 default n23 help24 This adds support for STMMAC Selftests using ethtool. Enable this25 feature if you are facing problems with your HW and submit the test26 results to the netdev Mailing List.27 28config STMMAC_PLATFORM29 tristate "STMMAC Platform bus support"30 depends on STMMAC_ETH31 select MFD_SYSCON32 default y33 help34 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_PLATFORM43 44config DWMAC_DWC_QOS_ETH45 tristate "Support for snps,dwc-qos-ethernet.txt DT binding."46 select CRC3247 select MII48 depends on OF && HAS_DMA49 help50 Support for chips using the snps,dwc-qos-ethernet.txt DT binding.51 52config DWMAC_GENERIC53 tristate "Generic driver for DWMAC"54 default STMMAC_PLATFORM55 help56 Generic DWMAC driver for platforms that don't require any57 platform specific code to function or is using platform58 data for setup.59 60config DWMAC_ANARION61 tristate "Adaptrum Anarion GMAC support"62 default ARC63 depends on OF && (ARC || COMPILE_TEST)64 help65 Support for Adaptrum Anarion GMAC Ethernet controller.66 67 This selects the Anarion SoC glue layer support for the stmmac driver.68 69config DWMAC_INGENIC70 tristate "Ingenic MAC support"71 default MACH_INGENIC72 depends on OF && HAS_IOMEM && (MACH_INGENIC || COMPILE_TEST)73 select MFD_SYSCON74 help75 Support for ethernet controller on Ingenic SoCs.76 77 This selects Ingenic SoCs glue layer support for the stmmac78 device driver. This driver is used on for the Ingenic SoCs79 MAC ethernet controller.80 81config DWMAC_IPQ806X82 tristate "QCA IPQ806x DWMAC support"83 default ARCH_QCOM84 depends on OF && (ARCH_QCOM || COMPILE_TEST)85 select MFD_SYSCON86 help87 Support for QCA IPQ806X DWMAC Ethernet.88 89 This selects the IPQ806x SoC glue layer support for the stmmac90 device driver. This driver does not use any of the hardware91 acceleration features available on this SoC. Network devices92 will behave like standard non-accelerated ethernet interfaces.93 94 Select the QCOM_SOCINFO config flag to enable specific dwmac95 fixup based on the ipq806x SoC revision.96 97config DWMAC_LPC18XX98 tristate "NXP LPC18xx/43xx DWMAC support"99 default ARCH_LPC18XX100 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)101 select MFD_SYSCON102 help103 Support for NXP LPC18xx/43xx DWMAC Ethernet.104 105config DWMAC_MEDIATEK106 tristate "MediaTek MT27xx GMAC support"107 depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)108 help109 Support for MediaTek GMAC Ethernet controller.110 111 This selects the MT2712 SoC support for the stmmac driver.112 113config DWMAC_MESON114 tristate "Amlogic Meson dwmac support"115 default ARCH_MESON116 depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)117 help118 Support for Ethernet controller on Amlogic Meson SoCs.119 120 This selects the Amlogic Meson SoC glue layer support for121 the stmmac device driver. This driver is used for Meson6,122 Meson8, Meson8b and GXBB SoCs.123 124config DWMAC_QCOM_ETHQOS125 tristate "Qualcomm ETHQOS support"126 default ARCH_QCOM127 depends on OF && (ARCH_QCOM || COMPILE_TEST)128 help129 Support for the Qualcomm ETHQOS core.130 131 This selects the Qualcomm ETHQOS glue layer support for the132 stmmac device driver.133 134config DWMAC_ROCKCHIP135 tristate "Rockchip dwmac support"136 default ARCH_ROCKCHIP137 depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)138 select MFD_SYSCON139 help140 Support for Ethernet controller on Rockchip RK3288 SoC.141 142 This selects the Rockchip RK3288 SoC glue layer support for143 the stmmac device driver.144 145config DWMAC_RZN1146 tristate "Renesas RZ/N1 dwmac support"147 default ARCH_RZN1148 depends on OF && (ARCH_RZN1 || COMPILE_TEST)149 select PCS_RZN1_MIIC150 help151 Support for Ethernet controller on Renesas RZ/N1 SoC family.152 153 This selects the Renesas RZ/N1 SoC glue layer support for154 the stmmac device driver. This support can make use of a custom MII155 converter PCS device.156 157config DWMAC_SOCFPGA158 tristate "SOCFPGA dwmac support"159 default ARCH_INTEL_SOCFPGA160 depends on OF && (ARCH_INTEL_SOCFPGA || COMPILE_TEST)161 select MFD_SYSCON162 select MDIO_REGMAP163 select REGMAP_MMIO164 select PCS_LYNX165 help166 Support for ethernet controller on Altera SOCFPGA167 168 This selects the Altera SOCFPGA SoC glue layer support169 for the stmmac device driver. This driver is used for170 arria5 and cyclone5 FPGA SoCs.171 172config DWMAC_STARFIVE173 tristate "StarFive dwmac support"174 depends on OF && (ARCH_STARFIVE || COMPILE_TEST)175 select MFD_SYSCON176 default m if ARCH_STARFIVE177 help178 Support for ethernet controllers on StarFive RISC-V SoCs179 180 This selects the StarFive platform specific glue layer support181 for the stmmac device driver. This driver is used for the182 StarFive JH7100 and JH7110 ethernet controllers.183 184config DWMAC_STI185 tristate "STi GMAC support"186 default ARCH_STI187 depends on OF && (ARCH_STI || COMPILE_TEST)188 select MFD_SYSCON189 help190 Support for ethernet controller on STi SOCs.191 192 This selects STi SoC glue layer support for the stmmac193 device driver. This driver is used on for the STi series194 SOCs GMAC ethernet controller.195 196config DWMAC_STM32197 tristate "STM32 DWMAC support"198 default ARCH_STM32199 depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)200 select MFD_SYSCON201 help202 Support for ethernet controller on STM32 SOCs.203 204 This selects STM32 SoC glue layer support for the stmmac205 device driver. This driver is used on for the STM32 series206 SOCs GMAC ethernet controller.207 208config DWMAC_SUNXI209 tristate "Allwinner GMAC support"210 default ARCH_SUNXI211 depends on OF && (ARCH_SUNXI || COMPILE_TEST)212 help213 Support for Allwinner A20/A31 GMAC ethernet controllers.214 215 This selects Allwinner SoC glue layer support for the216 stmmac device driver. This driver is used for A20/A31217 GMAC ethernet controller.218 219config DWMAC_SUN8I220 tristate "Allwinner sun8i GMAC support"221 default ARCH_SUNXI222 depends on OF && (ARCH_SUNXI || COMPILE_TEST)223 select MDIO_BUS_MUX224 help225 Support for Allwinner H3 A83T A64 EMAC ethernet controllers.226 227 This selects Allwinner SoC glue layer support for the228 stmmac device driver. This driver is used for H3/A83T/A64229 EMAC ethernet controller.230 231config DWMAC_IMX8232 tristate "NXP IMX8 DWMAC support"233 default ARCH_MXC234 depends on OF && (ARCH_MXC || COMPILE_TEST)235 select MFD_SYSCON236 help237 Support for ethernet controller on NXP i.MX8 SOCs.238 239 This selects NXP SoC glue layer support for the stmmac240 device driver. This driver is used for i.MX8 series like241 iMX8MP/iMX8DXL GMAC ethernet controller.242 243config DWMAC_INTEL_PLAT244 tristate "Intel dwmac support"245 depends on OF && COMMON_CLK246 depends on STMMAC_ETH247 help248 Support for ethernet controllers on Intel SoCs249 250 This selects the Intel platform specific glue layer support for251 the stmmac device driver. This driver is used for the Intel Keem Bay252 SoC.253 254config DWMAC_LOONGSON1255 tristate "Loongson1 GMAC support"256 default MACH_LOONGSON32257 depends on OF && (MACH_LOONGSON32 || COMPILE_TEST)258 help259 Support for ethernet controller on Loongson1 SoC.260 261 This selects Loongson1 SoC glue layer support for the stmmac262 device driver. This driver is used for Loongson1-based boards263 like Loongson LS1B/LS1C.264 265config DWMAC_TEGRA266 tristate "NVIDIA Tegra MGBE support"267 depends on ARCH_TEGRA || COMPILE_TEST268 help269 This selects the Multi-GigaBit Ethernet (MGBE) Controller that is270 found on the NVIDIA Tegra SoC devices. This driver provides the glue271 layer on top of the stmmac driver required for these NVIDIA Tegra SoC272 devices.273 274config DWMAC_VISCONTI275 tristate "Toshiba Visconti DWMAC support"276 default ARCH_VISCONTI277 depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST)278 help279 Support for ethernet controller on Visconti SoCs.280 281endif282 283config DWMAC_INTEL284 tristate "Intel GMAC support"285 default X86286 depends on X86 && STMMAC_ETH && PCI287 depends on COMMON_CLK288 help289 This selects the Intel platform specific bus support for the290 stmmac driver. This driver is used for Intel Quark/EHL/TGL.291 292config DWMAC_LOONGSON293 tristate "Loongson PCI DWMAC support"294 default MACH_LOONGSON64295 depends on (MACH_LOONGSON64 || COMPILE_TEST) && STMMAC_ETH && PCI296 depends on COMMON_CLK297 help298 This selects the LOONGSON PCI bus support for the stmmac driver,299 Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge.300 301config STMMAC_PCI302 tristate "STMMAC PCI bus support"303 depends on STMMAC_ETH && PCI304 depends on COMMON_CLK305 help306 This selects the platform specific bus support for the stmmac driver.307 This driver was tested on XLINX XC2V3000 FF1152AMT0221308 D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.309 310 If you have a controller with this interface, say Y or M here.311 312 If unsure, say N.313endif314