| # SPDX-License-Identifier: GPL-2.0-only |
| config STMMAC_ETH |
| tristate "STMicroelectronics Multi-Gigabit Ethernet driver" |
| depends on HAS_IOMEM && HAS_DMA |
| depends on PTP_1588_CLOCK_OPTIONAL |
| select MII |
| select PCS_XPCS |
| select PAGE_POOL |
| select PHYLINK |
| select CRC32 |
| select RESET_CONTROLLER |
| help |
| This is the driver for the Ethernet IPs built around a |
| Synopsys IP Core. |
| |
| if STMMAC_ETH |
| |
| config STMMAC_SELFTESTS |
| bool "Support for STMMAC Selftests" |
| depends on INET |
| depends on STMMAC_ETH |
| default n |
| help |
| This adds support for STMMAC Selftests using ethtool. Enable this |
| feature if you are facing problems with your HW and submit the test |
| results to the netdev Mailing List. |
| |
| config STMMAC_PLATFORM |
| tristate "STMMAC Platform bus support" |
| depends on STMMAC_ETH |
| select MFD_SYSCON |
| default y |
| help |
| This selects the platform specific bus support for the stmmac driver. |
| This is the driver used on several SoCs: |
| STi, Allwinner, Amlogic Meson, Altera SOCFPGA. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| if STMMAC_PLATFORM |
| |
| config DWMAC_DWC_QOS_ETH |
| tristate "Support for snps,dwc-qos-ethernet.txt DT binding." |
| select CRC32 |
| select MII |
| depends on OF && HAS_DMA |
| help |
| Support for chips using the snps,dwc-qos-ethernet.txt DT binding. |
| |
| config DWMAC_GENERIC |
| tristate "Generic driver for DWMAC" |
| default STMMAC_PLATFORM |
| help |
| Generic DWMAC driver for platforms that don't require any |
| platform specific code to function or is using platform |
| data for setup. |
| |
| config DWMAC_ANARION |
| tristate "Adaptrum Anarion GMAC support" |
| default ARC |
| depends on OF && (ARC || COMPILE_TEST) |
| help |
| Support for Adaptrum Anarion GMAC Ethernet controller. |
| |
| This selects the Anarion SoC glue layer support for the stmmac driver. |
| |
| config DWMAC_INGENIC |
| tristate "Ingenic MAC support" |
| default MACH_INGENIC |
| depends on OF && HAS_IOMEM && (MACH_INGENIC || COMPILE_TEST) |
| select MFD_SYSCON |
| help |
| Support for ethernet controller on Ingenic SoCs. |
| |
| This selects Ingenic SoCs glue layer support for the stmmac |
| device driver. This driver is used on for the Ingenic SoCs |
| MAC ethernet controller. |
| |
| config DWMAC_IPQ806X |
| tristate "QCA IPQ806x DWMAC support" |
| default ARCH_QCOM |
| depends on OF && (ARCH_QCOM || COMPILE_TEST) |
| select MFD_SYSCON |
| help |
| Support for QCA IPQ806X DWMAC Ethernet. |
| |
| This selects the IPQ806x SoC glue layer support for the stmmac |
| device driver. This driver does not use any of the hardware |
| acceleration features available on this SoC. Network devices |
| will behave like standard non-accelerated ethernet interfaces. |
| |
| Select the QCOM_SOCINFO config flag to enable specific dwmac |
| fixup based on the ipq806x SoC revision. |
| |
| config DWMAC_LPC18XX |
| tristate "NXP LPC18xx/43xx DWMAC support" |
| default ARCH_LPC18XX |
| depends on OF && (ARCH_LPC18XX || COMPILE_TEST) |
| select MFD_SYSCON |
| help |
| Support for NXP LPC18xx/43xx DWMAC Ethernet. |
| |
| config DWMAC_MEDIATEK |
| tristate "MediaTek MT27xx GMAC support" |
| depends on OF && (ARCH_MEDIATEK || COMPILE_TEST) |
| help |
| Support for MediaTek GMAC Ethernet controller. |
| |
| This selects the MT2712 SoC support for the stmmac driver. |
| |
| config DWMAC_MESON |
| tristate "Amlogic Meson dwmac support" |
| default ARCH_MESON |
| depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST) |
| help |
| Support for Ethernet controller on Amlogic Meson SoCs. |
| |
| This selects the Amlogic Meson SoC glue layer support for |
| the stmmac device driver. This driver is used for Meson6, |
| Meson8, Meson8b and GXBB SoCs. |
| |
| config DWMAC_QCOM_ETHQOS |
| tristate "Qualcomm ETHQOS support" |
| default ARCH_QCOM |
| depends on OF && (ARCH_QCOM || COMPILE_TEST) |
| help |
| Support for the Qualcomm ETHQOS core. |
| |
| This selects the Qualcomm ETHQOS glue layer support for the |
| stmmac device driver. |
| |
| config DWMAC_ROCKCHIP |
| tristate "Rockchip dwmac support" |
| default ARCH_ROCKCHIP |
| depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST) |
| select MFD_SYSCON |
| help |
| Support for Ethernet controller on Rockchip RK3288 SoC. |
| |
| This selects the Rockchip RK3288 SoC glue layer support for |
| the stmmac device driver. |
| |
| config DWMAC_SOCFPGA |
| tristate "SOCFPGA dwmac support" |
| default ARCH_INTEL_SOCFPGA |
| depends on OF && (ARCH_INTEL_SOCFPGA || COMPILE_TEST) |
| select MFD_SYSCON |
| select MDIO_REGMAP |
| select REGMAP_MMIO |
| select PCS_LYNX |
| help |
| Support for ethernet controller on Altera SOCFPGA |
| |
| This selects the Altera SOCFPGA SoC glue layer support |
| for the stmmac device driver. This driver is used for |
| arria5 and cyclone5 FPGA SoCs. |
| |
| config DWMAC_STARFIVE |
| tristate "StarFive dwmac support" |
| depends on OF && (ARCH_STARFIVE || COMPILE_TEST) |
| select MFD_SYSCON |
| default m if ARCH_STARFIVE |
| help |
| Support for ethernet controllers on StarFive RISC-V SoCs |
| |
| This selects the StarFive platform specific glue layer support |
| for the stmmac device driver. This driver is used for the |
| StarFive JH7100 and JH7110 ethernet controllers. |
| |
| config DWMAC_STI |
| tristate "STi GMAC support" |
| default ARCH_STI |
| depends on OF && (ARCH_STI || COMPILE_TEST) |
| select MFD_SYSCON |
| help |
| Support for ethernet controller on STi SOCs. |
| |
| This selects STi SoC glue layer support for the stmmac |
| device driver. This driver is used on for the STi series |
| SOCs GMAC ethernet controller. |
| |
| config DWMAC_STM32 |
| tristate "STM32 DWMAC support" |
| default ARCH_STM32 |
| depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST) |
| select MFD_SYSCON |
| help |
| Support for ethernet controller on STM32 SOCs. |
| |
| This selects STM32 SoC glue layer support for the stmmac |
| device driver. This driver is used on for the STM32 series |
| SOCs GMAC ethernet controller. |
| |
| config DWMAC_SUNXI |
| tristate "Allwinner GMAC support" |
| default ARCH_SUNXI |
| depends on OF && (ARCH_SUNXI || COMPILE_TEST) |
| help |
| Support for Allwinner A20/A31 GMAC ethernet controllers. |
| |
| This selects Allwinner SoC glue layer support for the |
| stmmac device driver. This driver is used for A20/A31 |
| GMAC ethernet controller. |
| |
| config DWMAC_SUN8I |
| tristate "Allwinner sun8i GMAC support" |
| default ARCH_SUNXI |
| depends on OF && (ARCH_SUNXI || COMPILE_TEST) |
| select MDIO_BUS_MUX |
| help |
| Support for Allwinner H3 A83T A64 EMAC ethernet controllers. |
| |
| This selects Allwinner SoC glue layer support for the |
| stmmac device driver. This driver is used for H3/A83T/A64 |
| EMAC ethernet controller. |
| |
| config DWMAC_IMX8 |
| tristate "NXP IMX8 DWMAC support" |
| default ARCH_MXC |
| depends on OF && (ARCH_MXC || COMPILE_TEST) |
| select MFD_SYSCON |
| help |
| Support for ethernet controller on NXP i.MX8 SOCs. |
| |
| This selects NXP SoC glue layer support for the stmmac |
| device driver. This driver is used for i.MX8 series like |
| iMX8MP/iMX8DXL GMAC ethernet controller. |
| |
| config DWMAC_INTEL_PLAT |
| tristate "Intel dwmac support" |
| depends on OF && COMMON_CLK |
| depends on STMMAC_ETH |
| help |
| Support for ethernet controllers on Intel SoCs |
| |
| This selects the Intel platform specific glue layer support for |
| the stmmac device driver. This driver is used for the Intel Keem Bay |
| SoC. |
| |
| config DWMAC_LOONGSON1 |
| tristate "Loongson1 GMAC support" |
| default MACH_LOONGSON32 |
| depends on OF && (MACH_LOONGSON32 || COMPILE_TEST) |
| help |
| Support for ethernet controller on Loongson1 SoC. |
| |
| This selects Loongson1 SoC glue layer support for the stmmac |
| device driver. This driver is used for Loongson1-based boards |
| like Loongson LS1B/LS1C. |
| |
| config DWMAC_TEGRA |
| tristate "NVIDIA Tegra MGBE support" |
| depends on ARCH_TEGRA || COMPILE_TEST |
| help |
| This selects the Multi-GigaBit Ethernet (MGBE) Controller that is |
| found on the NVIDIA Tegra SoC devices. This driver provides the glue |
| layer on top of the stmmac driver required for these NVIDIA Tegra SoC |
| devices. |
| |
| config DWMAC_VISCONTI |
| tristate "Toshiba Visconti DWMAC support" |
| default ARCH_VISCONTI |
| depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST) |
| help |
| Support for ethernet controller on Visconti SoCs. |
| |
| endif |
| |
| config DWMAC_INTEL |
| tristate "Intel GMAC support" |
| default X86 |
| depends on X86 && STMMAC_ETH && PCI |
| depends on COMMON_CLK |
| help |
| This selects the Intel platform specific bus support for the |
| stmmac driver. This driver is used for Intel Quark/EHL/TGL. |
| |
| config DWMAC_LOONGSON |
| tristate "Loongson PCI DWMAC support" |
| default MACH_LOONGSON64 |
| depends on (MACH_LOONGSON64 || COMPILE_TEST) && STMMAC_ETH && PCI |
| depends on COMMON_CLK |
| help |
| This selects the LOONGSON PCI bus support for the stmmac driver, |
| Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge. |
| |
| config STMMAC_PCI |
| tristate "STMMAC PCI bus support" |
| depends on STMMAC_ETH && PCI |
| depends on COMMON_CLK |
| help |
| This selects the platform specific bus support for the stmmac driver. |
| This driver was tested on XLINX XC2V3000 FF1152AMT0221 |
| D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| endif |