embeddedsw/XilinxProcessorIPLib/drivers/ttcps/doc/html/api/xttcps_8c.html
Kedareswara rao Appana 2a550bf65e doxygen: Update doxygen for the drivers to include .h files in documentation.
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>
2014-09-02 11:21:43 +05:30

312 lines
16 KiB
HTML
Executable file

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Xilinx Driver ttcps v2_0: xttcps.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&nbsp;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&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>xttcps.c File Reference</h1><code>#include &quot;<a class="el" href="xttcps_8h.html">xttcps.h</a>&quot;</code><br/>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8c.html#a8228cb1f92883137d530b98302768b3b">XTtcPs_CfgInitialize</a> (<a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *InstancePtr, <a class="el" href="struct_x_ttc_ps___config.html">XTtcPs_Config</a> *ConfigPtr, u32 EffectiveAddr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8c.html#a2b45b9a6c4ce17cf5b50953528de9c65">XTtcPs_SetMatchValue</a> (<a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *InstancePtr, u8 MatchIndex, u16 Value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8c.html#a3a1b17e7784d4251cbeeb6339ffe8a83">XTtcPs_GetMatchValue</a> (<a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *InstancePtr, u8 MatchIndex)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8c.html#ac08478cc050c41cc435a3f2b49b4c874">XTtcPs_SetPrescaler</a> (<a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *InstancePtr, u8 PrescalerValue)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8c.html#a9d528bcd850e49f08fc585cb867ca11c">XTtcPs_GetPrescaler</a> (<a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8c.html#ad4935dccddaa77ae31faf4ec34d0859f">XTtcPs_CalcIntervalFromFreq</a> (<a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *InstancePtr, u32 Freq, u16 *Interval, u8 *Prescaler)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>This file contains the implementation of the <a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> driver. This driver controls the operation of one timer counter in the Triple Timer Counter (TTC) module in the Ps block. Refer to <a class="el" href="xttcps_8h.html">xttcps.h</a> for more detailed description of the driver.</p>
<pre>
MODIFICATION HISTORY:</pre><pre> Ver Who Date Changes
----- ------ -------- -------------------------------------------------
1.00a drg/jz 01/21/10 First release</pre><pre> </pre> <hr/><h2>Function Documentation</h2>
<a class="anchor" id="ad4935dccddaa77ae31faf4ec34d0859f"></a><!-- doxytag: member="xttcps.c::XTtcPs_CalcIntervalFromFreq" ref="ad4935dccddaa77ae31faf4ec34d0859f" args="(XTtcPs *InstancePtr, u32 Freq, u16 *Interval, u8 *Prescaler)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XTtcPs_CalcIntervalFromFreq </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Freq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16 *&nbsp;</td>
<td class="paramname"> <em>Interval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8 *&nbsp;</td>
<td class="paramname"> <em>Prescaler</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function calculates the interval value as well as the prescaler value for a given frequency.</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>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Freq</em>&nbsp;</td><td>is the requested output frequency for the device. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Interval</em>&nbsp;</td><td>is the interval value for the given frequency, it is the output value for this function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Prescaler</em>&nbsp;</td><td>is the prescaler value for the given frequency, it is the output value for this function.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Upon successful calculation for the given frequency, Interval and Prescaler carry the settings for the timer counter; Upon unsuccessful calculation, Interval and Prescaler are set to 0xFF(FF) for their maximum values to signal the caller of failure. Therefore, caller needs to check the return interval or prescaler values for whether the function has succeeded. </dd></dl>
</div>
</div>
<a class="anchor" id="a8228cb1f92883137d530b98302768b3b"></a><!-- doxytag: member="xttcps.c::XTtcPs_CfgInitialize" ref="a8228cb1f92883137d530b98302768b3b" args="(XTtcPs *InstancePtr, XTtcPs_Config *ConfigPtr, u32 EffectiveAddr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XTtcPs_CfgInitialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *&nbsp;</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_ttc_ps___config.html">XTtcPs_Config</a> *&nbsp;</td>
<td class="paramname"> <em>ConfigPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>EffectiveAddr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Initializes a specific <a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> instance such that the driver is ready to use. This function initializes a single timer counter in the triple timer counter function block.</p>
<p>The state of the device after initialization is:</p>
<ul>
<li>Overflow Mode</li>
<li>Internal (pclk) selected</li>
<li>Counter disabled</li>
<li>All Interrupts disabled</li>
<li>Output waveforms disabled</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>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ConfigPtr</em>&nbsp;</td><td>is a reference to a structure containing information about a specific TTC device. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>EffectiveAddr</em>&nbsp;</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, then use ConfigPtr-&gt;BaseAddress for this parameter, passing the physical address instead.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<ul>
<li>XST_SUCCESS if the initialization is successful.</li>
<li>XST_DEVICE_IS_STARTED if the device is started. It must be stopped to re-initialize.</li>
</ul>
<dl class="note"><dt><b>Note:</b></dt><dd>Device has to be stopped first to call this function to initialize it. </dd></dl>
</div>
</div>
<a class="anchor" id="a3a1b17e7784d4251cbeeb6339ffe8a83"></a><!-- doxytag: member="xttcps.c::XTtcPs_GetMatchValue" ref="a3a1b17e7784d4251cbeeb6339ffe8a83" args="(XTtcPs *InstancePtr, u8 MatchIndex)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 XTtcPs_GetMatchValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>MatchIndex</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function is used to get the value of the match registers. There are three match registers.</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>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>MatchIndex</em>&nbsp;</td><td>is the index to the match register to be set. Valid values are 0, 1, or 2.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="a9d528bcd850e49f08fc585cb867ca11c"></a><!-- doxytag: member="xttcps.c::XTtcPs_GetPrescaler" ref="a9d528bcd850e49f08fc585cb867ca11c" args="(XTtcPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u8 XTtcPs_GetPrescaler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function gets the input clock prescaler</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>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<pre>
<dl class="return"><dt><b>Returns:</b></dt><dd> The value(n) from which the prescalar value is calculated
as 2^(n+1). Some example values are given below :</dd></dl>
<p> Value Prescaler
0 2
1 4
N 2^(n+1)
15 65536
16 1
</pre><dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a2b45b9a6c4ce17cf5b50953528de9c65"></a><!-- doxytag: member="xttcps.c::XTtcPs_SetMatchValue" ref="a2b45b9a6c4ce17cf5b50953528de9c65" args="(XTtcPs *InstancePtr, u8 MatchIndex, u16 Value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XTtcPs_SetMatchValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>MatchIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16&nbsp;</td>
<td class="paramname"> <em>Value</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function is used to set the match registers. There are three match registers.</p>
<p>The match 0 register is special. If the waveform output mode is enabled, the waveform will change polarity when the count matches the value in the match 0 register. The polarity of the waveform output can also be set using the <a class="el" href="xttcps_8h.html#a0acc0e823f6c3053d15dd1bc159417ec">XTtcPs_SetOptions()</a> function.</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>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>MatchIndex</em>&nbsp;</td><td>is the index to the match register to be set. Valid values are 0, 1, or 2. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Value</em>&nbsp;</td><td>is the 16-bit value to be set in the match register.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="ac08478cc050c41cc435a3f2b49b4c874"></a><!-- doxytag: member="xttcps.c::XTtcPs_SetPrescaler" ref="ac08478cc050c41cc435a3f2b49b4c874" args="(XTtcPs *InstancePtr, u8 PrescalerValue)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XTtcPs_SetPrescaler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>PrescalerValue</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function sets the prescaler enable bit and if needed sets the prescaler bits in the control register.</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>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>PrescalerValue</em>&nbsp;</td><td>is a number from 0-16 that sets the prescaler to use. If the parameter is 0 - 15, use a prescaler on the clock of 2^(PrescalerValue+1), or 2-65536. If the parameter is XTTCPS_CLK_CNTRL_PS_DISABLE, do not use a prescaler.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None </dd></dl>
</div>
</div>
</div>
<p class="Copyright">
Copyright &copy; 1995-2014 Xilinx, Inc. All rights reserved.
</p>
</body>
</html>