86 lines
5.4 KiB
HTML
Executable file
86 lines
5.4 KiB
HTML
Executable file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
|
<title>zdma: Main Page</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">zdma
|
|
</div>
|
|
<div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.10 -->
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li class="current"><a href="index.html"><span>Overview</span></a></li>
|
|
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
|
<li><a href="globals.html"><span>APIs</span></a></li>
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
</ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">zdma Documentation</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="textblock"><p>ZDMA is a general purpose DMA designed to support memory to memory and memory to IO buffer transfers. ALTO has two instance of general purpose ZDMA. One is located in FPD (full power domain) which is GDMA and other is located in LPD (low power domain) which is ADMA.</p>
|
|
<p>GMDA & ADMA are configured each with 8 DMA channels and and each channel can be programmed secure or non-secure. Each channel is divided into two functional sides, Source (Read) and Destination (Write). Each DMA channel can be independently programmed in one of following DMA modes.</p><ul>
|
|
<li>Simple DMA<ul>
|
|
<li>Normal data transfer from source to destination.</li>
|
|
<li>Write Only mode.</li>
|
|
<li>Read Only mode.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Scatter Gather DMA<ul>
|
|
<li>Only Normal mode it can't support other two modes. In Scatter gather descriptor can be of 3 types</li>
|
|
</ul>
|
|
</li>
|
|
<li>Linear descriptor.</li>
|
|
<li>Linked list descriptor</li>
|
|
<li>Hybrid descriptor (Combination of both Linear and Linked list) Our driver will not support Hybrid type of descriptor.</li>
|
|
</ul>
|
|
<p><b>Initialization & Configuration</b></p>
|
|
<p>The device driver enables higher layer software (e.g., an application) to communicate to the ZDMA core.</p>
|
|
<p><a class="el" href="group__zdma__v1__0.html#gad882e6d7430871e5b71643c8be2512d5" title="This function initializes an ZDMA core. ">XZDma_CfgInitialize()</a> API is used to initialize the ZDMA core. The user needs to first call the <a class="el" href="group__zdma__v1__0.html#ga3de69499d007ed840aa3b95fe9b63354" title="XZDma_LookupConfig returns a reference to an XZDma_Config structure based on the unique device id...">XZDma_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <a class="el" href="group__zdma__v1__0.html#gad882e6d7430871e5b71643c8be2512d5" title="This function initializes an ZDMA core. ">XZDma_CfgInitialize()</a> API.</p>
|
|
<p><b> Interrupts </b> The driver provides an interrupt handler XZDma_IntrHandler for handling the interrupt from the ZDMA core. The users of this driver have to register this handler with the interrupt system and provide the callback functions by using XZDma_SetCallBack API. In this version Descriptor done option is disabled.</p>
|
|
<p><b> Virtual Memory </b></p>
|
|
<p>This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.</p>
|
|
<p><b> Threads </b></p>
|
|
<p>This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.</p>
|
|
<p><b> Asserts </b></p>
|
|
<p>Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.</p>
|
|
<p><b> Building the driver </b></p>
|
|
<p>The <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.</p>
|
|
<p>This header file contains identifiers and register-level driver functions (or macros), range macros, structure typedefs that can be used to access the Xilinx ZDMA core instance.</p>
|
|
<pre>
|
|
MODIFICATION HISTORY:</pre><pre>Ver Who Date Changes
|
|
----- ------ -------- ------------------------------------------------------
|
|
1.0 vns 2/27/15 First release
|
|
</pre> </div></div><!-- contents -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="footer">Copyright © 2015 Xilinx Inc. All rights reserved.</li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|