embeddedsw/XilinxProcessorIPLib/drivers/ttcps/doc/html/api/xttcps_8h.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

972 lines
52 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.h 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.h File Reference</h1><code>#include &quot;<a class="el" href="xttcps__hw_8h.html">xttcps_hw.h</a>&quot;</code><br/>
<code>#include &quot;xstatus.h&quot;</code><br/>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_ttc_ps___config.html">XTtcPs_Config</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_ttc_ps.html">XTtcPs</a></td></tr>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a8a917f066088e95a1d161fb7f5f28e4a">XTTCPS_H</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#ac9f96b51b0b8133fdbf9242e54f6576e">InstReadReg</a>(InstancePtr, RegOffset)&nbsp;&nbsp;&nbsp;(Xil_In32(((InstancePtr)-&gt;Config.BaseAddress) + (RegOffset)))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a8a5c7cba69482a166e3d500f1ac13bf2">InstWriteReg</a>(InstancePtr, RegOffset, Data)&nbsp;&nbsp;&nbsp;(Xil_Out32(((InstancePtr)-&gt;Config.BaseAddress) + (RegOffset), (Data)))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#ada91222b52c938cb8639d333ed334273">XTtcPs_Start</a>(InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a8cc3413150e3c510e47cdb706fc3583e">XTtcPs_Stop</a>(InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a90395ec5242c1fce193ad5697ee976c3">XTtcPs_IsStarted</a>(InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a2e333879788d146e762e8a114159e9e5">XTtcPs_GetCounterValue</a>(InstancePtr)&nbsp;&nbsp;&nbsp;(u16)InstReadReg((InstancePtr), XTTCPS_COUNT_VALUE_OFFSET)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a5fae7226b73f9d3c0b2acd3dd0d70561">XTtcPs_SetInterval</a>(InstancePtr, Value)&nbsp;&nbsp;&nbsp;InstWriteReg((InstancePtr), XTTCPS_INTERVAL_VAL_OFFSET, (Value))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a89d0a266832132783ec15391726dbae3">XTtcPs_GetInterval</a>(InstancePtr)&nbsp;&nbsp;&nbsp;(u16)InstReadReg((InstancePtr), XTTCPS_INTERVAL_VAL_OFFSET)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#ad1075ec0ff78366348f936e1e9bd96ac">XTtcPs_ResetCounterValue</a>(InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a9ba80f16b192bf1a02262154ea52001f">XTtcPs_EnableInterrupts</a>(InstancePtr, InterruptMask)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a689593bb0ab2f6d8abe85efcf72fe209">XTtcPs_DisableInterrupts</a>(InstancePtr, InterruptMask)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a1f24b5dfa3b9147e374aefa0003d924c">XTtcPs_GetInterruptStatus</a>(InstancePtr)&nbsp;&nbsp;&nbsp;InstReadReg((InstancePtr), XTTCPS_ISR_OFFSET)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a3ab6486250e4adc6343fa3e086540d3e">XTtcPs_ClearInterruptStatus</a>(InstancePtr, InterruptMask)</td></tr>
<tr><td colspan="2"><div class="groupHeader">Configuration options</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp50f33d14f129e4548c1c270fd6725a78"></a> Options for the device. Each of the options is bit field, so more than one options can be specified. </p>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a3583fa93646d878d3c43186df93e1ada">XTTCPS_OPTION_EXTERNAL_CLK</a>&nbsp;&nbsp;&nbsp;0x0001</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a7364b78f01ad1b27a076ef9ce568f497">XTTCPS_OPTION_CLK_EDGE_NEG</a>&nbsp;&nbsp;&nbsp;0x0002</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#abe4c649641c3efc6f2fe07e6810d2048">XTTCPS_OPTION_INTERVAL_MODE</a>&nbsp;&nbsp;&nbsp;0x0004</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#aeeae7b90036e1a13b52e7b2875942efd">XTTCPS_OPTION_DECREMENT</a>&nbsp;&nbsp;&nbsp;0x0008</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#aa66b7479dcccbd1a6117d47831d882d5">XTTCPS_OPTION_MATCH_MODE</a>&nbsp;&nbsp;&nbsp;0x0010</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a93f486a44e4fcd438306b1db3f301a95">XTTCPS_OPTION_WAVE_DISABLE</a>&nbsp;&nbsp;&nbsp;0x0020</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#af39b9b3bfc4ceef12bb0cea724cf2359">XTTCPS_OPTION_WAVE_POLARITY</a>&nbsp;&nbsp;&nbsp;0x0040</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_ttc_ps___config.html">XTtcPs_Config</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a3b54c9984828002e1df64dad7ed0afac">XTtcPs_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.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_8h.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_8h.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_8h.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_8h.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_8h.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>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#a0acc0e823f6c3053d15dd1bc159417ec">XTtcPs_SetOptions</a> (<a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *InstancePtr, u32 Options)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#ac33ce44553e83555369c400b964234e7">XTtcPs_GetOptions</a> (<a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xttcps_8h.html#ab38cdd3536893f76a86cdae6864ffb71">XTtcPs_SelfTest</a> (<a class="el" href="struct_x_ttc_ps.html">XTtcPs</a> *InstancePtr)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ac9f96b51b0b8133fdbf9242e54f6576e"></a><!-- doxytag: member="xttcps.h::InstReadReg" ref="ac9f96b51b0b8133fdbf9242e54f6576e" args="(InstancePtr, RegOffset)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define InstReadReg</td>
<td>(</td>
<td class="paramtype">InstancePtr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RegOffset&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(Xil_In32(((InstancePtr)-&gt;Config.BaseAddress) + (RegOffset)))</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a8a5c7cba69482a166e3d500f1ac13bf2"></a><!-- doxytag: member="xttcps.h::InstWriteReg" ref="a8a5c7cba69482a166e3d500f1ac13bf2" args="(InstancePtr, RegOffset, Data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define InstWriteReg</td>
<td>(</td>
<td class="paramtype">InstancePtr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RegOffset, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Data&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(Xil_Out32(((InstancePtr)-&gt;Config.BaseAddress) + (RegOffset), (Data)))</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a3ab6486250e4adc6343fa3e086540d3e"></a><!-- doxytag: member="xttcps.h::XTtcPs_ClearInterruptStatus" ref="a3ab6486250e4adc6343fa3e086540d3e" args="(InstancePtr, InterruptMask)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTtcPs_ClearInterruptStatus</td>
<td>(</td>
<td class="paramtype">InstancePtr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">InterruptMask&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="xttcps_8h.html#a8a5c7cba69482a166e3d500f1ac13bf2">InstWriteReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#adeae55c98cafd198b2afa7d0175f1d15">XTTCPS_ISR_OFFSET</a>, \
(InterruptMask))
</pre></div><p>This function clears the interrupt status.</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>InterruptMask</em>&nbsp;</td><td>defines which interrupt should be cleared. Constants are defined in <a class="el" href="xttcps__hw_8h.html">xttcps_hw.h</a> as XTTCPS_IXR_*. This is a bit mask, all set bits will be cleared, cleared bits will not be cleared.</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>C-style signature: void <a class="el" href="xttcps_8h.html#a3ab6486250e4adc6343fa3e086540d3e">XTtcPs_ClearInterruptStatus(XTtcPs *InstancePtr, u32 InterruptMask)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a689593bb0ab2f6d8abe85efcf72fe209"></a><!-- doxytag: member="xttcps.h::XTtcPs_DisableInterrupts" ref="a689593bb0ab2f6d8abe85efcf72fe209" args="(InstancePtr, InterruptMask)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTtcPs_DisableInterrupts</td>
<td>(</td>
<td class="paramtype">InstancePtr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">InterruptMask&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="xttcps_8h.html#a8a5c7cba69482a166e3d500f1ac13bf2">InstWriteReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#a9f30e22f168427395bfe9e6cfeacdce4">XTTCPS_IER_OFFSET</a>, \
(<a class="code" href="xttcps_8h.html#ac9f96b51b0b8133fdbf9242e54f6576e">InstReadReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#a9f30e22f168427395bfe9e6cfeacdce4">XTTCPS_IER_OFFSET</a>) &amp; \
~(InterruptMask)))
</pre></div><p>This function disables the interrupts.</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>InterruptMask</em>&nbsp;</td><td>defines which interrupt should be disabled. Constants are defined in <a class="el" href="xttcps__hw_8h.html">xttcps_hw.h</a> as XTTCPS_IXR_*. This is a bit mask, all set bits will be disabled, cleared bits will not be disabled.</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>C-style signature: void <a class="el" href="xttcps_8h.html#a689593bb0ab2f6d8abe85efcf72fe209">XTtcPs_DisableInterrupts(XTtcPs *InstancePtr, u32 InterruptMask)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a9ba80f16b192bf1a02262154ea52001f"></a><!-- doxytag: member="xttcps.h::XTtcPs_EnableInterrupts" ref="a9ba80f16b192bf1a02262154ea52001f" args="(InstancePtr, InterruptMask)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTtcPs_EnableInterrupts</td>
<td>(</td>
<td class="paramtype">InstancePtr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">InterruptMask&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="xttcps_8h.html#a8a5c7cba69482a166e3d500f1ac13bf2">InstWriteReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#a9f30e22f168427395bfe9e6cfeacdce4">XTTCPS_IER_OFFSET</a>, \
(<a class="code" href="xttcps_8h.html#ac9f96b51b0b8133fdbf9242e54f6576e">InstReadReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#a9f30e22f168427395bfe9e6cfeacdce4">XTTCPS_IER_OFFSET</a>) | \
(InterruptMask)))
</pre></div><p>This function enables the interrupts.</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>InterruptMask</em>&nbsp;</td><td>defines which interrupt should be enabled. Constants are defined in <a class="el" href="xttcps__hw_8h.html">xttcps_hw.h</a> as XTTCPS_IXR_*. This is a bit mask, all set bits will be enabled, cleared bits will not be disabled.</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>C-style signature: void <a class="el" href="xttcps_8h.html#a9ba80f16b192bf1a02262154ea52001f">XTtcPs_EnableInterrupts(XTtcPs *InstancePtr, u32 InterruptMask)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a2e333879788d146e762e8a114159e9e5"></a><!-- doxytag: member="xttcps.h::XTtcPs_GetCounterValue" ref="a2e333879788d146e762e8a114159e9e5" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTtcPs_GetCounterValue</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(u16)InstReadReg((InstancePtr), XTTCPS_COUNT_VALUE_OFFSET)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function returns the current 16-bit counter value. It may be called at any time.</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>
<dl class="return"><dt><b>Returns:</b></dt><dd>16-bit counter value.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-style signature: u16 <a class="el" href="xttcps_8h.html#a2e333879788d146e762e8a114159e9e5">XTtcPs_GetCounterValue(XTtcPs *InstancePtr)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a1f24b5dfa3b9147e374aefa0003d924c"></a><!-- doxytag: member="xttcps.h::XTtcPs_GetInterruptStatus" ref="a1f24b5dfa3b9147e374aefa0003d924c" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTtcPs_GetInterruptStatus</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;InstReadReg((InstancePtr), XTTCPS_ISR_OFFSET)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function reads the interrupt status.</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>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-style signature: u32 <a class="el" href="xttcps_8h.html#a1f24b5dfa3b9147e374aefa0003d924c">XTtcPs_GetInterruptStatus(XTtcPs *InstancePtr)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a89d0a266832132783ec15391726dbae3"></a><!-- doxytag: member="xttcps.h::XTtcPs_GetInterval" ref="a89d0a266832132783ec15391726dbae3" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTtcPs_GetInterval</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(u16)InstReadReg((InstancePtr), XTTCPS_INTERVAL_VAL_OFFSET)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function gets the interval value from the interval 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>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>16-bit interval value</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-style signature: u16 <a class="el" href="xttcps_8h.html#a89d0a266832132783ec15391726dbae3">XTtcPs_GetInterval(XTtcPs *InstancePtr)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a8a917f066088e95a1d161fb7f5f28e4a"></a><!-- doxytag: member="xttcps.h::XTTCPS_H" ref="a8a917f066088e95a1d161fb7f5f28e4a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTTCPS_H</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a90395ec5242c1fce193ad5697ee976c3"></a><!-- doxytag: member="xttcps.h::XTtcPs_IsStarted" ref="a90395ec5242c1fce193ad5697ee976c3" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTtcPs_IsStarted</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(int)((<a class="code" href="xttcps_8h.html#ac9f96b51b0b8133fdbf9242e54f6576e">InstReadReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#a5ffa2c9626e069f82893b9411e022744">XTTCPS_CNT_CNTRL_OFFSET</a>) &amp; \
<a class="code" href="xttcps__hw_8h.html#aa6a24e2b904e40bf5e4f6cf184f94b1a">XTTCPS_CNT_CNTRL_DIS_MASK</a>) == 0)
</pre></div><p>This function checks whether the timer counter has already started.</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>
<dl class="return"><dt><b>Returns:</b></dt><dd>Non-zero if the device has started, '0' otherwise.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-style signature: int <a class="el" href="xttcps_8h.html#a90395ec5242c1fce193ad5697ee976c3">XTtcPs_IsStarted(XTtcPs *InstancePtr)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a7364b78f01ad1b27a076ef9ce568f497"></a><!-- doxytag: member="xttcps.h::XTTCPS_OPTION_CLK_EDGE_NEG" ref="a7364b78f01ad1b27a076ef9ce568f497" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTTCPS_OPTION_CLK_EDGE_NEG&nbsp;&nbsp;&nbsp;0x0002</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Clock on trailing edge for external clock </p>
</div>
</div>
<a class="anchor" id="aeeae7b90036e1a13b52e7b2875942efd"></a><!-- doxytag: member="xttcps.h::XTTCPS_OPTION_DECREMENT" ref="aeeae7b90036e1a13b52e7b2875942efd" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTTCPS_OPTION_DECREMENT&nbsp;&nbsp;&nbsp;0x0008</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Decrement the counter </p>
</div>
</div>
<a class="anchor" id="a3583fa93646d878d3c43186df93e1ada"></a><!-- doxytag: member="xttcps.h::XTTCPS_OPTION_EXTERNAL_CLK" ref="a3583fa93646d878d3c43186df93e1ada" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTTCPS_OPTION_EXTERNAL_CLK&nbsp;&nbsp;&nbsp;0x0001</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>External clock source </p>
</div>
</div>
<a class="anchor" id="abe4c649641c3efc6f2fe07e6810d2048"></a><!-- doxytag: member="xttcps.h::XTTCPS_OPTION_INTERVAL_MODE" ref="abe4c649641c3efc6f2fe07e6810d2048" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTTCPS_OPTION_INTERVAL_MODE&nbsp;&nbsp;&nbsp;0x0004</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Interval mode </p>
</div>
</div>
<a class="anchor" id="aa66b7479dcccbd1a6117d47831d882d5"></a><!-- doxytag: member="xttcps.h::XTTCPS_OPTION_MATCH_MODE" ref="aa66b7479dcccbd1a6117d47831d882d5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTTCPS_OPTION_MATCH_MODE&nbsp;&nbsp;&nbsp;0x0010</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Match mode </p>
</div>
</div>
<a class="anchor" id="a93f486a44e4fcd438306b1db3f301a95"></a><!-- doxytag: member="xttcps.h::XTTCPS_OPTION_WAVE_DISABLE" ref="a93f486a44e4fcd438306b1db3f301a95" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTTCPS_OPTION_WAVE_DISABLE&nbsp;&nbsp;&nbsp;0x0020</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>No waveform output </p>
</div>
</div>
<a class="anchor" id="af39b9b3bfc4ceef12bb0cea724cf2359"></a><!-- doxytag: member="xttcps.h::XTTCPS_OPTION_WAVE_POLARITY" ref="af39b9b3bfc4ceef12bb0cea724cf2359" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTTCPS_OPTION_WAVE_POLARITY&nbsp;&nbsp;&nbsp;0x0040</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Waveform polarity </p>
</div>
</div>
<a class="anchor" id="ad1075ec0ff78366348f936e1e9bd96ac"></a><!-- doxytag: member="xttcps.h::XTtcPs_ResetCounterValue" ref="ad1075ec0ff78366348f936e1e9bd96ac" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTtcPs_ResetCounterValue</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="xttcps_8h.html#a8a5c7cba69482a166e3d500f1ac13bf2">InstWriteReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#a5ffa2c9626e069f82893b9411e022744">XTTCPS_CNT_CNTRL_OFFSET</a>, \
(<a class="code" href="xttcps_8h.html#ac9f96b51b0b8133fdbf9242e54f6576e">InstReadReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#a5ffa2c9626e069f82893b9411e022744">XTTCPS_CNT_CNTRL_OFFSET</a>) | \
<a class="code" href="xttcps__hw_8h.html#a8a626958a0fe9e03e87b11dcc6fbd270">XTTCPS_CNT_CNTRL_RST_MASK</a>))
</pre></div><p>This macro resets the count register. It may be called at any time. The counter is reset to either 0 or 0xFFFF, or the interval value, depending on the increment/decrement mode. The state of the counter, as started or stopped, is not affected by calling reset.</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>
<dl class="return"><dt><b>Returns:</b></dt><dd>None</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-style signature: void <a class="el" href="xttcps_8h.html#ad1075ec0ff78366348f936e1e9bd96ac">XTtcPs_ResetCounterValue(XTtcPs *InstancePtr)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a5fae7226b73f9d3c0b2acd3dd0d70561"></a><!-- doxytag: member="xttcps.h::XTtcPs_SetInterval" ref="a5fae7226b73f9d3c0b2acd3dd0d70561" args="(InstancePtr, Value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTtcPs_SetInterval</td>
<td>(</td>
<td class="paramtype">InstancePtr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Value&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;InstWriteReg((InstancePtr), XTTCPS_INTERVAL_VAL_OFFSET, (Value))</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function sets the interval value to be used in interval mode.</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>Value</em>&nbsp;</td><td>is the 16-bit value to be set in the interval 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>C-style signature: void <a class="el" href="xttcps_8h.html#a5fae7226b73f9d3c0b2acd3dd0d70561">XTtcPs_SetInterval(XTtcPs *InstancePtr, u16 Value)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ada91222b52c938cb8639d333ed334273"></a><!-- doxytag: member="xttcps.h::XTtcPs_Start" ref="ada91222b52c938cb8639d333ed334273" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTtcPs_Start</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="xttcps_8h.html#a8a5c7cba69482a166e3d500f1ac13bf2">InstWriteReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#a5ffa2c9626e069f82893b9411e022744">XTTCPS_CNT_CNTRL_OFFSET</a>, \
(<a class="code" href="xttcps_8h.html#ac9f96b51b0b8133fdbf9242e54f6576e">InstReadReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#a5ffa2c9626e069f82893b9411e022744">XTTCPS_CNT_CNTRL_OFFSET</a>) &amp; \
~<a class="code" href="xttcps__hw_8h.html#aa6a24e2b904e40bf5e4f6cf184f94b1a">XTTCPS_CNT_CNTRL_DIS_MASK</a>))
</pre></div><p>This function starts the counter/timer without resetting the counter value.</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>
<dl class="return"><dt><b>Returns:</b></dt><dd>None</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-style signature: void <a class="el" href="xttcps_8h.html#ada91222b52c938cb8639d333ed334273">XTtcPs_Start(XTtcPs *InstancePtr)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a8cc3413150e3c510e47cdb706fc3583e"></a><!-- doxytag: member="xttcps.h::XTtcPs_Stop" ref="a8cc3413150e3c510e47cdb706fc3583e" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XTtcPs_Stop</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="xttcps_8h.html#a8a5c7cba69482a166e3d500f1ac13bf2">InstWriteReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#a5ffa2c9626e069f82893b9411e022744">XTTCPS_CNT_CNTRL_OFFSET</a>, \
(<a class="code" href="xttcps_8h.html#ac9f96b51b0b8133fdbf9242e54f6576e">InstReadReg</a>((InstancePtr), <a class="code" href="xttcps__hw_8h.html#a5ffa2c9626e069f82893b9411e022744">XTTCPS_CNT_CNTRL_OFFSET</a>) | \
<a class="code" href="xttcps__hw_8h.html#aa6a24e2b904e40bf5e4f6cf184f94b1a">XTTCPS_CNT_CNTRL_DIS_MASK</a>))
</pre></div><p>This function stops the counter/timer. This macro may be called at any time to stop the counter. The counter holds the last value until it is reset, restarted or enabled.</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>
<dl class="return"><dt><b>Returns:</b></dt><dd>None</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-style signature: void <a class="el" href="xttcps_8h.html#a8cc3413150e3c510e47cdb706fc3583e">XTtcPs_Stop(XTtcPs *InstancePtr)</a> </dd></dl>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ad4935dccddaa77ae31faf4ec34d0859f"></a><!-- doxytag: member="xttcps.h::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.h::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.h::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="ac33ce44553e83555369c400b964234e7"></a><!-- doxytag: member="xttcps.h::XTtcPs_GetOptions" ref="ac33ce44553e83555369c400b964234e7" args="(XTtcPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XTtcPs_GetOptions </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 settings for the options for the TTC device.</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>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<p>The return u32 contains the specified options that are set. This is a bit mask where a '1' means the option is on, and a'0' means the option is off. One or more bit values may be contained in the mask. See the bit definitions named XTTCPS_*_OPTION in the file <a class="el" href="xttcps_8h.html">xttcps.h</a>.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a9d528bcd850e49f08fc585cb867ca11c"></a><!-- doxytag: member="xttcps.h::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="a3b54c9984828002e1df64dad7ed0afac"></a><!-- doxytag: member="xttcps.h::XTtcPs_LookupConfig" ref="a3b54c9984828002e1df64dad7ed0afac" args="(u16 DeviceId)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_x_ttc_ps___config.html">XTtcPs_Config</a>* XTtcPs_LookupConfig </td>
<td>(</td>
<td class="paramtype">u16&nbsp;</td>
<td class="paramname"> <em>DeviceId</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Looks up the device configuration based on the unique device ID. A table contains the configuration info for each device in the system.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>DeviceId</em>&nbsp;</td><td>contains the unique ID of the device</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<p>A pointer to the configuration found or NULL if the specified device ID was not found. See <a class="el" href="xttcps_8h.html">xttcps.h</a> for the definition of <a class="el" href="struct_x_ttc_ps___config.html">XTtcPs_Config</a>.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="ab38cdd3536893f76a86cdae6864ffb71"></a><!-- doxytag: member="xttcps.h::XTtcPs_SelfTest" ref="ab38cdd3536893f76a86cdae6864ffb71" args="(XTtcPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XTtcPs_SelfTest </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>Runs a self-test on the driver/device.</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>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<ul>
<li>XST_SUCCESS if successful</li>
<li>XST_FAILURE indicates a register did not read or write correctly</li>
</ul>
<dl class="note"><dt><b>Note:</b></dt><dd>This test fails if it is not called right after initialization. </dd></dl>
</div>
</div>
<a class="anchor" id="a2b45b9a6c4ce17cf5b50953528de9c65"></a><!-- doxytag: member="xttcps.h::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="a0acc0e823f6c3053d15dd1bc159417ec"></a><!-- doxytag: member="xttcps.h::XTtcPs_SetOptions" ref="a0acc0e823f6c3053d15dd1bc159417ec" args="(XTtcPs *InstancePtr, u32 Options)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XTtcPs_SetOptions </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>Options</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 options for the TTC device.</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>Options</em>&nbsp;</td><td>contains the specified options to be set. This is a bit mask where a 1 means to turn the option on, and a 0 means to turn the option off. One or more bit values may be contained in the mask. See the bit definitions named XTTCPS_*_OPTION in the file <a class="el" href="xttcps_8h.html">xttcps.h</a>.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if options are successfully set.</li>
<li>XST_FAILURE if any of the options are unknown.</li>
</ul>
</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.h::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>