Versions Compared

Key

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

Table of Contents
Introduction

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
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/emacps
The driver structure is as follows:
emacps
|
- 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

...

FamilyPHYSupport
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.

Performance

Standalone ethernet performance is benchmarked with the use of light weight IP library and application. Please refer to
http://www.wiki.xilinx.com/Standalone+LWIP+library#Performance

...

6a7d6b2 emacps: Add provision to set RX watermark register
d4f92e6 emacps: Use selected speed in loopback mode
625c97b emacps: Fix BD space handling in examples
de0a89f emacps: Fix pointer cast warnings in examples
53a68ac emacps: Add support for psv_ethernet IP name
f626344 emacps: Fix data alignment for IAR compiler in example
7477196 emacps: Update example to use PSV_ suffix 


2018.3

Summary:

  • Cleanup and fixes for GCC and coverity warnings
  • Support for 64 bit addressing on Microblaze

Commits:

07c73dd emacps: Fix GCC warnings and add an additional canonical property
40d00e8 emacps: Fix coverity warnings
6ea92b1 emacps: Fix unused variable warning in example
05be3ac emacps: Remove duplicate definition of XEmacPs_BdSetLength
5b51039 emacps: Fix PTP interrupt masks and cleanup stale comments
848ceb0 emacps: Fix warning for redefining interrupt number
b87f96d drivers: Support 64 bit DMA addresses for Microblaze-X

...