This patch set adds Xilinx AXI Multirate MAC(MRMAC) driver support. This MRMAC is a high performance, low latency, adaptable Ethernet integrated hard IP. This can be configured up to four ports with MAC rates from 10GE to 100GE.
Supported Configuration Combinations: 1 × 100GE 2 × 50GE 1 × 40GE 4 × 25GE 4 × 10GE Currently added support and tested below configurations in the driver: 4 × 25GE 4 × 10GE Changes in v3: - In V2 by mistake changed return type of isrxready() of xilinx_axi_emac driver instead of xilinx_axi_mrmac driver. Fixed it in V3. Changes in v2: - Changed all static allocations to dynamic and freed them. - Used setbits_le32 and clrbits_le32 wherever applicable - All return's are changed to proper error codes instead of 1 or -1 - Changed return type of isrxready() from int to bool - Changed all printf's to log_warning, and debug to log_debug - Added function headers with desciption - Changed all capital hex numbers to small hex numbers Ashok Reddy Soma (3): net: ethtool: Add ethernet speed macros for higher speeds net: xilinx: axi_mrmac: Add MRMAC driver xilinx: versal: Enable Xilinx AXI MRMAC MAINTAINERS | 1 + configs/xilinx_versal_virt_defconfig | 1 + drivers/net/Kconfig | 9 + drivers/net/Makefile | 1 + drivers/net/xilinx_axi_mrmac.c | 564 +++++++++++++++++++++++++++ drivers/net/xilinx_axi_mrmac.h | 203 ++++++++++ include/linux/ethtool.h | 8 + 7 files changed, 787 insertions(+) create mode 100644 drivers/net/xilinx_axi_mrmac.c create mode 100644 drivers/net/xilinx_axi_mrmac.h -- 2.17.1