
This patch updates the doxygen for the drivers trafgen,ttcps,uartlite,uartns550,uartps to include .h files in the listof files provided in the index.html file. Signed-off-by: Kedareswara rao Appana <appanad@xilinx.com>
362 lines
18 KiB
HTML
Executable file
362 lines
18 KiB
HTML
Executable file
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>
|
|
Xilinx Driver trafgen v3_2: xtrafgen.c File Reference
|
|
</title>
|
|
<link href="doxygen_kalyanidocs/doc/css/driver_api_doxygen.css" rel="stylesheet" type="text/css">
|
|
</head>
|
|
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
|
|
<hl>Software Drivers</hl>
|
|
<hr class="whs1">
|
|
|
|
<!-- Generated by Doxygen 1.6.1 -->
|
|
<div class="navigation" id="top">
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
<li><a href="globals.html"><span>File Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="contents">
|
|
<h1>xtrafgen.c File Reference</h1><code>#include "<a class="el" href="xtrafgen_8h.html">xtrafgen.h</a>"</code><br/>
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<tr><td colspan="2"><h2>Defines</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xtrafgen_8c.html#aa852fb64cd7119a1feeb5715a794d79d">XTrafGen_GetCmdInfo</a>(InstancePtr) (&((InstancePtr)->CmdInfo))</td></tr>
|
|
<tr><td colspan="2"><h2>Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xtrafgen_8c.html#a244d0f4b024a4f85a5bbaa9d1ce14584">XTrafGen_CfgInitialize</a> (<a class="el" href="struct_x_traf_gen.html">XTrafGen</a> *InstancePtr, <a class="el" href="struct_x_traf_gen___config.html">XTrafGen_Config</a> *Config, u32 EffectiveAddress)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xtrafgen_8c.html#a39eaea669c1ff2df58e54c002b43f854">XTrafGen_AddCommand</a> (<a class="el" href="struct_x_traf_gen.html">XTrafGen</a> *InstancePtr, <a class="el" href="struct_x_traf_gen___cmd.html">XTrafGen_Cmd</a> *CmdPtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xtrafgen_8c.html#a262d850cbfc5b0495fbc2d84334a1fba">XTrafGen_GetLastValidIndex</a> (<a class="el" href="struct_x_traf_gen.html">XTrafGen</a> *InstancePtr, u32 RdWrFlag)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xtrafgen_8c.html#a14377a8884e99ce01c0c76128c939c49">XTrafGen_WriteCmdsToHw</a> (<a class="el" href="struct_x_traf_gen.html">XTrafGen</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xtrafgen_8c.html#a539d4976ad3ace9e15d993e2b18143a0">XTrafGen_EraseAllCommands</a> (<a class="el" href="struct_x_traf_gen.html">XTrafGen</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xtrafgen_8c.html#aaea625b89454268bbbe7f93e309141c4">XTrafGen_AccessMasterRam</a> (<a class="el" href="struct_x_traf_gen.html">XTrafGen</a> *InstancePtr, u32 Offset, int Length, u8 RdWrFlag, u32 *Data)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xtrafgen_8c.html#ad9654a81e902175a963c83edb0c37144">XTrafGen_PrintCmds</a> (<a class="el" href="struct_x_traf_gen.html">XTrafGen</a> *InstancePtr)</td></tr>
|
|
</table>
|
|
<hr/><a name="_details"></a><h2>Detailed Description</h2>
|
|
<p>This file implements AXI Traffic Generator device-wise initialization and control functions. For more information on the implementation of this driver, see <a class="el" href="xtrafgen_8h.html">xtrafgen.h</a>.</p>
|
|
<pre>
|
|
MODIFICATION HISTORY:</pre><pre> Ver Who Date Changes
|
|
----- ---- -------- -------------------------------------------------------
|
|
1.00a srt 01/24/13 First release
|
|
1.01a adk 03/09/13 Updated driver to Support Static and Streaming mode.
|
|
2.00a adk 16/09/13 Fixed CR:737291
|
|
</pre> <hr/><h2>Define Documentation</h2>
|
|
<a class="anchor" id="aa852fb64cd7119a1feeb5715a794d79d"></a><!-- doxytag: member="xtrafgen.c::XTrafGen_GetCmdInfo" ref="aa852fb64cd7119a1feeb5715a794d79d" args="(InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XTrafGen_GetCmdInfo</td>
|
|
<td>(</td>
|
|
<td class="paramtype">InstancePtr </td>
|
|
<td class="paramname"></td>
|
|
<td> ) </td>
|
|
<td> (&((InstancePtr)->CmdInfo))</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Get Command Info pointer</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the Axi TrafGen instance to be worked on.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the Command Info structure</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>C-style signature: <a class="el" href="struct_x_traf_gen___cmd_info.html">XTrafGen_CmdInfo</a> *XTrafGen_GetCmdInfo(<a class="el" href="struct_x_traf_gen.html">XTrafGen</a> *InstancePtr) </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/><h2>Function Documentation</h2>
|
|
<a class="anchor" id="aaea625b89454268bbbe7f93e309141c4"></a><!-- doxytag: member="xtrafgen.c::XTrafGen_AccessMasterRam" ref="aaea625b89454268bbbe7f93e309141c4" args="(XTrafGen *InstancePtr, u32 Offset, int Length, u8 RdWrFlag, u32 *Data)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XTrafGen_AccessMasterRam </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_traf_gen.html">XTrafGen</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>Offset</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>Length</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>RdWrFlag</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 * </td>
|
|
<td class="paramname"> <em>Data</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Write or Read Master RAM</p>
|
|
<p>The MSTRAM has 8 KB of internal RAM used for the following:</p>
|
|
<ul>
|
|
<li>Take data from this RAM for write transactions</li>
|
|
<li>Store data to this RAM for read transaction</li>
|
|
</ul>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the Axi TrafGen instance to be worked on. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Offset</em> </td><td>is the offset value in Master RAM. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Length</em> </td><td>is the size of data to write/read. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>RdWrFlag</em> </td><td>specifies whether to write or read </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Data</em> </td><td>is the pointer to array which contains data to write or reads data into. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a39eaea669c1ff2df58e54c002b43f854"></a><!-- doxytag: member="xtrafgen.c::XTrafGen_AddCommand" ref="a39eaea669c1ff2df58e54c002b43f854" args="(XTrafGen *InstancePtr, XTrafGen_Cmd *CmdPtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XTrafGen_AddCommand </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_traf_gen.html">XTrafGen</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="struct_x_traf_gen___cmd.html">XTrafGen_Cmd</a> * </td>
|
|
<td class="paramname"> <em>CmdPtr</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Add a command to the software list of commands.</p>
|
|
<p>This function prepares the four Command Words and one Parameter Word from the Command structure passed from the user application. It then adds to a list of commands (maintained in the software). Both CMDRAM and PARAMRAM are divided into two regions, one for reads and one for writes. Each region can hold 256 commands with each entry containing four Command RAM words and one Parameter RAM word.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the Axi TrafGen instance to be worked on. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>CmdPtr</em> </td><td>is a pointer to Command structure.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if successful</li>
|
|
<li>XST_FAILURE if reached max number of command entries </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a244d0f4b024a4f85a5bbaa9d1ce14584"></a><!-- doxytag: member="xtrafgen.c::XTrafGen_CfgInitialize" ref="a244d0f4b024a4f85a5bbaa9d1ce14584" args="(XTrafGen *InstancePtr, XTrafGen_Config *Config, u32 EffectiveAddress)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XTrafGen_CfgInitialize </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_traf_gen.html">XTrafGen</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="struct_x_traf_gen___config.html">XTrafGen_Config</a> * </td>
|
|
<td class="paramname"> <em>Config</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>EffectiveAddress</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function initializes a AXI Traffic Generator device. This function must be called prior to using a AXI Traffic Generator Device. Initializing a engine includes setting up the register base address, setting up the instance data, and ensuring the hardware is in a quiescent state.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the Axi Traffic Generator instance to be worked on. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>CfgPtr</em> </td><td>references the structure holding the hardware configuration for the Axi Traffic Generator core to initialize. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>EffectiveAddr</em> </td><td>is the device base address in the virtual memory address space. The caller is responsible for keeping the address mapping from EffectiveAddr to the device physical base address unchanged once this function is invoked. Unexpected errors may occur if the address mapping changes after this function is called. If address translation is not used, use Config->BaseAddress for this parameters, passing the physical address instead.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS for successful initialization</li>
|
|
<li>XST_INVALID_PARAM if pointer to the configuration structure is NULL </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a539d4976ad3ace9e15d993e2b18143a0"></a><!-- doxytag: member="xtrafgen.c::XTrafGen_EraseAllCommands" ref="a539d4976ad3ace9e15d993e2b18143a0" args="(XTrafGen *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XTrafGen_EraseAllCommands </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_traf_gen.html">XTrafGen</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Erase all Command Entry values</p>
|
|
<p>This function erases all the 256 entries of both write and read regions with each entry containing four command words and parameter word.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the Axi TrafGen instance to be worked on.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if successful</li>
|
|
<li>XST_FAILURE if programming internal RAMs failed </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a262d850cbfc5b0495fbc2d84334a1fba"></a><!-- doxytag: member="xtrafgen.c::XTrafGen_GetLastValidIndex" ref="a262d850cbfc5b0495fbc2d84334a1fba" args="(XTrafGen *InstancePtr, u32 RdWrFlag)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XTrafGen_GetLastValidIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_traf_gen.html">XTrafGen</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>RdWrFlag</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Get last Valid Command Index of Write/Read region</p>
|
|
<p>The last valid command index is used to set 'my_depend' and 'other_depend' fields of the Command RAM (Word 2).</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the Axi TrafGen instance to be worked on. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>RdWrFlag</em> </td><td>specifies a Read or Write Region</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>Last Valid Command Index </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ad9654a81e902175a963c83edb0c37144"></a><!-- doxytag: member="xtrafgen.c::XTrafGen_PrintCmds" ref="ad9654a81e902175a963c83edb0c37144" args="(XTrafGen *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XTrafGen_PrintCmds </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_traf_gen.html">XTrafGen</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Display Command Entry values</p>
|
|
<p>This function prints all the 256 entries of both write and read regions with each entry containing four command words and parameter word.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the Axi TrafGen instance to be worked on. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a14377a8884e99ce01c0c76128c939c49"></a><!-- doxytag: member="xtrafgen.c::XTrafGen_WriteCmdsToHw" ref="a14377a8884e99ce01c0c76128c939c49" args="(XTrafGen *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XTrafGen_WriteCmdsToHw </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_traf_gen.html">XTrafGen</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Write Commands to internal Command and Parameter RAMs</p>
|
|
<p>This function writes all the prepared commands to hardware.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the Axi TrafGen instance to be worked on.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if successful</li>
|
|
<li>XST_FAILURE if programming internal RAMs failed </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p class="Copyright">
|
|
Copyright © 1995-2014 Xilinx, Inc. All rights reserved.
|
|
</p>
|
|
</body>
|
|
</html>
|