Introduction

This page gives an overview of zdma driver which is available as part of the Xilinx Vivado and SDK distribution.
ZDMA is a general purpose DMA designed to support memory to memory and memory to IO buffer transfers.
Zynq Ultrasclae+ MPSOC has two instance of general purpose ZDMA.
One is located in FPD (full power domain) which usually called as GDMA and other is located
in LPD (low power domain) which usually called as ADMA.

How to enable

Source path for the driver:
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/zdma

Driver source code is organized into different folders. Below diagram shows the zdma driver source organization
ZDMA
|
-- Doc - Provides the API and data structure details
|
- Examples - Reference application to show how to use the driver APIs and calling sequence
|
- Source - Driver source files

Features Supported

Controller Features


Standalone Driver Supported Features

The ZDMA Standalone driver support the below things.

Test cases

https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/zdma/examples

xzdma_selftest_example.c : – It includes few basic core API testing for self-test.
xzdma_writeonlymode_example.c - This is an example which explains how to use write only DMA feature
xzdma_readonlymode_example.c - This is an example which explains how to use read only DMA feature
xzdma_linear_example.c - This is an example which explains how to use Scatter Gather Linear descriptor mode.
xzdma_linkedlist_example.c - This is an example which explains how to use Scatter Gather Linked list descriptor mode.
xzdma_simple_example.c - This is an example which explains how to use simple DMA mode.

Known issues and Limitations


Change Log

2020.2
Summary:

Commits:

https://github.com/Xilinx/embeddedsw/commits/xilinx-v2020.2/XilinxProcessorIPLib/drivers/zdma

2020.1
Summary:
No changes
Version updated with license changes
2019.2

Commits:

https://github.com/Xilinx/embeddedsw/commits/xilinx-v2019.2/XilinxProcessorIPLib/drivers/zdma

761c9af Fixed trivial typos reported by codespell utility
a2c7c62 zdma: This patch fixes the coverity warnings for "Deadcode".
599653d zdma: This patch fixes the coverity warnings for "OVERFLOW_BEFORE_WIDEN"
c78886a zdma: This patch fixes the coverity warning for "Event result_independent_of_operands".
3088184 zdma: Updated the modification history for zdma.


2019.1

Commits:

https://github.com/Xilinx/embeddedsw/commits/xilinx-v2019.1/XilinxProcessorIPLib/drivers/zdma

cc2043c zdma: Fix data alignment in the examples for IAR compiler
2f2fc35 zdma: Fix peripheral app compilation issue with armclang compiler


2018.3

Commits:

da83a6d zdma: Fix cppcheck and coverity warnings
b4a4e8e zdma: Fix cpp check warning
60f5393 zdma: Resolve MISRA-C:2012 compliance mandatory violations
f406504 zdma: Use -hier option while using get_cells command


2018.2
2018.1
Commits:
772b3fb:
2017.4
2017.3
Commits:
f2592ed: zdma: Add support for CCI at EL1 NS
9072363: zdma: Updated examples for CCI support
2017.2
2017.1
Commits:
b79fe13 : Fixed compilation errors for IAR compiler
6e1d7ba : Added readme.tx file to generate doxygen file for examples.
2016.4
2016.3

Related Links