Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

This page provides details related to the standalone emacps driver.
This driver supports GEM on Zynq and , Zynq Ultrascale+ MPSoC and Versal

How to enable

emacps driver can be found at
The driver structure is as follows:
- doc - Provides the API and data structure details
- examples - Reference application to show how to use the driver.
- src - Driver source files

Features supported

Controller/Driver features supported

  • 10/100/1000 speeds, phy/external loop back (supported in emacps
  • PHY management
  • DMA, Packet buffer support, Checksum offload, FCS stripping, programmable IPG, multicasting, promiscuous and broadcast modes.
  • Flow control and half duplex features are supported by controller but not demonstrated in the examples.
  • ZynqMP and Versal only: 64 bit descriptor support, Priority queue support, Jumbo frame support, CCI support


ZynqRGMIIYes - supported in HW and driver
ZynqMPRGMIIYes - supported in HW and driver
ZynqMPSGMIIYes - supported in HW and driver
VersalRGMIIYes - supported in HW and driver

Features not supported

  • External FIFO interface - this driver only targets DMA
  • Partial store and forward not supported


  • PHY device Marvell 88E1116 has been tested on Zynq evaluation board
  • PHY devices Marvell 88E1512, TI DP83867 (RGMII and SGMII), VSC8211 and RTL8211 have been tested on ZynqMP.
  • PHY devices Marvell 88E1512, TI DP83867, VSC8531_02 and RTL8211DN have been tested on Versal.


Standalone ethernet performance is benchmarked with the use of light weight IP library and application. Please refer to