.. SPDX-License-Identifier: GPL-2.0+ ============================================================== Linux Driver for the Synopsys(R) Ethernet Controllers "stmmac" ============================================================== Authors: Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu Contents ======== - In This Release - Feature List - Kernel Configuration - Command Line Parameters - Driver Information and Notes - Debug Information - Support In This Release =============== This file describes the stmmac Linux Driver for all the Synopsys(R) Ethernet Controllers. Currently, this network device driver is for all STi embedded MAC/GMAC (i.e. 7xxx/5xxx SoCs), SPEAr (arm), Loongson1B (mips) and XILINX XC2V3000 FF1152AMT0221 D1215994A VIRTEX FPGA board. The Synopsys Ethernet QoS 5.0 IPK is also supported. DesignWare(R) Cores Ethernet MAC 10/100/1000 Universal version 3.70a (and older) and DesignWare(R) Cores Ethernet Quality-of-Service version 4.0 (and upper) have been used for developing this driver as well as DesignWare(R) Cores XGMAC - 10G Ethernet MAC and DesignWare(R) Cores Enterprise MAC - 100G Ethernet MAC. This driver supports both the platform bus and PCI. This driver includes support for the following Synopsys(R) DesignWare(R) Cores Ethernet Controllers and corresponding minimum and maximum versions: +-------------------------------+--------------+--------------+--------------+ | Controller Name | Min. Version | Max. Version | Abbrev. Name | +===============================+==============+==============+==============+ | Ethernet MAC Universal | N/A | 3.73a | GMAC | +-------------------------------+--------------+--------------+--------------+ | Ethernet Quality-of-Service | 4.00a | N/A | GMAC4+ | +-------------------------------+--------------+--------------+--------------+ | XGMAC - 10G Ethernet MAC | 2.10a | N/A | XGMAC2+ | +-------------------------------+--------------+--------------+--------------+ | XLGMAC - 100G Ethernet MAC | 2.00a | N/A | XLGMAC2+ | +-------------------------------+--------------+--------------+--------------+ For questions related to hardware requirements, refer to the documentation supplied with your Ethernet adapter. All hardware requirements listed apply to use with Linux. Feature List ============ The following features are available in this driver: - GMII/MII/RGMII/SGMII/RMII/XGMII/XLGMII Interface - Half-Duplex / Full-Duplex Operation - Energy Efficient Ethernet (EEE) - IEEE 802.3x PAUSE Packets (Flow Control) - RMON/MIB Counters - IEEE 1588 Timestamping (PTP) - Pulse-Per-Second Output (PPS) - MDIO Clause 22 / Clause 45 Interface - MAC Loopback - ARP Offloading - Automatic CRC / PAD Insertion and Checking - Checksum Offload for Received and Transmitted Packets - Standard or Jumbo Ethernet Packets - Source Address Insertion / Replacement - VLAN TAG Insertion / Replacement / Deletion / Filtering (HASH and PERFECT) - Programmable TX and RX Watchdog and Coalesce Settings - Destination Address Filtering (PERFECT) - HASH Filtering (Multicast) - Layer 3 / Layer 4 Filtering - Remote Wake-Up Detection - Receive Side Scaling (RSS) - Frame Preemption for TX and RX - Programmable Burst Length, Threshold, Queue Size - Multiple Queues (up to 8) - Multiple Scheduling Algorithms (TX: WRR, DWRR, WFQ, SP, CBS, EST, TBS; RX: WRR, SP) - Flexible RX Parser - TCP / UDP Segmentation Offload (TSO, USO) - Split Header (SPH) - Safety Features (ECC Protection, Data Parity Protection) - Selftests using Ethtool Kernel Configuration ==================== The kernel configuration option is ``CONFIG_STMMAC_ETH``: - ``CONFIG_STMMAC_PLATFORM``: is to enable the platform driver. - ``CONFIG_STMMAC_PCI``: is to enable the pci driver. Command Line Parameters ======================= If the driver is built as a module the following optional parameters are used by entering them on the command line with the modprobe command using this syntax (e.g. for PCI module):: modprobe stmmac_pci [