145 lines
19 KiB
HTML
Executable file
145 lines
19 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>csudma: xcsudma.h File Reference</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">csudma
|
|
</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><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 id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_14bc92f4b96c8519b376567118ac28b3.html">drivers</a></li><li class="navelem"><a class="el" href="dir_b5e9f2ac890b0b111dd678acfc609fdc.html">csudma</a></li><li class="navelem"><a class="el" href="dir_def62177241c58c58844a30bd26c024d.html">src</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Data Structures</a> |
|
|
<a href="#define-members">Macros</a> |
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">xcsudma.h File Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
|
|
<div class="textblock"><p>CSU_DMA allows the CSU to move data efficiently between the memory (32 bit AXI interface) and the CSU stream peripherals (SHA, AES and PCAP) via Secure Stream Switch (SSS).</p>
|
|
<p>The CSU_DMA is a 2 channel simple DMA, allowing separate control of the SRC (read) channel and DST (write) channel. The DMA is effectively able to transfer data:</p><ul>
|
|
<li>From PS-side to the SSS-side (SRC DMA only)</li>
|
|
<li>From SSS-side to the PS-side (DST DMA only)</li>
|
|
<li>Simultaneous PS-side to SSS_side and SSS-side to the PS-side</li>
|
|
</ul>
|
|
<p><b>Initialization & Configuration</b></p>
|
|
<p>The device driver enables higher layer software (e.g., an application) to communicate to the CSU_DMA core.</p>
|
|
<p><a class="el" href="group__csudma__v1__0.html#ga64394cb7de1a6bc3e31fca2f4a5e59bb" title="This function initializes an CSU_DMA core. ">XCsuDma_CfgInitialize()</a> API is used to initialize the CSU_DMA core. The user needs to first call the <a class="el" href="group__csudma__v1__0.html#ga1335313d09e43a42b0c1d7276f3b7f67" title="XCsuDma_LookupConfig returns a reference to an XCsuDma_Config structure based on the unique device id...">XCsuDma_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <a class="el" href="group__csudma__v1__0.html#ga64394cb7de1a6bc3e31fca2f4a5e59bb" title="This function initializes an CSU_DMA core. ">XCsuDma_CfgInitialize()</a> API.</p>
|
|
<p><b> Interrupts </b> This driver will not support handling of interrupts user should write handler to handle the interrupts.</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_csu_dma.html" title="The XCsuDma driver instance data structure. ">XCsuDma</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>
|
|
</div><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
Data Structures</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_csu_dma___config.html">XCsuDma_Config</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_csu_dma.html">XCsuDma</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_csu_dma___configure.html">XCsuDma_Configure</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
|
|
Macros</h2></td></tr>
|
|
<tr class="memitem:ga4fd22ed9ee5ff0eae03ee717112b7087"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga4fd22ed9ee5ff0eae03ee717112b7087">XCsuDma_Reset</a>()</td></tr>
|
|
<tr class="separator:ga4fd22ed9ee5ff0eae03ee717112b7087"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga97adf45a00577175416617745ddae9b8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga97adf45a00577175416617745ddae9b8">XCsuDma_WaitForDone</a>(InstancePtr, Channel)</td></tr>
|
|
<tr class="separator:ga97adf45a00577175416617745ddae9b8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gadf6f5fdbd1556eecafa2ecf802b88e73"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#gadf6f5fdbd1556eecafa2ecf802b88e73">XCsuDma_GetDoneCount</a>(InstancePtr, Channel)</td></tr>
|
|
<tr class="separator:gadf6f5fdbd1556eecafa2ecf802b88e73"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga055148e26de969504f6b826af3fe9279"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga055148e26de969504f6b826af3fe9279">XCsuDma_GetFIFOLevel</a>(InstancePtr, Channel)</td></tr>
|
|
<tr class="separator:ga055148e26de969504f6b826af3fe9279"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga8b3c3d44a05b300dd2b60a1f15bc9a60"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga8b3c3d44a05b300dd2b60a1f15bc9a60">XCsuDma_GetWROutstandCount</a>(InstancePtr, Channel)</td></tr>
|
|
<tr class="separator:ga8b3c3d44a05b300dd2b60a1f15bc9a60"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaf15d6d8d487734165214850984ac00f2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#gaf15d6d8d487734165214850984ac00f2">XCsuDma_IsBusy</a>(InstancePtr, Channel)</td></tr>
|
|
<tr class="separator:gaf15d6d8d487734165214850984ac00f2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr><td colspan="2"><div class="groupHeader">Ranges of Size</div></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:ga1335313d09e43a42b0c1d7276f3b7f67"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_csu_dma___config.html">XCsuDma_Config</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga1335313d09e43a42b0c1d7276f3b7f67">XCsuDma_LookupConfig</a> (u16 DeviceId)</td></tr>
|
|
<tr class="separator:ga1335313d09e43a42b0c1d7276f3b7f67"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga64394cb7de1a6bc3e31fca2f4a5e59bb"><td class="memItemLeft" align="right" valign="top">s32 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga64394cb7de1a6bc3e31fca2f4a5e59bb">XCsuDma_CfgInitialize</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="struct_x_csu_dma___config.html">XCsuDma_Config</a> *CfgPtr, u32 EffectiveAddr)</td></tr>
|
|
<tr class="separator:ga64394cb7de1a6bc3e31fca2f4a5e59bb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gace70d2b6c66ded008944dfd456c1bf5c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#gace70d2b6c66ded008944dfd456c1bf5c">XCsuDma_Transfer</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, UINTPTR Addr, u32 Size, u8 EnDataLast)</td></tr>
|
|
<tr class="separator:gace70d2b6c66ded008944dfd456c1bf5c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga25049be545d8ec6eae2426b6248a8e4f"><td class="memItemLeft" align="right" valign="top">u64 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga25049be545d8ec6eae2426b6248a8e4f">XCsuDma_GetAddr</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel)</td></tr>
|
|
<tr class="separator:ga25049be545d8ec6eae2426b6248a8e4f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gad5fd579fb9c166e59ee1f9d3b39250c7"><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#gad5fd579fb9c166e59ee1f9d3b39250c7">XCsuDma_GetSize</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel)</td></tr>
|
|
<tr class="separator:gad5fd579fb9c166e59ee1f9d3b39250c7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga00b5080126710866186d0bfafd26e9b6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga00b5080126710866186d0bfafd26e9b6">XCsuDma_Pause</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, <a class="el" href="group__csudma__v1__0.html#gad5ce08d197288cbdfb06941f1d46df87">XCsuDma_PauseType</a> Type)</td></tr>
|
|
<tr class="separator:ga00b5080126710866186d0bfafd26e9b6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaa3450f812658f927f289b997b12a4174"><td class="memItemLeft" align="right" valign="top">s32 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#gaa3450f812658f927f289b997b12a4174">XCsuDma_IsPaused</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, <a class="el" href="group__csudma__v1__0.html#gad5ce08d197288cbdfb06941f1d46df87">XCsuDma_PauseType</a> Type)</td></tr>
|
|
<tr class="separator:gaa3450f812658f927f289b997b12a4174"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaeee3f2d5bcf265b57c9f214f2bc15a28"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#gaeee3f2d5bcf265b57c9f214f2bc15a28">XCsuDma_Resume</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, <a class="el" href="group__csudma__v1__0.html#gad5ce08d197288cbdfb06941f1d46df87">XCsuDma_PauseType</a> Type)</td></tr>
|
|
<tr class="separator:gaeee3f2d5bcf265b57c9f214f2bc15a28"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga17f1a7ba935f4bf3626050e0b0e0142b"><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga17f1a7ba935f4bf3626050e0b0e0142b">XCsuDma_GetCheckSum</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr)</td></tr>
|
|
<tr class="separator:ga17f1a7ba935f4bf3626050e0b0e0142b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga78bdd79674e2b5c92b9701cacfde1fe1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga78bdd79674e2b5c92b9701cacfde1fe1">XCsuDma_ClearCheckSum</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr)</td></tr>
|
|
<tr class="separator:ga78bdd79674e2b5c92b9701cacfde1fe1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gac9b6265e467b03cc903cd66781e95e63"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#gac9b6265e467b03cc903cd66781e95e63">XCsuDma_SetConfig</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, <a class="el" href="struct_x_csu_dma___configure.html">XCsuDma_Configure</a> *ConfigurValues)</td></tr>
|
|
<tr class="separator:gac9b6265e467b03cc903cd66781e95e63"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaab0b66bca3f38d26d38ff47544fa6b11"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#gaab0b66bca3f38d26d38ff47544fa6b11">XCsuDma_GetConfig</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, <a class="el" href="struct_x_csu_dma___configure.html">XCsuDma_Configure</a> *ConfigurValues)</td></tr>
|
|
<tr class="separator:gaab0b66bca3f38d26d38ff47544fa6b11"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6169fa380a4d55e41d7ab96589372e8f"><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga6169fa380a4d55e41d7ab96589372e8f">XCsuDma_IntrGetStatus</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel)</td></tr>
|
|
<tr class="separator:ga6169fa380a4d55e41d7ab96589372e8f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga1db5eabd96920efb06fb03c919420601"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga1db5eabd96920efb06fb03c919420601">XCsuDma_IntrClear</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, u32 Mask)</td></tr>
|
|
<tr class="separator:ga1db5eabd96920efb06fb03c919420601"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gad892a65e65ac14f48f7d7f53020511cf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#gad892a65e65ac14f48f7d7f53020511cf">XCsuDma_EnableIntr</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, u32 Mask)</td></tr>
|
|
<tr class="separator:gad892a65e65ac14f48f7d7f53020511cf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gadf3599e4d07ef05586a217ebbbd02999"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#gadf3599e4d07ef05586a217ebbbd02999">XCsuDma_DisableIntr</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, u32 Mask)</td></tr>
|
|
<tr class="separator:gadf3599e4d07ef05586a217ebbbd02999"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6ed420e8bfd9ab489a2d2c3e984ca7a2"><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga6ed420e8bfd9ab489a2d2c3e984ca7a2">XCsuDma_GetIntrMask</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csudma__v1__0.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel)</td></tr>
|
|
<tr class="separator:ga6ed420e8bfd9ab489a2d2c3e984ca7a2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga774ab551d0ef59fd880ff834f2d83804"><td class="memItemLeft" align="right" valign="top">s32 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__csudma__v1__0.html#ga774ab551d0ef59fd880ff834f2d83804">XCsuDma_SelfTest</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr)</td></tr>
|
|
<tr class="separator:ga774ab551d0ef59fd880ff834f2d83804"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
</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>
|