1443 lines
71 KiB
HTML
1443 lines
71 KiB
HTML
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>
|
|
xdp.c File Reference
|
|
</title>
|
|
<link href="$DriverApiDocsCssPath" 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.4.7 -->
|
|
<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 id="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>
|
|
<h1>xdp.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
|
|
Contains a minimal set of functions for the <a class="el" href="struct_x_dp.html">XDp</a> driver that allow access to all of the DisplayPort core's functionality. See <a class="el" href="xdp_8h.html">xdp.h</a> for a detailed description of the driver.<p>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None.</dd></dl>
|
|
<pre>
|
|
MODIFICATION HISTORY:</pre><p>
|
|
<pre> Ver Who Date Changes
|
|
----- ---- -------- -----------------------------------------------
|
|
1.0 als 01/20/15 Initial release.
|
|
</pre>
|
|
<p>
|
|
<code>#include "<a class="el" href="xdp_8h.html">xdp.h</a>"</code><br>
|
|
<code>#include "xenv.h"</code><br>
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<tr><td></td></tr>
|
|
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dp___aux_transaction.html">XDp_AuxTransaction</a></td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#93a5311afa4c5a3b000bbd16d28e2e4c">XDP_TX_MAXIMUM_VS_LEVEL</a> 3</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#74046ac6a5fee80b732c2eb6ce71d5c1">XDP_TX_MAXIMUM_PE_LEVEL</a> 3</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#3f6c4406029655280d14c599358ec97e">XDP_AUX_MAX_DEFER_COUNT</a> 50</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#e0ffbfe88b912b13b6a29d98ac9828d2">XDP_AUX_MAX_TIMEOUT_COUNT</a> 50</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#faa88f16b30ac4525513b05f5ca73c04">XDP_IS_CONNECTED_MAX_TIMEOUT_COUNT</a> 50</td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#2933e6eaeb4bef9966bed2cd12ce01ec">XDp_TxTrainingState</a> { <br>
|
|
<a class="el" href="xdp_8c.html#2933e6eaeb4bef9966bed2cd12ce01ec0dbe7c76a7e3f2aa3f175750b4273f1a">XDP_TX_TS_CLOCK_RECOVERY</a>,
|
|
<a class="el" href="xdp_8c.html#2933e6eaeb4bef9966bed2cd12ce01ec34e330df11c9ac41c6d630f710b070bb">XDP_TX_TS_CHANNEL_EQUALIZATION</a>,
|
|
<a class="el" href="xdp_8c.html#2933e6eaeb4bef9966bed2cd12ce01ecb7459b24a79b724908b014052c9b8641">XDP_TX_TS_ADJUST_LINK_RATE</a>,
|
|
<a class="el" href="xdp_8c.html#2933e6eaeb4bef9966bed2cd12ce01eca3f5d7954a95ae38814c84702429cd8b">XDP_TX_TS_ADJUST_LANE_COUNT</a>,
|
|
<br>
|
|
<a class="el" href="xdp_8c.html#2933e6eaeb4bef9966bed2cd12ce01ec6ab1cdd4be7907f880db320e9b6b0cf3">XDP_TX_TS_FAILURE</a>,
|
|
<a class="el" href="xdp_8c.html#2933e6eaeb4bef9966bed2cd12ce01ece5689fe8d22da592dec8c260e8f2d9a7">XDP_TX_TS_SUCCESS</a>
|
|
<br>
|
|
}</td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#cfec4779f9319bc515e77088923eb05e">XDp_CfgInitialize</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, <a class="el" href="struct_x_dp___config.html">XDp_Config</a> *ConfigPtr, u32 EffectiveAddr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#85f185599e63935fa41e46ca249d4a3a">XDp_Initialize</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#831242817739efb8ec76f65b317b00c7">XDp_TxGetRxCapabilities</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#f68236955b8b3a6292a9b9cc357ec1fa">XDp_TxCfgMainLinkMax</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#04b03753ee278bdac3e2262b99366493">XDp_TxEstablishLink</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#a50e8ec50a21bb3df5d1125ebe95493d">XDp_TxCheckLinkStatus</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 LaneCount)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#5a07f4cc7ae9d45915497ed53d288061">XDp_TxEnableTrainAdaptive</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 Enable)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#f3915b9c29ed8a077adaed36e04622b4">XDp_TxSetHasRedriverInPath</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 Set)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#56904fc019dd1c8bc629b601ae5b5eba">XDp_TxCfgTxVsOffset</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 Offset)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#3633e0db29e804a6f3da321613e3539d">XDp_TxCfgTxVsLevel</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 Level, u8 TxLevel)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#90b6e9474941dd1dee7eebb4f9ba57ca">XDp_TxCfgTxPeLevel</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 Level, u8 TxLevel)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#3305ff3687d4c994d2200ad861828295">XDp_TxIsConnected</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#326335c87939629db5364c21c7e81a45">XDp_TxAuxRead</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u32 DpcdAddress, u32 BytesToRead, void *ReadData)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#cec5ef6d6656c0c2ae17761172acf6c1">XDp_TxAuxWrite</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u32 DpcdAddress, u32 BytesToWrite, void *WriteData)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#c0b819f21d763400b8f9c2cc150e060f">XDp_TxIicRead</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 IicAddress, u16 Offset, u16 BytesToRead, void *ReadData)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#6cbeb74d7664817db482923e4dc1683c">XDp_TxIicWrite</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 IicAddress, u8 BytesToWrite, void *WriteData)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#63402c58ed10a4c59aa0757970351fbe">XDp_TxSetDownspread</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 Enable)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#266286fa19c4e031a7de23fab583ba4f">XDp_TxSetEnhancedFrameMode</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 Enable)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#2eee185e6b432dda6a7ab410b5e78541">XDp_TxSetLaneCount</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 LaneCount)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#e01933583cbbbe16c3582d7440f10a2e">XDp_TxSetLinkRate</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 LinkRate)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#60da59209c30be099d00f0053a0e809d">XDp_TxSetScrambler</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 Enable)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#400f2bfe7aa6c820e915afd0fb685779">XDp_TxEnableMainLink</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#2ebce10cc5382091395edb1e106f4ad1">XDp_TxDisableMainLink</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#89c4158905d36c050a2f77cd70ebef11">XDp_TxResetPhy</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u32 Reset)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#ec7d0a8c9e4b593ccdcb82e9d1e7f28d">XDp_RxCheckLinkStatus</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#5e8030bf5d75d0d33d65480200472f10">XDp_RxDtgEn</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#395b87d147ea149bbc51dc6f2d72fedd">XDp_RxDtgDis</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#f65a177db143ac0cff1f44f155673c22">XDp_RxSetLinkRate</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 LinkRate)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#424d3b46101c70b80d79047d75227fa8">XDp_RxSetLaneCount</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u8 LaneCount)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#7e31cad17809d5e67bade4c08a4b6c93">XDp_SetUserTimerHandler</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, <a class="el" href="xdp_8h.html#b2ee8cde914736409c4b04146aa84462">XDp_TimerHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xdp_8c.html#82deff65c3a8f1a090bcda332df3a7ee">XDp_WaitUs</a> (<a class="el" href="struct_x_dp.html">XDp</a> *InstancePtr, u32 MicroSeconds)</td></tr>
|
|
|
|
</table>
|
|
<hr><h2>Define Documentation</h2>
|
|
<a class="anchor" name="3f6c4406029655280d14c599358ec97e"></a><!-- doxytag: member="xdp.c::XDP_AUX_MAX_DEFER_COUNT" ref="3f6c4406029655280d14c599358ec97e" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XDP_AUX_MAX_DEFER_COUNT 50 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="e0ffbfe88b912b13b6a29d98ac9828d2"></a><!-- doxytag: member="xdp.c::XDP_AUX_MAX_TIMEOUT_COUNT" ref="e0ffbfe88b912b13b6a29d98ac9828d2" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XDP_AUX_MAX_TIMEOUT_COUNT 50 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="faa88f16b30ac4525513b05f5ca73c04"></a><!-- doxytag: member="xdp.c::XDP_IS_CONNECTED_MAX_TIMEOUT_COUNT" ref="faa88f16b30ac4525513b05f5ca73c04" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XDP_IS_CONNECTED_MAX_TIMEOUT_COUNT 50 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="74046ac6a5fee80b732c2eb6ce71d5c1"></a><!-- doxytag: member="xdp.c::XDP_TX_MAXIMUM_PE_LEVEL" ref="74046ac6a5fee80b732c2eb6ce71d5c1" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XDP_TX_MAXIMUM_PE_LEVEL 3 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="93a5311afa4c5a3b000bbd16d28e2e4c"></a><!-- doxytag: member="xdp.c::XDP_TX_MAXIMUM_VS_LEVEL" ref="93a5311afa4c5a3b000bbd16d28e2e4c" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XDP_TX_MAXIMUM_VS_LEVEL 3 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<hr><h2>Enumeration Type Documentation</h2>
|
|
<a class="anchor" name="2933e6eaeb4bef9966bed2cd12ce01ec"></a><!-- doxytag: member="xdp.c::XDp_TxTrainingState" ref="2933e6eaeb4bef9966bed2cd12ce01ec" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="xdp_8c.html#2933e6eaeb4bef9966bed2cd12ce01ec">XDp_TxTrainingState</a> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This typedef enumerates the list of training states used in the state machine during the link training process. <dl compact><dt><b>Enumerator: </b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"><em><a class="anchor" name="2933e6eaeb4bef9966bed2cd12ce01ec0dbe7c76a7e3f2aa3f175750b4273f1a"></a><!-- doxytag: member="XDP_TX_TS_CLOCK_RECOVERY" ref="2933e6eaeb4bef9966bed2cd12ce01ec0dbe7c76a7e3f2aa3f175750b4273f1a" args="" -->XDP_TX_TS_CLOCK_RECOVERY</em> </td><td>
|
|
</td></tr>
|
|
<tr><td valign="top"><em><a class="anchor" name="2933e6eaeb4bef9966bed2cd12ce01ec34e330df11c9ac41c6d630f710b070bb"></a><!-- doxytag: member="XDP_TX_TS_CHANNEL_EQUALIZATION" ref="2933e6eaeb4bef9966bed2cd12ce01ec34e330df11c9ac41c6d630f710b070bb" args="" -->XDP_TX_TS_CHANNEL_EQUALIZATION</em> </td><td>
|
|
</td></tr>
|
|
<tr><td valign="top"><em><a class="anchor" name="2933e6eaeb4bef9966bed2cd12ce01ecb7459b24a79b724908b014052c9b8641"></a><!-- doxytag: member="XDP_TX_TS_ADJUST_LINK_RATE" ref="2933e6eaeb4bef9966bed2cd12ce01ecb7459b24a79b724908b014052c9b8641" args="" -->XDP_TX_TS_ADJUST_LINK_RATE</em> </td><td>
|
|
</td></tr>
|
|
<tr><td valign="top"><em><a class="anchor" name="2933e6eaeb4bef9966bed2cd12ce01eca3f5d7954a95ae38814c84702429cd8b"></a><!-- doxytag: member="XDP_TX_TS_ADJUST_LANE_COUNT" ref="2933e6eaeb4bef9966bed2cd12ce01eca3f5d7954a95ae38814c84702429cd8b" args="" -->XDP_TX_TS_ADJUST_LANE_COUNT</em> </td><td>
|
|
</td></tr>
|
|
<tr><td valign="top"><em><a class="anchor" name="2933e6eaeb4bef9966bed2cd12ce01ec6ab1cdd4be7907f880db320e9b6b0cf3"></a><!-- doxytag: member="XDP_TX_TS_FAILURE" ref="2933e6eaeb4bef9966bed2cd12ce01ec6ab1cdd4be7907f880db320e9b6b0cf3" args="" -->XDP_TX_TS_FAILURE</em> </td><td>
|
|
</td></tr>
|
|
<tr><td valign="top"><em><a class="anchor" name="2933e6eaeb4bef9966bed2cd12ce01ece5689fe8d22da592dec8c260e8f2d9a7"></a><!-- doxytag: member="XDP_TX_TS_SUCCESS" ref="2933e6eaeb4bef9966bed2cd12ce01ece5689fe8d22da592dec8c260e8f2d9a7" args="" -->XDP_TX_TS_SUCCESS</em> </td><td>
|
|
</td></tr>
|
|
</table>
|
|
</dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<hr><h2>Function Documentation</h2>
|
|
<a class="anchor" name="cfec4779f9319bc515e77088923eb05e"></a><!-- doxytag: member="xdp.c::XDp_CfgInitialize" ref="cfec4779f9319bc515e77088923eb05e" args="(XDp *InstancePtr, XDp_Config *ConfigPtr, u32 EffectiveAddr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_CfgInitialize </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</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_dp___config.html">XDp_Config</a> * </td>
|
|
<td class="paramname"> <em>ConfigPtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>EffectiveAddr</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function retrieves the configuration for this DisplayPort instance and fills in the InstancePtr->Config structure.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ConfigPtr</em> </td><td>is a pointer to the configuration structure that will be used to copy the settings from. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>EffectiveAddr</em> </td><td>is the device base address in the virtual memory space. If the address translation is not used, then the physical address is passed.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>Unexpected errors may occur if the address mapping is changed after this function is invoked. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="85f185599e63935fa41e46ca249d4a3a"></a><!-- doxytag: member="xdp.c::XDp_Initialize" ref="85f185599e63935fa41e46ca249d4a3a" args="(XDp *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_Initialize </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function prepares the DisplayPort core for use depending on whether the core is operating in TX or RX mode.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the DisplayPort core was successfully initialized.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="ec7d0a8c9e4b593ccdcb82e9d1e7f28d"></a><!-- doxytag: member="xdp.c::XDp_RxCheckLinkStatus" ref="ec7d0a8c9e4b593ccdcb82e9d1e7f28d" args="(XDp *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_RxCheckLinkStatus </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function checks if the reciever's internal registers indicate that link training has complete. That is, training has achieved channel equalization, symbol lock, and interlane alignment for all lanes currently in use.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the RX device has achieved clock recovery, channel equalization, symbol lock, and interlane alignment.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="395b87d147ea149bbc51dc6f2d72fedd"></a><!-- doxytag: member="xdp.c::XDp_RxDtgDis" ref="395b87d147ea149bbc51dc6f2d72fedd" args="(XDp *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_RxDtgDis </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function disables the display timing generator (DTG).<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="5e8030bf5d75d0d33d65480200472f10"></a><!-- doxytag: member="xdp.c::XDp_RxDtgEn" ref="5e8030bf5d75d0d33d65480200472f10" args="(XDp *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_RxDtgEn </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function enables the display timing generator (DTG).<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="424d3b46101c70b80d79047d75227fa8"></a><!-- doxytag: member="xdp.c::XDp_RxSetLaneCount" ref="424d3b46101c70b80d79047d75227fa8" args="(XDp *InstancePtr, u8 LaneCount)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_RxSetLaneCount </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>LaneCount</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function sets the maximum lane count to be exposed in the RX device's DisplayPort Configuration Data (DPCD) registers.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>LaneCount</em> </td><td>is the number of lanes to be used over the main link.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="f65a177db143ac0cff1f44f155673c22"></a><!-- doxytag: member="xdp.c::XDp_RxSetLinkRate" ref="f65a177db143ac0cff1f44f155673c22" args="(XDp *InstancePtr, u8 LinkRate)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_RxSetLinkRate </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>LinkRate</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function sets the maximum data rate to be exposed in the RX device's DisplayPort Configuration Data (DPCD) registers.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>LinkRate</em> </td><td>is the link rate to be used over the main link based on one of the following selects:<ul>
|
|
<li>XDP_RX_LINK_BW_SET_162GBPS = 0x06 (for a 1.62 Gbps data rate)</li><li>XDP_RX_LINK_BW_SET_270GBPS = 0x0A (for a 2.70 Gbps data rate)</li><li>XDP_RX_LINK_BW_SET_540GBPS = 0x14 (for a 5.40 Gbps data rate)</li></ul>
|
|
</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="7e31cad17809d5e67bade4c08a4b6c93"></a><!-- doxytag: member="xdp.c::XDp_SetUserTimerHandler" ref="7e31cad17809d5e67bade4c08a4b6c93" args="(XDp *InstancePtr, XDp_TimerHandler CallbackFunc, void *CallbackRef)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_SetUserTimerHandler </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="xdp_8h.html#b2ee8cde914736409c4b04146aa84462">XDp_TimerHandler</a> </td>
|
|
<td class="paramname"> <em>CallbackFunc</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"> <em>CallbackRef</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function installs a custom delay/sleep function to be used by the <a class="el" href="struct_x_dp.html">XDp</a> driver.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em> </td><td>is the address to the callback function. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em> </td><td>is the user data item (microseconds to delay) that will be passed to the custom sleep/delay function when it is invoked.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="326335c87939629db5364c21c7e81a45"></a><!-- doxytag: member="xdp.c::XDp_TxAuxRead" ref="326335c87939629db5364c21c7e81a45" args="(XDp *InstancePtr, u32 DpcdAddress, u32 BytesToRead, void *ReadData)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxAuxRead </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</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>DpcdAddress</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>BytesToRead</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"> <em>ReadData</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function issues a read request over the AUX channel that will read from the RX device's DisplayPort Configuration Data (DPCD) address space. The read message will be divided into multiple transactions which read a maximum of 16 bytes each.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>DpcdAddress</em> </td><td>is the starting address to read from the RX device. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>BytesToRead</em> </td><td>is the number of bytes to read from the RX device. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ReadData</em> </td><td>is a pointer to the data buffer that will be filled with read data.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the AUX read request was successfully acknowledged.</li><li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li><li>XST_ERROR_COUNT_MAX if the AUX request timed out.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="cec5ef6d6656c0c2ae17761172acf6c1"></a><!-- doxytag: member="xdp.c::XDp_TxAuxWrite" ref="cec5ef6d6656c0c2ae17761172acf6c1" args="(XDp *InstancePtr, u32 DpcdAddress, u32 BytesToWrite, void *WriteData)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxAuxWrite </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</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>DpcdAddress</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>BytesToWrite</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"> <em>WriteData</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function issues a write request over the AUX channel that will write to the RX device's DisplayPort Configuration Data (DPCD) address space. The write message will be divided into multiple transactions which write a maximum of 16 bytes each.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>DpcdAddress</em> </td><td>is the starting address to write to the RX device. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>BytesToWrite</em> </td><td>is the number of bytes to write to the RX device. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>WriteData</em> </td><td>is a pointer to the data buffer that contains the data to be written to the RX device.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the AUX write request was successfully acknowledged.</li><li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li><li>XST_ERROR_COUNT_MAX if the AUX request timed out.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="f68236955b8b3a6292a9b9cc357ec1fa"></a><!-- doxytag: member="xdp.c::XDp_TxCfgMainLinkMax" ref="f68236955b8b3a6292a9b9cc357ec1fa" args="(XDp *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxCfgMainLinkMax </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function determines the common capabilities between the DisplayPort TX core and the RX device.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if main link settings were successfully set.</li><li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="90b6e9474941dd1dee7eebb4f9ba57ca"></a><!-- doxytag: member="xdp.c::XDp_TxCfgTxPeLevel" ref="90b6e9474941dd1dee7eebb4f9ba57ca" args="(XDp *InstancePtr, u8 Level, u8 TxLevel)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_TxCfgTxPeLevel </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Level</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>TxLevel</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function sets the pre-emphasis level value in the DisplayPort TX that will be used during link training for a given pre-emphasis training level.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Level</em> </td><td>is the pre-emphasis training level to set the DisplayPort TX level for. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>TxLevel</em> </td><td>is the DisplayPort TX pre-emphasis level value to be used during link training.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>There are 32 possible pre-emphasis levels in the DisplayPort TX core that map to 4 possible pre-emphasis training levels in the RX device. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="3633e0db29e804a6f3da321613e3539d"></a><!-- doxytag: member="xdp.c::XDp_TxCfgTxVsLevel" ref="3633e0db29e804a6f3da321613e3539d" args="(XDp *InstancePtr, u8 Level, u8 TxLevel)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_TxCfgTxVsLevel </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Level</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>TxLevel</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function sets the voltage swing level value in the DisplayPort TX that will be used during link training for a given voltage swing training level.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Level</em> </td><td>is the voltage swing training level to set the DisplayPort TX level for. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>TxLevel</em> </td><td>is the DisplayPort TX voltage swing level value to be used during link training.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>There are 16 possible voltage swing levels in the DisplayPort TX core that map to 4 possible voltage swing training levels in the RX device. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="56904fc019dd1c8bc629b601ae5b5eba"></a><!-- doxytag: member="xdp.c::XDp_TxCfgTxVsOffset" ref="56904fc019dd1c8bc629b601ae5b5eba" args="(XDp *InstancePtr, u8 Offset)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_TxCfgTxVsOffset </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Offset</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function sets the voltage swing offset to use during training when no redriver exists. The offset will be added to the DisplayPort TX's voltage swing level value when pre-emphasis is used (when the pre-emphasis level not equal to 0).<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Offset</em> </td><td>is the value to set for the voltage swing offset.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="a50e8ec50a21bb3df5d1125ebe95493d"></a><!-- doxytag: member="xdp.c::XDp_TxCheckLinkStatus" ref="a50e8ec50a21bb3df5d1125ebe95493d" args="(XDp *InstancePtr, u8 LaneCount)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxCheckLinkStatus </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>LaneCount</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function checks if the reciever's DisplayPort Configuration Data (DPCD) indicates the reciever has achieved and maintained clock recovery, channel equalization, symbol lock, and interlane alignment for all lanes currently in use.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>LaneCount</em> </td><td>is the number of lanes to check.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the RX device has maintained clock recovery, channel equalization, symbol lock, and interlane alignment.</li><li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="2ebce10cc5382091395edb1e106f4ad1"></a><!-- doxytag: member="xdp.c::XDp_TxDisableMainLink" ref="2ebce10cc5382091395edb1e106f4ad1" args="(XDp *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_TxDisableMainLink </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function disables the main link.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="400f2bfe7aa6c820e915afd0fb685779"></a><!-- doxytag: member="xdp.c::XDp_TxEnableMainLink" ref="400f2bfe7aa6c820e915afd0fb685779" args="(XDp *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_TxEnableMainLink </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function enables the main link.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="5a07f4cc7ae9d45915497ed53d288061"></a><!-- doxytag: member="xdp.c::XDp_TxEnableTrainAdaptive" ref="5a07f4cc7ae9d45915497ed53d288061" args="(XDp *InstancePtr, u8 Enable)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_TxEnableTrainAdaptive </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Enable</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function enables or disables downshifting during the training process.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Enable</em> </td><td>controls the downshift feature in the training process.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="04b03753ee278bdac3e2262b99366493"></a><!-- doxytag: member="xdp.c::XDp_TxEstablishLink" ref="04b03753ee278bdac3e2262b99366493" args="(XDp *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxEstablishLink </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function checks if the link needs training and runs the training sequence if training is required.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS was either already trained, or has been trained successfully.</li><li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="831242817739efb8ec76f65b317b00c7"></a><!-- doxytag: member="xdp.c::XDp_TxGetRxCapabilities" ref="831242817739efb8ec76f65b317b00c7" args="(XDp *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxGetRxCapabilities </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function retrieves the RX device's capabilities from the RX device's DisplayPort Configuration Data (DPCD).<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the DisplayPort Configuration Data was read successfully.</li><li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="c0b819f21d763400b8f9c2cc150e060f"></a><!-- doxytag: member="xdp.c::XDp_TxIicRead" ref="c0b819f21d763400b8f9c2cc150e060f" args="(XDp *InstancePtr, u8 IicAddress, u16 Offset, u16 BytesToRead, void *ReadData)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxIicRead </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>IicAddress</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </td>
|
|
<td class="paramname"> <em>Offset</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </td>
|
|
<td class="paramname"> <em>BytesToRead</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"> <em>ReadData</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function performs an I2C read over the AUX channel. The read message will be divided into multiple transactions if the requested data spans multiple segments. The segment pointer is automatically incremented and the offset is calibrated as needed. E.g. For an overall offset of:<ul>
|
|
<li>128, an I2C read is done on segptr=0; offset=128.</li><li>256, an I2C read is done on segptr=1; offset=0.</li><li>384, an I2C read is done on segptr=1; offset=128.</li><li>512, an I2C read is done on segptr=2; offset=0.</li><li>etc.</li></ul>
|
|
<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>IicAddress</em> </td><td>is the address on the I2C bus of the target device. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Offset</em> </td><td>is the offset at the specified address of the targeted I2C device that the read will start from. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>BytesToRead</em> </td><td>is the number of bytes to read. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ReadData</em> </td><td>is a pointer to a buffer that will be filled with the I2C read data.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the I2C read has successfully completed with no errors.</li><li>XST_ERROR_COUNT_MAX if the AUX request timed out.</li><li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="6cbeb74d7664817db482923e4dc1683c"></a><!-- doxytag: member="xdp.c::XDp_TxIicWrite" ref="6cbeb74d7664817db482923e4dc1683c" args="(XDp *InstancePtr, u8 IicAddress, u8 BytesToWrite, void *WriteData)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxIicWrite </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>IicAddress</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>BytesToWrite</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"> <em>WriteData</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function performs an I2C write over the AUX channel.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>IicAddress</em> </td><td>is the address on the I2C bus of the target device. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>BytesToWrite</em> </td><td>is the number of bytes to write. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>WriteData</em> </td><td>is a pointer to a buffer which will be used as the data source for the write.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the I2C write has successfully completed with no errors.</li><li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li><li>XST_ERROR_COUNT_MAX if the AUX request timed out.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="3305ff3687d4c994d2200ad861828295"></a><!-- doxytag: member="xdp.c::XDp_TxIsConnected" ref="3305ff3687d4c994d2200ad861828295" args="(XDp *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxIsConnected </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function checks if there is a connected RX device.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>TRUE if there is a connection.</li><li>FALSE if there is no connection. </li></ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="89c4158905d36c050a2f77cd70ebef11"></a><!-- doxytag: member="xdp.c::XDp_TxResetPhy" ref="89c4158905d36c050a2f77cd70ebef11" args="(XDp *InstancePtr, u32 Reset)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_TxResetPhy </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</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>Reset</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function does a PHY reset.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Reset</em> </td><td>is the type of reset to assert.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="63402c58ed10a4c59aa0757970351fbe"></a><!-- doxytag: member="xdp.c::XDp_TxSetDownspread" ref="63402c58ed10a4c59aa0757970351fbe" args="(XDp *InstancePtr, u8 Enable)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxSetDownspread </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Enable</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function enables or disables 0.5% spreading of the clock for both the DisplayPort and the RX device.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Enable</em> </td><td>will downspread the main link signal if set to 1 and disable downspreading if set to 0.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if setting the downspread control enable was successful.</li><li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="266286fa19c4e031a7de23fab583ba4f"></a><!-- doxytag: member="xdp.c::XDp_TxSetEnhancedFrameMode" ref="266286fa19c4e031a7de23fab583ba4f" args="(XDp *InstancePtr, u8 Enable)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxSetEnhancedFrameMode </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Enable</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function enables or disables the enhanced framing symbol sequence for both the DisplayPort TX core and the RX device.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Enable</em> </td><td>will enable enhanced frame mode if set to 1 and disable it if set to 0.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if setting the enhanced frame mode enable was successful.</li><li>XST_DEVICE_NOT_FOUND if no RX is connected.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="f3915b9c29ed8a077adaed36e04622b4"></a><!-- doxytag: member="xdp.c::XDp_TxSetHasRedriverInPath" ref="f3915b9c29ed8a077adaed36e04622b4" args="(XDp *InstancePtr, u8 Set)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_TxSetHasRedriverInPath </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Set</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function sets a software switch that signifies whether or not a redriver exists on the DisplayPort output path. XDp_TxSetVswingPreemp uses this switch to determine which set of voltage swing and pre-emphasis values to use in the TX core.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Set</em> </td><td>establishes that a redriver exists in the DisplayPort output path.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="2eee185e6b432dda6a7ab410b5e78541"></a><!-- doxytag: member="xdp.c::XDp_TxSetLaneCount" ref="2eee185e6b432dda6a7ab410b5e78541" args="(XDp *InstancePtr, u8 LaneCount)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxSetLaneCount </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>LaneCount</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function sets the number of lanes to be used by the main link for both the DisplayPort TX core and the RX device.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>LaneCount</em> </td><td>is the number of lanes to be used over the main link.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if setting the new lane count was successful.</li><li>XST_DEVICE_NOT_FOUND if no RX is connected.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="e01933583cbbbe16c3582d7440f10a2e"></a><!-- doxytag: member="xdp.c::XDp_TxSetLinkRate" ref="e01933583cbbbe16c3582d7440f10a2e" args="(XDp *InstancePtr, u8 LinkRate)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxSetLinkRate </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>LinkRate</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function sets the data rate to be used by the main link for both the DisplayPort TX core and the RX device.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>LinkRate</em> </td><td>is the link rate to be used over the main link based on one of the following selects:<ul>
|
|
<li>XDP_TX_LINK_BW_SET_162GBPS = 0x06 (for a 1.62 Gbps data rate)</li><li>XDP_TX_LINK_BW_SET_270GBPS = 0x0A (for a 2.70 Gbps data rate)</li><li>XDP_TX_LINK_BW_SET_540GBPS = 0x14 (for a 5.40 Gbps data rate)</li></ul>
|
|
</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if setting the new link rate was successful.</li><li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="60da59209c30be099d00f0053a0e809d"></a><!-- doxytag: member="xdp.c::XDp_TxSetScrambler" ref="60da59209c30be099d00f0053a0e809d" args="(XDp *InstancePtr, u8 Enable)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XDp_TxSetScrambler </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Enable</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function enables or disables scrambling of symbols for both the DisplayPort and the RX device.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Enable</em> </td><td>will enable or disable scrambling.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if setting the scrambling enable was successful.</li><li>XST_FAILURE otherwise.</li></ul>
|
|
</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="82deff65c3a8f1a090bcda332df3a7ee"></a><!-- doxytag: member="xdp.c::XDp_WaitUs" ref="82deff65c3a8f1a090bcda332df3a7ee" args="(XDp *InstancePtr, u32 MicroSeconds)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XDp_WaitUs </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_dp.html">XDp</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>MicroSeconds</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
This function is the delay/sleep function for the <a class="el" href="struct_x_dp.html">XDp</a> driver. For the Zynq family, there exists native sleep functionality. For MicroBlaze however, there does not exist such functionality. In the MicroBlaze case, the default method for delaying is to use a predetermined amount of loop iterations. This method is prone to inaccuracy and dependent on system configuration; for greater accuracy, the user may supply their own delay/sleep handler, pointed to by InstancePtr->UserTimerWaitUs, which may have better accuracy if a hardware timer is used.<p>
|
|
<dl compact><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 <a class="el" href="struct_x_dp.html">XDp</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>MicroSeconds</em> </td><td>is the number of microseconds to delay/sleep for.</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.
|