MCUXpresso_MIMXRT1021xxxxx/docs/MCUXpresso SDK API Referenc.../a00074.html

2521 lines
144 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>MCUXpresso SDK API Reference Manual: SPDIF: Sony/Philips Digital Interface</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">MCUXpresso SDK API Reference Manual
&#160;<span id="projectnumber">Rev 2.15.000</span>
</div>
<div id="projectbrief">NXP Semiconductors</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>API&#160;Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('a00074.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">SPDIF: Sony/Philips Digital Interface</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The MCUXpresso SDK provides a peripheral driver for the Sony/Philips Digital Interface (SPDIF) module of MCUXpresso SDK devices.</p>
<p>SPDIF driver includes functional APIs and transactional APIs.</p>
<p>Functional APIs target low-level APIs. Functional APIs can be used for SPDIF initialization/configuration/operation for optimization/customization purpose. Using the functional API requires the knowledge of the SPDIF peripheral and how to organize functional APIs to meet the application requirements. All functional API use the peripheral base address as the first parameter. SPDIF functional operation groups provide the functional API set.</p>
<p>Transactional APIs target high-level APIs. Transactional APIs can be used to enable the peripheral and in the application if the code size and performance of transactional APIs satisfy the requirements. If the code size and performance are a critical requirement, see the transactional API implementation and write a custom code. All transactional APIs use the spdif_handle_t as the first parameter. Initialize the handle by calling the <a class="el" href="a00074.html#ga2e4eb257e2da537eb2d47a31ea47fbb6" title="Initializes the SPDIF Tx handle. ">SPDIF_TransferTxCreateHandle()</a> or <a class="el" href="a00074.html#gac44c0edc9e22798fb840f38f1c3749ba" title="Initializes the SPDIF Rx handle. ">SPDIF_TransferRxCreateHandle()</a> API.</p>
<p>Transactional APIs support asynchronous transfer. This means that the functions <a class="el" href="a00074.html#ga155e14a0591e50af578cb8309171c112" title="Performs an interrupt non-blocking send transfer on SPDIF. ">SPDIF_TransferSendNonBlocking()</a> and <a class="el" href="a00074.html#ga04fe7c5e2cf560687b07f5de908da255" title="Performs an interrupt non-blocking receive transfer on SPDIF. ">SPDIF_TransferReceiveNonBlocking()</a> set up the interrupt for data transfer. When the transfer completes, the upper layer is notified through a callback function with the kStatus_SPDIF_TxIdle and kStatus_SPDIF_RxIdle status.</p>
<h1><a class="anchor" id="SPDIFCase"></a>
Typical use case</h1>
<h2><a class="anchor" id="SPDIFCaseInterrupt"></a>
SPDIF Send/receive using an interrupt method</h2>
<p>Refer to the driver examples codes located at &lt;SDK_ROOT&gt;/boards/&lt;BOARD&gt;/driver_examples/spdif </p>
<h2><a class="anchor" id="SPDIFCaseDma"></a>
SPDIF Send/receive using a DMA method</h2>
<p>Refer to the driver examples codes located at &lt;SDK_ROOT&gt;/boards/&lt;BOARD&gt;/driver_examples/spdif </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:a00075"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html">SPDIF eDMA Driver</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:a00499"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a00499">_spdif_config</a></td></tr>
<tr class="memdesc:a00499"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF user configuration structure. <a href="a00074.html#a00499">More...</a><br/></td></tr>
<tr class="separator:a00499"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00503"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a00503">_spdif_transfer</a></td></tr>
<tr class="memdesc:a00503"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF transfer structure. <a href="a00074.html#a00503">More...</a><br/></td></tr>
<tr class="separator:a00503"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00502"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a00502">_spdif_handle</a></td></tr>
<tr class="memdesc:a00502"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF handle structure. <a href="a00074.html#a00502">More...</a><br/></td></tr>
<tr class="separator:a00502"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga3e78a3155b1291a9fa00d0461d6e490c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga3e78a3155b1291a9fa00d0461d6e490c">SPDIF_XFER_QUEUE_SIZE</a>&#160;&#160;&#160;(4U)</td></tr>
<tr class="memdesc:ga3e78a3155b1291a9fa00d0461d6e490c"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF transfer queue size, user can refine it according to use case. <a href="#ga3e78a3155b1291a9fa00d0461d6e490c">More...</a><br/></td></tr>
<tr class="separator:ga3e78a3155b1291a9fa00d0461d6e490c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga320a1ffa3db7e37a913734da0a4b543a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga320a1ffa3db7e37a913734da0a4b543a"></a>
typedef enum <a class="el" href="a00074.html#gaf027e919562bb13e676d936e5fe9f102">_spdif_rxfull_select</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga320a1ffa3db7e37a913734da0a4b543a">spdif_rxfull_select_t</a></td></tr>
<tr class="memdesc:ga320a1ffa3db7e37a913734da0a4b543a"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF Rx FIFO full falg select, it decides when assert the rx full flag. <br/></td></tr>
<tr class="separator:ga320a1ffa3db7e37a913734da0a4b543a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5e952acb85913061d39f05cb69bcf77"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad5e952acb85913061d39f05cb69bcf77"></a>
typedef enum <a class="el" href="a00074.html#ga9a8390010ef72478e96c1dddd694af4a">_spdif_txempty_select</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gad5e952acb85913061d39f05cb69bcf77">spdif_txempty_select_t</a></td></tr>
<tr class="memdesc:gad5e952acb85913061d39f05cb69bcf77"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF tx FIFO EMPTY falg select, it decides when assert the tx empty flag. <br/></td></tr>
<tr class="separator:gad5e952acb85913061d39f05cb69bcf77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad86c23303f42359f3de0f5da856fb962"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad86c23303f42359f3de0f5da856fb962"></a>
typedef enum <a class="el" href="a00074.html#ga8e291cb75c4b998ed720a09df3bdd293">_spdif_uchannel_source</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gad86c23303f42359f3de0f5da856fb962">spdif_uchannel_source_t</a></td></tr>
<tr class="memdesc:gad86c23303f42359f3de0f5da856fb962"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF U channel source. <br/></td></tr>
<tr class="separator:gad86c23303f42359f3de0f5da856fb962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga962e90838e3ed4e55c4b541344221eb2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga962e90838e3ed4e55c4b541344221eb2"></a>
typedef enum <a class="el" href="a00074.html#ga647e0927c74f8e7d9c8017cd9caffacf">_spdif_gain_select</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga962e90838e3ed4e55c4b541344221eb2">spdif_gain_select_t</a></td></tr>
<tr class="memdesc:ga962e90838e3ed4e55c4b541344221eb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF clock gain. <br/></td></tr>
<tr class="separator:ga962e90838e3ed4e55c4b541344221eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad790d7edfb44e6a208654ff59bddfd80"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad790d7edfb44e6a208654ff59bddfd80"></a>
typedef enum <a class="el" href="a00074.html#gad738631e5a1776692ef90fa6e8034ba3">_spdif_tx_source</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gad790d7edfb44e6a208654ff59bddfd80">spdif_tx_source_t</a></td></tr>
<tr class="memdesc:gad790d7edfb44e6a208654ff59bddfd80"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF tx data source. <br/></td></tr>
<tr class="separator:gad790d7edfb44e6a208654ff59bddfd80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1f3df5dcf4d4d971698c59a95f21bbf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac1f3df5dcf4d4d971698c59a95f21bbf"></a>
typedef enum <a class="el" href="a00074.html#ga1d5ee2686337a0582f65b0d551088b32">_spdif_validity_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gac1f3df5dcf4d4d971698c59a95f21bbf">spdif_validity_config_t</a></td></tr>
<tr class="memdesc:gac1f3df5dcf4d4d971698c59a95f21bbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF tx data source. <br/></td></tr>
<tr class="separator:gac1f3df5dcf4d4d971698c59a95f21bbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga42bdaae7a8b6823fab001c8282269fd4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga42bdaae7a8b6823fab001c8282269fd4"></a>
typedef struct <a class="el" href="a00074.html#a00499">_spdif_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga42bdaae7a8b6823fab001c8282269fd4">spdif_config_t</a></td></tr>
<tr class="memdesc:ga42bdaae7a8b6823fab001c8282269fd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF user configuration structure. <br/></td></tr>
<tr class="separator:ga42bdaae7a8b6823fab001c8282269fd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28534824bc9ce4a5a406e928bcbdd7d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga28534824bc9ce4a5a406e928bcbdd7d1"></a>
typedef struct <a class="el" href="a00074.html#a00503">_spdif_transfer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga28534824bc9ce4a5a406e928bcbdd7d1">spdif_transfer_t</a></td></tr>
<tr class="memdesc:ga28534824bc9ce4a5a406e928bcbdd7d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF transfer structure. <br/></td></tr>
<tr class="separator:ga28534824bc9ce4a5a406e928bcbdd7d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8749a36136a9b55600479d61b55596ec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8749a36136a9b55600479d61b55596ec"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga8749a36136a9b55600479d61b55596ec">spdif_transfer_callback_t</a> )(SPDIF_Type *base, <a class="el" href="a00074.html#a00502">spdif_handle_t</a> *handle, <a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> status, void *userData)</td></tr>
<tr class="memdesc:ga8749a36136a9b55600479d61b55596ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF transfer callback prototype. <br/></td></tr>
<tr class="separator:ga8749a36136a9b55600479d61b55596ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gaf8654c714018c6241d9ebd01f3fb5a26"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a0489bbc59ac12902e0cf3c134e72363e">kStatus_SPDIF_RxDPLLLocked</a> = MAKE_STATUS(kStatusGroup_SPDIF, 0),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a278a5b9459f7c6a06b0026d00ecc63cd">kStatus_SPDIF_TxFIFOError</a> = MAKE_STATUS(kStatusGroup_SPDIF, 1),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a051d7f8261885f910a4f04c4a7a8f410">kStatus_SPDIF_TxFIFOResync</a> = MAKE_STATUS(kStatusGroup_SPDIF, 2),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a259512eb9a030bbc2188b71008058808">kStatus_SPDIF_RxCnew</a> = MAKE_STATUS(kStatusGroup_SPDIF, 3),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a6da0731f8caeb6cc08bb5f8190d01f30">kStatus_SPDIF_ValidatyNoGood</a> = MAKE_STATUS(kStatusGroup_SPDIF, 4),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a2da36cd8a86bdfa8d9b4fead3dd543ad">kStatus_SPDIF_RxIllegalSymbol</a> = MAKE_STATUS(kStatusGroup_SPDIF, 5),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26afe0341b5aea2f8946c5a5a102e676483">kStatus_SPDIF_RxParityBitError</a> = MAKE_STATUS(kStatusGroup_SPDIF, 6),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a02d356ebee96b06bd87d13551d09e73f">kStatus_SPDIF_UChannelOverrun</a> = MAKE_STATUS(kStatusGroup_SPDIF, 7),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a07b3373290d7d037ff3a859132967d53">kStatus_SPDIF_QChannelOverrun</a> = MAKE_STATUS(kStatusGroup_SPDIF, 8),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a3a6c65eabeb242b3910327da198c87d3">kStatus_SPDIF_UQChannelSync</a> = MAKE_STATUS(kStatusGroup_SPDIF, 9),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26af44eacef3e48bd00a1fd5e08c550f9cb">kStatus_SPDIF_UQChannelFrameError</a> = MAKE_STATUS(kStatusGroup_SPDIF, 10),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a2360fecc1ffe49c63f8dd5b64905a33a">kStatus_SPDIF_RxFIFOError</a> = MAKE_STATUS(kStatusGroup_SPDIF, 11),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26ab206b050696acf5758e8b6c0bdf5b6fa">kStatus_SPDIF_RxFIFOResync</a> = MAKE_STATUS(kStatusGroup_SPDIF, 12),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a9390ad9ad5ce85f7224c759604f5a194">kStatus_SPDIF_LockLoss</a> = MAKE_STATUS(kStatusGroup_SPDIF, 13),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a646939956dd08768873e67af0e2690fc">kStatus_SPDIF_TxIdle</a> = MAKE_STATUS(kStatusGroup_SPDIF, 14),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26ac458cedc1f2f208c0e04e3f532dc0595">kStatus_SPDIF_RxIdle</a> = MAKE_STATUS(kStatusGroup_SPDIF, 15),
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf8654c714018c6241d9ebd01f3fb5a26a700d25ed1454e469f32de0ade5a78e87">kStatus_SPDIF_QueueFull</a> = MAKE_STATUS(kStatusGroup_SPDIF, 16)
<br/>
}</td></tr>
<tr class="memdesc:gaf8654c714018c6241d9ebd01f3fb5a26"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF return status. <a href="a00074.html#gaf8654c714018c6241d9ebd01f3fb5a26">More...</a><br/></td></tr>
<tr class="separator:gaf8654c714018c6241d9ebd01f3fb5a26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf027e919562bb13e676d936e5fe9f102"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gaf027e919562bb13e676d936e5fe9f102">_spdif_rxfull_select</a> { <br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf027e919562bb13e676d936e5fe9f102ad6a45c3b1bb3397ce7dd2e5c9af8c1c9">kSPDIF_RxFull1Sample</a> = 0x0u,
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf027e919562bb13e676d936e5fe9f102a84f7309ca36974eefa1a2d970eba7995">kSPDIF_RxFull4Samples</a>,
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf027e919562bb13e676d936e5fe9f102a71af34697ac17ca08eb26d7c4d6dd27f">kSPDIF_RxFull8Samples</a>,
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggaf027e919562bb13e676d936e5fe9f102ab585922a28236a3e9b8cffbdd3793cee">kSPDIF_RxFull16Samples</a>
<br/>
}</td></tr>
<tr class="memdesc:gaf027e919562bb13e676d936e5fe9f102"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF Rx FIFO full falg select, it decides when assert the rx full flag. <a href="a00074.html#gaf027e919562bb13e676d936e5fe9f102">More...</a><br/></td></tr>
<tr class="separator:gaf027e919562bb13e676d936e5fe9f102"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a8390010ef72478e96c1dddd694af4a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga9a8390010ef72478e96c1dddd694af4a">_spdif_txempty_select</a> { <br/>
&#160;&#160;<a class="el" href="a00074.html#gga9a8390010ef72478e96c1dddd694af4aa835efeacfa1b7bc07a723c3683407b4e">kSPDIF_TxEmpty0Sample</a> = 0x0u,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga9a8390010ef72478e96c1dddd694af4aa38d0ed7a9ff015721f0edcd71d696e18">kSPDIF_TxEmpty4Samples</a>,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga9a8390010ef72478e96c1dddd694af4aafbd58fcc26965a9b45865764d775284f">kSPDIF_TxEmpty8Samples</a>,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga9a8390010ef72478e96c1dddd694af4aa9c74437e11128b87fbd5bb644c4790e4">kSPDIF_TxEmpty12Samples</a>
<br/>
}</td></tr>
<tr class="memdesc:ga9a8390010ef72478e96c1dddd694af4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF tx FIFO EMPTY falg select, it decides when assert the tx empty flag. <a href="a00074.html#ga9a8390010ef72478e96c1dddd694af4a">More...</a><br/></td></tr>
<tr class="separator:ga9a8390010ef72478e96c1dddd694af4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e291cb75c4b998ed720a09df3bdd293"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga8e291cb75c4b998ed720a09df3bdd293">_spdif_uchannel_source</a> { <br/>
&#160;&#160;<a class="el" href="a00074.html#gga8e291cb75c4b998ed720a09df3bdd293af159efd3316b59e34b7288448c4b8c4f">kSPDIF_NoUChannel</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga8e291cb75c4b998ed720a09df3bdd293aec4bf6dbe6a1346b33c59c392ea1fbe6">kSPDIF_UChannelFromRx</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga8e291cb75c4b998ed720a09df3bdd293a65a3b2cbcb558fdc5870f009d9d6bd80">kSPDIF_UChannelFromTx</a> = 0x3U
<br/>
}</td></tr>
<tr class="memdesc:ga8e291cb75c4b998ed720a09df3bdd293"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF U channel source. <a href="a00074.html#ga8e291cb75c4b998ed720a09df3bdd293">More...</a><br/></td></tr>
<tr class="separator:ga8e291cb75c4b998ed720a09df3bdd293"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga647e0927c74f8e7d9c8017cd9caffacf"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga647e0927c74f8e7d9c8017cd9caffacf">_spdif_gain_select</a> { <br/>
&#160;&#160;<a class="el" href="a00074.html#gga647e0927c74f8e7d9c8017cd9caffacfac438b3169eb2675d11540a839e99f502">kSPDIF_GAIN_24</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga647e0927c74f8e7d9c8017cd9caffacfaa776465b4de5bf2fa610f1c2366c063f">kSPDIF_GAIN_16</a>,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga647e0927c74f8e7d9c8017cd9caffacfad54dc0e7908199d3fe24ef53d608b544">kSPDIF_GAIN_12</a>,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga647e0927c74f8e7d9c8017cd9caffacfaafee91827c9ea238ad6d6478718e98a0">kSPDIF_GAIN_8</a>,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga647e0927c74f8e7d9c8017cd9caffacfa16500e129c2451b60faf4a3f4464df43">kSPDIF_GAIN_6</a>,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga647e0927c74f8e7d9c8017cd9caffacfa84750080b7f27da810fe19abe64f776f">kSPDIF_GAIN_4</a>,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga647e0927c74f8e7d9c8017cd9caffacfa1008286af785dcb2dde9131765217980">kSPDIF_GAIN_3</a>
<br/>
}</td></tr>
<tr class="memdesc:ga647e0927c74f8e7d9c8017cd9caffacf"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF clock gain. <a href="a00074.html#ga647e0927c74f8e7d9c8017cd9caffacf">More...</a><br/></td></tr>
<tr class="separator:ga647e0927c74f8e7d9c8017cd9caffacf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad738631e5a1776692ef90fa6e8034ba3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gad738631e5a1776692ef90fa6e8034ba3">_spdif_tx_source</a> { <br/>
&#160;&#160;<a class="el" href="a00074.html#ggad738631e5a1776692ef90fa6e8034ba3affd9df4017e5af840e5c34c050791f02">kSPDIF_txFromReceiver</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="a00074.html#ggad738631e5a1776692ef90fa6e8034ba3a1e6073994dc81cb60c229a8ce166222f">kSPDIF_txNormal</a> = 0x5U
<br/>
}</td></tr>
<tr class="memdesc:gad738631e5a1776692ef90fa6e8034ba3"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF tx data source. <a href="a00074.html#gad738631e5a1776692ef90fa6e8034ba3">More...</a><br/></td></tr>
<tr class="separator:gad738631e5a1776692ef90fa6e8034ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d5ee2686337a0582f65b0d551088b32"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga1d5ee2686337a0582f65b0d551088b32">_spdif_validity_config</a> { <br/>
&#160;&#160;<a class="el" href="a00074.html#gga1d5ee2686337a0582f65b0d551088b32a9cf3c378520222b1ffe3e584cae0ac67">kSPDIF_validityFlagAlwaysSet</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga1d5ee2686337a0582f65b0d551088b32a96145e43a2a36d2c7dcd6ce5242743b1">kSPDIF_validityFlagAlwaysClear</a>
<br/>
}</td></tr>
<tr class="memdesc:ga1d5ee2686337a0582f65b0d551088b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF tx data source. <a href="a00074.html#ga1d5ee2686337a0582f65b0d551088b32">More...</a><br/></td></tr>
<tr class="separator:ga1d5ee2686337a0582f65b0d551088b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f80701c36e79c0640d91c788feee0b3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3ab8774a200c36eccf9d7b439ba21d1ac8">kSPDIF_RxDPLLLocked</a> = SPDIF_SIE_LOCK_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a74d3b2d4e4ee35eed58f4d30c6d2709b">kSPDIF_TxFIFOError</a> = SPDIF_SIE_TXUNOV_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3af40104f71f214bb1c0a6a2c0fdcdaf36">kSPDIF_TxFIFOResync</a> = SPDIF_SIE_TXRESYN_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a5917028824aefbf16086b3021e414340">kSPDIF_RxControlChannelChange</a> = SPDIF_SIE_CNEW_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a7de7b2231ecb6e20e43d0494fe92e63c">kSPDIF_ValidityFlagNoGood</a> = SPDIF_SIE_VALNOGOOD_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3aa71c8ef82de54ffac949e31010d031de">kSPDIF_RxIllegalSymbol</a> = SPDIF_SIE_SYMERR_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a1838e42bf8376a18762297b6aa3c4472">kSPDIF_RxParityBitError</a> = SPDIF_SIE_BITERR_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3ad228d31963d41a20e3567ce6f633acc6">kSPDIF_UChannelReceiveRegisterFull</a> = SPDIF_SIE_URXFUL_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a3b7dc66169552ca7798d686d68de6b7d">kSPDIF_UChannelReceiveRegisterOverrun</a> = SPDIF_SIE_URXOV_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a80ac61a0edef14ba03035176ab326331">kSPDIF_QChannelReceiveRegisterFull</a> = SPDIF_SIE_QRXFUL_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a64e59711062fadb98877919d7c5887e9">kSPDIF_QChannelReceiveRegisterOverrun</a> = SPDIF_SIE_QRXOV_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a6e94d542bd83c5bfc043fdbc44fcd43b">kSPDIF_UQChannelSync</a> = SPDIF_SIE_UQSYNC_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3ac07a719f553a9e41bf3e082a5beaf107">kSPDIF_UQChannelFrameError</a> = SPDIF_SIE_UQERR_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a1a27bda77a59e1db5a1913bb8971281a">kSPDIF_RxFIFOError</a> = SPDIF_SIE_RXFIFOUNOV_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3ad2e29bb00f59f56babeebd1f0e73726a">kSPDIF_RxFIFOResync</a> = SPDIF_SIE_RXFIFORESYN_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a1f134eebfeb0740e56c13c9b45fb8434">kSPDIF_LockLoss</a> = SPDIF_SIE_LOCKLOSS_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a82af9fd1290d8b3b63420b8d92257819">kSPDIF_TxFIFOEmpty</a> = SPDIF_SIE_TXEM_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3a9797531448d68e40b3befb91810bd09c">kSPDIF_RxFIFOFull</a> = SPDIF_SIE_RXFIFOFUL_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga2f80701c36e79c0640d91c788feee0b3af55570f1f8a886f06d64ed2bfc0650a4">kSPDIF_AllInterrupt</a>
<br/>
}</td></tr>
<tr class="memdesc:ga2f80701c36e79c0640d91c788feee0b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The SPDIF interrupt enable flag. <a href="a00074.html#ga2f80701c36e79c0640d91c788feee0b3">More...</a><br/></td></tr>
<tr class="separator:ga2f80701c36e79c0640d91c788feee0b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga531c35e38ede3ea4e5ba5afb24b29493"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00074.html#gga531c35e38ede3ea4e5ba5afb24b29493a19fc49573180ffcc3df5f9a27c797209">kSPDIF_RxDMAEnable</a> = SPDIF_SCR_DMA_RX_EN_MASK,
<br/>
&#160;&#160;<a class="el" href="a00074.html#gga531c35e38ede3ea4e5ba5afb24b29493ad508f6bf16fd6349b03fc8f3b38d06e8">kSPDIF_TxDMAEnable</a> = SPDIF_SCR_DMA_TX_EN_MASK
<br/>
}</td></tr>
<tr class="memdesc:ga531c35e38ede3ea4e5ba5afb24b29493"><td class="mdescLeft">&#160;</td><td class="mdescRight">The DMA request sources. <a href="a00074.html#ga531c35e38ede3ea4e5ba5afb24b29493">More...</a><br/></td></tr>
<tr class="separator:ga531c35e38ede3ea4e5ba5afb24b29493"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Driver version</h2></td></tr>
<tr class="memitem:ga036bac4f2d40e143c5528a10038767c1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga036bac4f2d40e143c5528a10038767c1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga036bac4f2d40e143c5528a10038767c1">FSL_SPDIF_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="a00260.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 0, 6))</td></tr>
<tr class="memdesc:ga036bac4f2d40e143c5528a10038767c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version 2.0.6. <br/></td></tr>
<tr class="separator:ga036bac4f2d40e143c5528a10038767c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Initialization and deinitialization</h2></td></tr>
<tr class="memitem:ga6b4e9ed2c903d62af53a8d3887126413"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga6b4e9ed2c903d62af53a8d3887126413">SPDIF_Init</a> (SPDIF_Type *base, const <a class="el" href="a00074.html#ga42bdaae7a8b6823fab001c8282269fd4">spdif_config_t</a> *config)</td></tr>
<tr class="memdesc:ga6b4e9ed2c903d62af53a8d3887126413"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the SPDIF peripheral. <a href="#ga6b4e9ed2c903d62af53a8d3887126413">More...</a><br/></td></tr>
<tr class="separator:ga6b4e9ed2c903d62af53a8d3887126413"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11b262ea3923fd80f78b959d9718e00b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga11b262ea3923fd80f78b959d9718e00b">SPDIF_GetDefaultConfig</a> (<a class="el" href="a00074.html#ga42bdaae7a8b6823fab001c8282269fd4">spdif_config_t</a> *config)</td></tr>
<tr class="memdesc:ga11b262ea3923fd80f78b959d9718e00b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the SPDIF configuration structure to default values. <a href="#ga11b262ea3923fd80f78b959d9718e00b">More...</a><br/></td></tr>
<tr class="separator:ga11b262ea3923fd80f78b959d9718e00b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2631baffebf03ec2a587580112dd56f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga2631baffebf03ec2a587580112dd56f3">SPDIF_Deinit</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:ga2631baffebf03ec2a587580112dd56f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes the SPDIF peripheral. <a href="#ga2631baffebf03ec2a587580112dd56f3">More...</a><br/></td></tr>
<tr class="separator:ga2631baffebf03ec2a587580112dd56f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacbd5fc4df43e1a249493b5324f94e54d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gacbd5fc4df43e1a249493b5324f94e54d">SPDIF_GetInstance</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:gacbd5fc4df43e1a249493b5324f94e54d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the instance number for SPDIF. <a href="#gacbd5fc4df43e1a249493b5324f94e54d">More...</a><br/></td></tr>
<tr class="separator:gacbd5fc4df43e1a249493b5324f94e54d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga85e3497baec03b34f728541154ccc31d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga85e3497baec03b34f728541154ccc31d">SPDIF_TxFIFOReset</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:ga85e3497baec03b34f728541154ccc31d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the SPDIF Tx. <a href="#ga85e3497baec03b34f728541154ccc31d">More...</a><br/></td></tr>
<tr class="separator:ga85e3497baec03b34f728541154ccc31d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa74cc12474982eb7c46adaa7d4891626"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gaa74cc12474982eb7c46adaa7d4891626">SPDIF_RxFIFOReset</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:gaa74cc12474982eb7c46adaa7d4891626"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the SPDIF Rx. <a href="#gaa74cc12474982eb7c46adaa7d4891626">More...</a><br/></td></tr>
<tr class="separator:gaa74cc12474982eb7c46adaa7d4891626"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b76be7fc7148dec7d4493398103a94d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga5b76be7fc7148dec7d4493398103a94d">SPDIF_TxEnable</a> (SPDIF_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga5b76be7fc7148dec7d4493398103a94d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the SPDIF Tx. <a href="#ga5b76be7fc7148dec7d4493398103a94d">More...</a><br/></td></tr>
<tr class="separator:ga5b76be7fc7148dec7d4493398103a94d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad705a47a3b61bb334125e54fc70ed2ae"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gad705a47a3b61bb334125e54fc70ed2ae">SPDIF_RxEnable</a> (SPDIF_Type *base, bool enable)</td></tr>
<tr class="memdesc:gad705a47a3b61bb334125e54fc70ed2ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the SPDIF Rx. <a href="#gad705a47a3b61bb334125e54fc70ed2ae">More...</a><br/></td></tr>
<tr class="separator:gad705a47a3b61bb334125e54fc70ed2ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Status</h2></td></tr>
<tr class="memitem:gafe28766cd0629d77c2ec2f5986155ee7"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gafe28766cd0629d77c2ec2f5986155ee7">SPDIF_GetStatusFlag</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:gafe28766cd0629d77c2ec2f5986155ee7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the SPDIF status flag state. <a href="#gafe28766cd0629d77c2ec2f5986155ee7">More...</a><br/></td></tr>
<tr class="separator:gafe28766cd0629d77c2ec2f5986155ee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39bddc0768ce21bbbd6d3eae837b206e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga39bddc0768ce21bbbd6d3eae837b206e">SPDIF_ClearStatusFlags</a> (SPDIF_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga39bddc0768ce21bbbd6d3eae837b206e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the SPDIF status flag state. <a href="#ga39bddc0768ce21bbbd6d3eae837b206e">More...</a><br/></td></tr>
<tr class="separator:ga39bddc0768ce21bbbd6d3eae837b206e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Interrupts</h2></td></tr>
<tr class="memitem:ga487f880569d931ee08c74a83332862ae"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga487f880569d931ee08c74a83332862ae">SPDIF_EnableInterrupts</a> (SPDIF_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga487f880569d931ee08c74a83332862ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the SPDIF Tx interrupt requests. <a href="#ga487f880569d931ee08c74a83332862ae">More...</a><br/></td></tr>
<tr class="separator:ga487f880569d931ee08c74a83332862ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c0c7200763825eba3f10bbe7d3439b8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga0c0c7200763825eba3f10bbe7d3439b8">SPDIF_DisableInterrupts</a> (SPDIF_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga0c0c7200763825eba3f10bbe7d3439b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the SPDIF Tx interrupt requests. <a href="#ga0c0c7200763825eba3f10bbe7d3439b8">More...</a><br/></td></tr>
<tr class="separator:ga0c0c7200763825eba3f10bbe7d3439b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
DMA Control</h2></td></tr>
<tr class="memitem:ga1d4992842b29cef3c71ad5b5fbd664d3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga1d4992842b29cef3c71ad5b5fbd664d3">SPDIF_EnableDMA</a> (SPDIF_Type *base, uint32_t mask, bool enable)</td></tr>
<tr class="memdesc:ga1d4992842b29cef3c71ad5b5fbd664d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the SPDIF DMA requests. <a href="#ga1d4992842b29cef3c71ad5b5fbd664d3">More...</a><br/></td></tr>
<tr class="separator:ga1d4992842b29cef3c71ad5b5fbd664d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72dc7737eb0911c1c887d53cf9e1c8ed"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga72dc7737eb0911c1c887d53cf9e1c8ed">SPDIF_TxGetLeftDataRegisterAddress</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:ga72dc7737eb0911c1c887d53cf9e1c8ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the SPDIF Tx left data register address. <a href="#ga72dc7737eb0911c1c887d53cf9e1c8ed">More...</a><br/></td></tr>
<tr class="separator:ga72dc7737eb0911c1c887d53cf9e1c8ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6fe7d183782a4d078e0cd182d5859a3"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gad6fe7d183782a4d078e0cd182d5859a3">SPDIF_TxGetRightDataRegisterAddress</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:gad6fe7d183782a4d078e0cd182d5859a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the SPDIF Tx right data register address. <a href="#gad6fe7d183782a4d078e0cd182d5859a3">More...</a><br/></td></tr>
<tr class="separator:gad6fe7d183782a4d078e0cd182d5859a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd6b7be3a3b545c6f6b2d35f72cadef4"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gabd6b7be3a3b545c6f6b2d35f72cadef4">SPDIF_RxGetLeftDataRegisterAddress</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:gabd6b7be3a3b545c6f6b2d35f72cadef4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the SPDIF Rx left data register address. <a href="#gabd6b7be3a3b545c6f6b2d35f72cadef4">More...</a><br/></td></tr>
<tr class="separator:gabd6b7be3a3b545c6f6b2d35f72cadef4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4485709f8d45c96f5dce7dd85ecef07f"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga4485709f8d45c96f5dce7dd85ecef07f">SPDIF_RxGetRightDataRegisterAddress</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:ga4485709f8d45c96f5dce7dd85ecef07f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the SPDIF Rx right data register address. <a href="#ga4485709f8d45c96f5dce7dd85ecef07f">More...</a><br/></td></tr>
<tr class="separator:ga4485709f8d45c96f5dce7dd85ecef07f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Bus Operations</h2></td></tr>
<tr class="memitem:gad49d52850fb379566953c66bf1f93a54"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gad49d52850fb379566953c66bf1f93a54">SPDIF_TxSetSampleRate</a> (SPDIF_Type *base, uint32_t sampleRate_Hz, uint32_t sourceClockFreq_Hz)</td></tr>
<tr class="memdesc:gad49d52850fb379566953c66bf1f93a54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the SPDIF Tx sample rate. <a href="#gad49d52850fb379566953c66bf1f93a54">More...</a><br/></td></tr>
<tr class="separator:gad49d52850fb379566953c66bf1f93a54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf119e024d14a0c288b743dd17bbef687"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gaf119e024d14a0c288b743dd17bbef687">SPDIF_GetRxSampleRate</a> (SPDIF_Type *base, uint32_t clockSourceFreq_Hz)</td></tr>
<tr class="memdesc:gaf119e024d14a0c288b743dd17bbef687"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the SPDIF Rx audio format. <a href="#gaf119e024d14a0c288b743dd17bbef687">More...</a><br/></td></tr>
<tr class="separator:gaf119e024d14a0c288b743dd17bbef687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0eb427edd9cc4e5ece878563b9a6a8c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gab0eb427edd9cc4e5ece878563b9a6a8c">SPDIF_WriteBlocking</a> (SPDIF_Type *base, uint8_t *buffer, uint32_t size)</td></tr>
<tr class="memdesc:gab0eb427edd9cc4e5ece878563b9a6a8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends data using a blocking method. <a href="#gab0eb427edd9cc4e5ece878563b9a6a8c">More...</a><br/></td></tr>
<tr class="separator:gab0eb427edd9cc4e5ece878563b9a6a8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b78216d0f4af76d8b9ff82101fc8adf"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga2b78216d0f4af76d8b9ff82101fc8adf">SPDIF_WriteLeftData</a> (SPDIF_Type *base, uint32_t data)</td></tr>
<tr class="memdesc:ga2b78216d0f4af76d8b9ff82101fc8adf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes data into SPDIF FIFO. <a href="#ga2b78216d0f4af76d8b9ff82101fc8adf">More...</a><br/></td></tr>
<tr class="separator:ga2b78216d0f4af76d8b9ff82101fc8adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48edd7722d5a59091e6da7756ef25f0a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga48edd7722d5a59091e6da7756ef25f0a">SPDIF_WriteRightData</a> (SPDIF_Type *base, uint32_t data)</td></tr>
<tr class="memdesc:ga48edd7722d5a59091e6da7756ef25f0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes data into SPDIF FIFO. <a href="#ga48edd7722d5a59091e6da7756ef25f0a">More...</a><br/></td></tr>
<tr class="separator:ga48edd7722d5a59091e6da7756ef25f0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3804918ec78e961fb33b12094bf732e8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga3804918ec78e961fb33b12094bf732e8">SPDIF_WriteChannelStatusHigh</a> (SPDIF_Type *base, uint32_t data)</td></tr>
<tr class="memdesc:ga3804918ec78e961fb33b12094bf732e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes data into SPDIF FIFO. <a href="#ga3804918ec78e961fb33b12094bf732e8">More...</a><br/></td></tr>
<tr class="separator:ga3804918ec78e961fb33b12094bf732e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fd048c19cff5ef48c133ca0ffbe23c1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga6fd048c19cff5ef48c133ca0ffbe23c1">SPDIF_WriteChannelStatusLow</a> (SPDIF_Type *base, uint32_t data)</td></tr>
<tr class="memdesc:ga6fd048c19cff5ef48c133ca0ffbe23c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes data into SPDIF FIFO. <a href="#ga6fd048c19cff5ef48c133ca0ffbe23c1">More...</a><br/></td></tr>
<tr class="separator:ga6fd048c19cff5ef48c133ca0ffbe23c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2fb9e8f8bafa60358626840d0442265e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga2fb9e8f8bafa60358626840d0442265e">SPDIF_ReadBlocking</a> (SPDIF_Type *base, uint8_t *buffer, uint32_t size)</td></tr>
<tr class="memdesc:ga2fb9e8f8bafa60358626840d0442265e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receives data using a blocking method. <a href="#ga2fb9e8f8bafa60358626840d0442265e">More...</a><br/></td></tr>
<tr class="separator:ga2fb9e8f8bafa60358626840d0442265e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49e6ea71b76ff7e3e97da8ffd8cd83ea"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga49e6ea71b76ff7e3e97da8ffd8cd83ea">SPDIF_ReadLeftData</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:ga49e6ea71b76ff7e3e97da8ffd8cd83ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads data from the SPDIF FIFO. <a href="#ga49e6ea71b76ff7e3e97da8ffd8cd83ea">More...</a><br/></td></tr>
<tr class="separator:ga49e6ea71b76ff7e3e97da8ffd8cd83ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34ebdb7cd9a243303bc21cd9b16f82c3"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga34ebdb7cd9a243303bc21cd9b16f82c3">SPDIF_ReadRightData</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:ga34ebdb7cd9a243303bc21cd9b16f82c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads data from the SPDIF FIFO. <a href="#ga34ebdb7cd9a243303bc21cd9b16f82c3">More...</a><br/></td></tr>
<tr class="separator:ga34ebdb7cd9a243303bc21cd9b16f82c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6897be2df12c8df71d4f6bff5c7546c1"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga6897be2df12c8df71d4f6bff5c7546c1">SPDIF_ReadChannelStatusHigh</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:ga6897be2df12c8df71d4f6bff5c7546c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads data from the SPDIF FIFO. <a href="#ga6897be2df12c8df71d4f6bff5c7546c1">More...</a><br/></td></tr>
<tr class="separator:ga6897be2df12c8df71d4f6bff5c7546c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23d1a99377b7f4b26c25a79ece8231ad"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga23d1a99377b7f4b26c25a79ece8231ad">SPDIF_ReadChannelStatusLow</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:ga23d1a99377b7f4b26c25a79ece8231ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads data from the SPDIF FIFO. <a href="#ga23d1a99377b7f4b26c25a79ece8231ad">More...</a><br/></td></tr>
<tr class="separator:ga23d1a99377b7f4b26c25a79ece8231ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a5d474af2b6b256df0bf650dd8154c0"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga7a5d474af2b6b256df0bf650dd8154c0">SPDIF_ReadQChannel</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:ga7a5d474af2b6b256df0bf650dd8154c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads data from the SPDIF FIFO. <a href="#ga7a5d474af2b6b256df0bf650dd8154c0">More...</a><br/></td></tr>
<tr class="separator:ga7a5d474af2b6b256df0bf650dd8154c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac0f070017fc4e1db6b0ceeef990c3f7e"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gac0f070017fc4e1db6b0ceeef990c3f7e">SPDIF_ReadUChannel</a> (SPDIF_Type *base)</td></tr>
<tr class="memdesc:gac0f070017fc4e1db6b0ceeef990c3f7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads data from the SPDIF FIFO. <a href="#gac0f070017fc4e1db6b0ceeef990c3f7e">More...</a><br/></td></tr>
<tr class="separator:gac0f070017fc4e1db6b0ceeef990c3f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Transactional</h2></td></tr>
<tr class="memitem:ga2e4eb257e2da537eb2d47a31ea47fbb6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga2e4eb257e2da537eb2d47a31ea47fbb6">SPDIF_TransferTxCreateHandle</a> (SPDIF_Type *base, <a class="el" href="a00074.html#a00502">spdif_handle_t</a> *handle, <a class="el" href="a00074.html#ga8749a36136a9b55600479d61b55596ec">spdif_transfer_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:ga2e4eb257e2da537eb2d47a31ea47fbb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the SPDIF Tx handle. <a href="#ga2e4eb257e2da537eb2d47a31ea47fbb6">More...</a><br/></td></tr>
<tr class="separator:ga2e4eb257e2da537eb2d47a31ea47fbb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac44c0edc9e22798fb840f38f1c3749ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gac44c0edc9e22798fb840f38f1c3749ba">SPDIF_TransferRxCreateHandle</a> (SPDIF_Type *base, <a class="el" href="a00074.html#a00502">spdif_handle_t</a> *handle, <a class="el" href="a00074.html#ga8749a36136a9b55600479d61b55596ec">spdif_transfer_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:gac44c0edc9e22798fb840f38f1c3749ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the SPDIF Rx handle. <a href="#gac44c0edc9e22798fb840f38f1c3749ba">More...</a><br/></td></tr>
<tr class="separator:gac44c0edc9e22798fb840f38f1c3749ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga155e14a0591e50af578cb8309171c112"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga155e14a0591e50af578cb8309171c112">SPDIF_TransferSendNonBlocking</a> (SPDIF_Type *base, <a class="el" href="a00074.html#a00502">spdif_handle_t</a> *handle, <a class="el" href="a00074.html#ga28534824bc9ce4a5a406e928bcbdd7d1">spdif_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga155e14a0591e50af578cb8309171c112"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an interrupt non-blocking send transfer on SPDIF. <a href="#ga155e14a0591e50af578cb8309171c112">More...</a><br/></td></tr>
<tr class="separator:ga155e14a0591e50af578cb8309171c112"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04fe7c5e2cf560687b07f5de908da255"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga04fe7c5e2cf560687b07f5de908da255">SPDIF_TransferReceiveNonBlocking</a> (SPDIF_Type *base, <a class="el" href="a00074.html#a00502">spdif_handle_t</a> *handle, <a class="el" href="a00074.html#ga28534824bc9ce4a5a406e928bcbdd7d1">spdif_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga04fe7c5e2cf560687b07f5de908da255"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an interrupt non-blocking receive transfer on SPDIF. <a href="#ga04fe7c5e2cf560687b07f5de908da255">More...</a><br/></td></tr>
<tr class="separator:ga04fe7c5e2cf560687b07f5de908da255"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56e6fe5a91de5d1f38896128c4958a94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga56e6fe5a91de5d1f38896128c4958a94">SPDIF_TransferGetSendCount</a> (SPDIF_Type *base, <a class="el" href="a00074.html#a00502">spdif_handle_t</a> *handle, size_t *count)</td></tr>
<tr class="memdesc:ga56e6fe5a91de5d1f38896128c4958a94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a set byte count. <a href="#ga56e6fe5a91de5d1f38896128c4958a94">More...</a><br/></td></tr>
<tr class="separator:ga56e6fe5a91de5d1f38896128c4958a94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad53ad9d352550e8fa84a3200ee977c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gaad53ad9d352550e8fa84a3200ee977c9">SPDIF_TransferGetReceiveCount</a> (SPDIF_Type *base, <a class="el" href="a00074.html#a00502">spdif_handle_t</a> *handle, size_t *count)</td></tr>
<tr class="memdesc:gaad53ad9d352550e8fa84a3200ee977c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a received byte count. <a href="#gaad53ad9d352550e8fa84a3200ee977c9">More...</a><br/></td></tr>
<tr class="separator:gaad53ad9d352550e8fa84a3200ee977c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga004b052fdaa3fd78dd7bafc721b28f0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga004b052fdaa3fd78dd7bafc721b28f0c">SPDIF_TransferAbortSend</a> (SPDIF_Type *base, <a class="el" href="a00074.html#a00502">spdif_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga004b052fdaa3fd78dd7bafc721b28f0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the current send. <a href="#ga004b052fdaa3fd78dd7bafc721b28f0c">More...</a><br/></td></tr>
<tr class="separator:ga004b052fdaa3fd78dd7bafc721b28f0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5dd15b214687cf6a120142b0152ac18c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga5dd15b214687cf6a120142b0152ac18c">SPDIF_TransferAbortReceive</a> (SPDIF_Type *base, <a class="el" href="a00074.html#a00502">spdif_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga5dd15b214687cf6a120142b0152ac18c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the current IRQ receive. <a href="#ga5dd15b214687cf6a120142b0152ac18c">More...</a><br/></td></tr>
<tr class="separator:ga5dd15b214687cf6a120142b0152ac18c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14adaa4280f963a9e6c0b6d760173182"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ga14adaa4280f963a9e6c0b6d760173182">SPDIF_TransferTxHandleIRQ</a> (SPDIF_Type *base, <a class="el" href="a00074.html#a00502">spdif_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga14adaa4280f963a9e6c0b6d760173182"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tx interrupt handler. <a href="#ga14adaa4280f963a9e6c0b6d760173182">More...</a><br/></td></tr>
<tr class="separator:ga14adaa4280f963a9e6c0b6d760173182"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1ab4a1d05d2e708ab9896f0131506b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#gaa1ab4a1d05d2e708ab9896f0131506b4">SPDIF_TransferRxHandleIRQ</a> (SPDIF_Type *base, <a class="el" href="a00074.html#a00502">spdif_handle_t</a> *handle)</td></tr>
<tr class="memdesc:gaa1ab4a1d05d2e708ab9896f0131506b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tx interrupt handler. <a href="#gaa1ab4a1d05d2e708ab9896f0131506b4">More...</a><br/></td></tr>
<tr class="separator:gaa1ab4a1d05d2e708ab9896f0131506b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00499" id="a00499"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _spdif_config</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:aa4517cb68d744372f2ce87a7b9e488e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4517cb68d744372f2ce87a7b9e488e3"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#aa4517cb68d744372f2ce87a7b9e488e3">isTxAutoSync</a></td></tr>
<tr class="memdesc:aa4517cb68d744372f2ce87a7b9e488e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">If auto sync mechanism open. <br/></td></tr>
<tr class="separator:aa4517cb68d744372f2ce87a7b9e488e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a844a072728febf66bd575d1cdc40508f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a844a072728febf66bd575d1cdc40508f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a844a072728febf66bd575d1cdc40508f">isRxAutoSync</a></td></tr>
<tr class="memdesc:a844a072728febf66bd575d1cdc40508f"><td class="mdescLeft">&#160;</td><td class="mdescRight">If auto sync mechanism open. <br/></td></tr>
<tr class="separator:a844a072728febf66bd575d1cdc40508f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a317fb7ffb1c8ada5b9fe222e141c26e6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a317fb7ffb1c8ada5b9fe222e141c26e6"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a317fb7ffb1c8ada5b9fe222e141c26e6">DPLLClkSource</a></td></tr>
<tr class="memdesc:a317fb7ffb1c8ada5b9fe222e141c26e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF DPLL clock source, range from 0~15, meaning is chip-specific. <br/></td></tr>
<tr class="separator:a317fb7ffb1c8ada5b9fe222e141c26e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27d7c8aae18da6430ca575d6e55fc725"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27d7c8aae18da6430ca575d6e55fc725"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a27d7c8aae18da6430ca575d6e55fc725">txClkSource</a></td></tr>
<tr class="memdesc:a27d7c8aae18da6430ca575d6e55fc725"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF tx clock source, range from 0~7, meaning is chip-specific. <br/></td></tr>
<tr class="separator:a27d7c8aae18da6430ca575d6e55fc725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab277efcc9f50ddc45f85b368d355f83"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab277efcc9f50ddc45f85b368d355f83"></a>
<a class="el" href="a00074.html#ga320a1ffa3db7e37a913734da0a4b543a">spdif_rxfull_select_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#aab277efcc9f50ddc45f85b368d355f83">rxFullSelect</a></td></tr>
<tr class="memdesc:aab277efcc9f50ddc45f85b368d355f83"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF rx buffer full select. <br/></td></tr>
<tr class="separator:aab277efcc9f50ddc45f85b368d355f83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e712702364cc4c68382475b6463b40e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e712702364cc4c68382475b6463b40e"></a>
<a class="el" href="a00074.html#gad5e952acb85913061d39f05cb69bcf77">spdif_txempty_select_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a9e712702364cc4c68382475b6463b40e">txFullSelect</a></td></tr>
<tr class="memdesc:a9e712702364cc4c68382475b6463b40e"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF tx buffer empty select. <br/></td></tr>
<tr class="separator:a9e712702364cc4c68382475b6463b40e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca785604664026f05093edd6eca97948"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca785604664026f05093edd6eca97948"></a>
<a class="el" href="a00074.html#gad86c23303f42359f3de0f5da856fb962">spdif_uchannel_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#aca785604664026f05093edd6eca97948">uChannelSrc</a></td></tr>
<tr class="memdesc:aca785604664026f05093edd6eca97948"><td class="mdescLeft">&#160;</td><td class="mdescRight">U channel source. <br/></td></tr>
<tr class="separator:aca785604664026f05093edd6eca97948"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a949e8755e255e2f9e93603e13b939cb4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a949e8755e255e2f9e93603e13b939cb4"></a>
<a class="el" href="a00074.html#gad790d7edfb44e6a208654ff59bddfd80">spdif_tx_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a949e8755e255e2f9e93603e13b939cb4">txSource</a></td></tr>
<tr class="memdesc:a949e8755e255e2f9e93603e13b939cb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPDIF tx data source. <br/></td></tr>
<tr class="separator:a949e8755e255e2f9e93603e13b939cb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a83edf589636900df9dc414f5c0641d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a83edf589636900df9dc414f5c0641d"></a>
<a class="el" href="a00074.html#gac1f3df5dcf4d4d971698c59a95f21bbf">spdif_validity_config_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a9a83edf589636900df9dc414f5c0641d">validityConfig</a></td></tr>
<tr class="memdesc:a9a83edf589636900df9dc414f5c0641d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Validity flag config. <br/></td></tr>
<tr class="separator:a9a83edf589636900df9dc414f5c0641d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a1e182777e71240d7f049c77cb51cf2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00074.html#ga962e90838e3ed4e55c4b541344221eb2">spdif_gain_select_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a3a1e182777e71240d7f049c77cb51cf2">gain</a></td></tr>
<tr class="memdesc:a3a1e182777e71240d7f049c77cb51cf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rx receive clock measure gain parameter. <a href="#a3a1e182777e71240d7f049c77cb51cf2">More...</a><br/></td></tr>
<tr class="separator:a3a1e182777e71240d7f049c77cb51cf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a3a1e182777e71240d7f049c77cb51cf2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00074.html#ga962e90838e3ed4e55c4b541344221eb2">spdif_gain_select_t</a> _spdif_config::gain</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00503" id="a00503"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _spdif_transfer</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:abcf8d94d75e7f058279e233dc2503939"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#abcf8d94d75e7f058279e233dc2503939">data</a></td></tr>
<tr class="memdesc:abcf8d94d75e7f058279e233dc2503939"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data start address to transfer. <a href="#abcf8d94d75e7f058279e233dc2503939">More...</a><br/></td></tr>
<tr class="separator:abcf8d94d75e7f058279e233dc2503939"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1b12b4293ba55b403ee57e5c8dfd736"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1b12b4293ba55b403ee57e5c8dfd736"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#aa1b12b4293ba55b403ee57e5c8dfd736">qdata</a></td></tr>
<tr class="memdesc:aa1b12b4293ba55b403ee57e5c8dfd736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data buffer for Q channel. <br/></td></tr>
<tr class="separator:aa1b12b4293ba55b403ee57e5c8dfd736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97fadb7029753c1a233c78402b862c07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97fadb7029753c1a233c78402b862c07"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a97fadb7029753c1a233c78402b862c07">udata</a></td></tr>
<tr class="memdesc:a97fadb7029753c1a233c78402b862c07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data buffer for C channel. <br/></td></tr>
<tr class="separator:a97fadb7029753c1a233c78402b862c07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a7daba96589ecab4566b880160d80d1"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a7a7daba96589ecab4566b880160d80d1">dataSize</a></td></tr>
<tr class="memdesc:a7a7daba96589ecab4566b880160d80d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer size. <a href="#a7a7daba96589ecab4566b880160d80d1">More...</a><br/></td></tr>
<tr class="separator:a7a7daba96589ecab4566b880160d80d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="abcf8d94d75e7f058279e233dc2503939"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* _spdif_transfer::data</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7a7daba96589ecab4566b880160d80d1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t _spdif_transfer::dataSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00502" id="a00502"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _spdif_handle</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a469195fd1f8b0f1680cce1646df7cf9d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a469195fd1f8b0f1680cce1646df7cf9d"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a469195fd1f8b0f1680cce1646df7cf9d">state</a></td></tr>
<tr class="memdesc:a469195fd1f8b0f1680cce1646df7cf9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer status. <br/></td></tr>
<tr class="separator:a469195fd1f8b0f1680cce1646df7cf9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89241af3b25fc4576db13a20bce66a1f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89241af3b25fc4576db13a20bce66a1f"></a>
<a class="el" href="a00074.html#ga8749a36136a9b55600479d61b55596ec">spdif_transfer_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a89241af3b25fc4576db13a20bce66a1f">callback</a></td></tr>
<tr class="memdesc:a89241af3b25fc4576db13a20bce66a1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function called at transfer event. <br/></td></tr>
<tr class="separator:a89241af3b25fc4576db13a20bce66a1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d1e4bb795cb18be133473bdd42981f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d1e4bb795cb18be133473bdd42981f4"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a8d1e4bb795cb18be133473bdd42981f4">userData</a></td></tr>
<tr class="memdesc:a8d1e4bb795cb18be133473bdd42981f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback parameter passed to callback function. <br/></td></tr>
<tr class="separator:a8d1e4bb795cb18be133473bdd42981f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3654232d539ca7669796633e16cf600"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3654232d539ca7669796633e16cf600"></a>
<a class="el" href="a00074.html#ga28534824bc9ce4a5a406e928bcbdd7d1">spdif_transfer_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ad3654232d539ca7669796633e16cf600">spdifQueue</a> [<a class="el" href="a00074.html#ga3e78a3155b1291a9fa00d0461d6e490c">SPDIF_XFER_QUEUE_SIZE</a>]</td></tr>
<tr class="memdesc:ad3654232d539ca7669796633e16cf600"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer queue storing queued transfer. <br/></td></tr>
<tr class="separator:ad3654232d539ca7669796633e16cf600"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37c9c8e6a31eeb43437cedbbb05ef1b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37c9c8e6a31eeb43437cedbbb05ef1b9"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a37c9c8e6a31eeb43437cedbbb05ef1b9">transferSize</a> [<a class="el" href="a00074.html#ga3e78a3155b1291a9fa00d0461d6e490c">SPDIF_XFER_QUEUE_SIZE</a>]</td></tr>
<tr class="memdesc:a37c9c8e6a31eeb43437cedbbb05ef1b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data bytes need to transfer. <br/></td></tr>
<tr class="separator:a37c9c8e6a31eeb43437cedbbb05ef1b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bbb6f77648bf22c5e897550ec08c1ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4bbb6f77648bf22c5e897550ec08c1ee"></a>
volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a4bbb6f77648bf22c5e897550ec08c1ee">queueUser</a></td></tr>
<tr class="memdesc:a4bbb6f77648bf22c5e897550ec08c1ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index for user to queue transfer. <br/></td></tr>
<tr class="separator:a4bbb6f77648bf22c5e897550ec08c1ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8fbcfb70e31ce4b427cf8989555c86a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac8fbcfb70e31ce4b427cf8989555c86a"></a>
volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#ac8fbcfb70e31ce4b427cf8989555c86a">queueDriver</a></td></tr>
<tr class="memdesc:ac8fbcfb70e31ce4b427cf8989555c86a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index for driver to get the transfer data and size. <br/></td></tr>
<tr class="separator:ac8fbcfb70e31ce4b427cf8989555c86a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1edd8fe8442511be2f678b56fb87bc13"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1edd8fe8442511be2f678b56fb87bc13"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a1edd8fe8442511be2f678b56fb87bc13">watermark</a></td></tr>
<tr class="memdesc:a1edd8fe8442511be2f678b56fb87bc13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Watermark value. <br/></td></tr>
<tr class="separator:a1edd8fe8442511be2f678b56fb87bc13"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga3e78a3155b1291a9fa00d0461d6e490c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SPDIF_XFER_QUEUE_SIZE&#160;&#160;&#160;(4U)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gaf8654c714018c6241d9ebd01f3fb5a26"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a0489bbc59ac12902e0cf3c134e72363e"></a>kStatus_SPDIF_RxDPLLLocked</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx PLL locked. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a278a5b9459f7c6a06b0026d00ecc63cd"></a>kStatus_SPDIF_TxFIFOError</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Tx FIFO error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a051d7f8261885f910a4f04c4a7a8f410"></a>kStatus_SPDIF_TxFIFOResync</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Tx left and right FIFO resync. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a259512eb9a030bbc2188b71008058808"></a>kStatus_SPDIF_RxCnew</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx status channel value updated. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a6da0731f8caeb6cc08bb5f8190d01f30"></a>kStatus_SPDIF_ValidatyNoGood</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF validaty flag not good. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a2da36cd8a86bdfa8d9b4fead3dd543ad"></a>kStatus_SPDIF_RxIllegalSymbol</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx receive illegal symbol. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26afe0341b5aea2f8946c5a5a102e676483"></a>kStatus_SPDIF_RxParityBitError</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx parity bit error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a02d356ebee96b06bd87d13551d09e73f"></a>kStatus_SPDIF_UChannelOverrun</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF receive U channel overrun. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a07b3373290d7d037ff3a859132967d53"></a>kStatus_SPDIF_QChannelOverrun</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF receive Q channel overrun. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a3a6c65eabeb242b3910327da198c87d3"></a>kStatus_SPDIF_UQChannelSync</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF U/Q channel sync found. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26af44eacef3e48bd00a1fd5e08c550f9cb"></a>kStatus_SPDIF_UQChannelFrameError</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF U/Q channel frame error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a2360fecc1ffe49c63f8dd5b64905a33a"></a>kStatus_SPDIF_RxFIFOError</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx FIFO error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26ab206b050696acf5758e8b6c0bdf5b6fa"></a>kStatus_SPDIF_RxFIFOResync</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx left and right FIFO resync. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a9390ad9ad5ce85f7224c759604f5a194"></a>kStatus_SPDIF_LockLoss</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx PLL clock lock loss. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a646939956dd08768873e67af0e2690fc"></a>kStatus_SPDIF_TxIdle</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Tx is idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26ac458cedc1f2f208c0e04e3f532dc0595"></a>kStatus_SPDIF_RxIdle</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx is idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf8654c714018c6241d9ebd01f3fb5a26a700d25ed1454e469f32de0ade5a78e87"></a>kStatus_SPDIF_QueueFull</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF queue full. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaf027e919562bb13e676d936e5fe9f102"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00074.html#gaf027e919562bb13e676d936e5fe9f102">_spdif_rxfull_select</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaf027e919562bb13e676d936e5fe9f102ad6a45c3b1bb3397ce7dd2e5c9af8c1c9"></a>kSPDIF_RxFull1Sample</em>&nbsp;</td><td class="fielddoc">
<p>Rx full at least 1 sample in left and right FIFO. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf027e919562bb13e676d936e5fe9f102a84f7309ca36974eefa1a2d970eba7995"></a>kSPDIF_RxFull4Samples</em>&nbsp;</td><td class="fielddoc">
<p>Rx full at least 4 sample in left and right FIFO. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf027e919562bb13e676d936e5fe9f102a71af34697ac17ca08eb26d7c4d6dd27f"></a>kSPDIF_RxFull8Samples</em>&nbsp;</td><td class="fielddoc">
<p>Rx full at least 8 sample in left and right FIFO. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf027e919562bb13e676d936e5fe9f102ab585922a28236a3e9b8cffbdd3793cee"></a>kSPDIF_RxFull16Samples</em>&nbsp;</td><td class="fielddoc">
<p>Rx full at least 16 sample in left and right FIFO. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga9a8390010ef72478e96c1dddd694af4a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00074.html#ga9a8390010ef72478e96c1dddd694af4a">_spdif_txempty_select</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga9a8390010ef72478e96c1dddd694af4aa835efeacfa1b7bc07a723c3683407b4e"></a>kSPDIF_TxEmpty0Sample</em>&nbsp;</td><td class="fielddoc">
<p>Tx empty at most 0 sample in left and right FIFO. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga9a8390010ef72478e96c1dddd694af4aa38d0ed7a9ff015721f0edcd71d696e18"></a>kSPDIF_TxEmpty4Samples</em>&nbsp;</td><td class="fielddoc">
<p>Tx empty at most 4 sample in left and right FIFO. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga9a8390010ef72478e96c1dddd694af4aafbd58fcc26965a9b45865764d775284f"></a>kSPDIF_TxEmpty8Samples</em>&nbsp;</td><td class="fielddoc">
<p>Tx empty at most 8 sample in left and right FIFO. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga9a8390010ef72478e96c1dddd694af4aa9c74437e11128b87fbd5bb644c4790e4"></a>kSPDIF_TxEmpty12Samples</em>&nbsp;</td><td class="fielddoc">
<p>Tx empty at most 12 sample in left and right FIFO. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga8e291cb75c4b998ed720a09df3bdd293"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00074.html#ga8e291cb75c4b998ed720a09df3bdd293">_spdif_uchannel_source</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga8e291cb75c4b998ed720a09df3bdd293af159efd3316b59e34b7288448c4b8c4f"></a>kSPDIF_NoUChannel</em>&nbsp;</td><td class="fielddoc">
<p>No embedded U channel. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga8e291cb75c4b998ed720a09df3bdd293aec4bf6dbe6a1346b33c59c392ea1fbe6"></a>kSPDIF_UChannelFromRx</em>&nbsp;</td><td class="fielddoc">
<p>U channel from receiver, it is CD mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga8e291cb75c4b998ed720a09df3bdd293a65a3b2cbcb558fdc5870f009d9d6bd80"></a>kSPDIF_UChannelFromTx</em>&nbsp;</td><td class="fielddoc">
<p>U channel from on chip tx. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga647e0927c74f8e7d9c8017cd9caffacf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00074.html#ga647e0927c74f8e7d9c8017cd9caffacf">_spdif_gain_select</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga647e0927c74f8e7d9c8017cd9caffacfac438b3169eb2675d11540a839e99f502"></a>kSPDIF_GAIN_24</em>&nbsp;</td><td class="fielddoc">
<p>Gain select is 24. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga647e0927c74f8e7d9c8017cd9caffacfaa776465b4de5bf2fa610f1c2366c063f"></a>kSPDIF_GAIN_16</em>&nbsp;</td><td class="fielddoc">
<p>Gain select is 16. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga647e0927c74f8e7d9c8017cd9caffacfad54dc0e7908199d3fe24ef53d608b544"></a>kSPDIF_GAIN_12</em>&nbsp;</td><td class="fielddoc">
<p>Gain select is 12. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga647e0927c74f8e7d9c8017cd9caffacfaafee91827c9ea238ad6d6478718e98a0"></a>kSPDIF_GAIN_8</em>&nbsp;</td><td class="fielddoc">
<p>Gain select is 8. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga647e0927c74f8e7d9c8017cd9caffacfa16500e129c2451b60faf4a3f4464df43"></a>kSPDIF_GAIN_6</em>&nbsp;</td><td class="fielddoc">
<p>Gain select is 6. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga647e0927c74f8e7d9c8017cd9caffacfa84750080b7f27da810fe19abe64f776f"></a>kSPDIF_GAIN_4</em>&nbsp;</td><td class="fielddoc">
<p>Gain select is 4. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga647e0927c74f8e7d9c8017cd9caffacfa1008286af785dcb2dde9131765217980"></a>kSPDIF_GAIN_3</em>&nbsp;</td><td class="fielddoc">
<p>Gain select is 3. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gad738631e5a1776692ef90fa6e8034ba3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00074.html#gad738631e5a1776692ef90fa6e8034ba3">_spdif_tx_source</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad738631e5a1776692ef90fa6e8034ba3affd9df4017e5af840e5c34c050791f02"></a>kSPDIF_txFromReceiver</em>&nbsp;</td><td class="fielddoc">
<p>Tx data directly through SPDIF receiver. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad738631e5a1776692ef90fa6e8034ba3a1e6073994dc81cb60c229a8ce166222f"></a>kSPDIF_txNormal</em>&nbsp;</td><td class="fielddoc">
<p>Normal operation, data from processor. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga1d5ee2686337a0582f65b0d551088b32"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00074.html#ga1d5ee2686337a0582f65b0d551088b32">_spdif_validity_config</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga1d5ee2686337a0582f65b0d551088b32a9cf3c378520222b1ffe3e584cae0ac67"></a>kSPDIF_validityFlagAlwaysSet</em>&nbsp;</td><td class="fielddoc">
<p>Outgoing validity flags always set. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1d5ee2686337a0582f65b0d551088b32a96145e43a2a36d2c7dcd6ce5242743b1"></a>kSPDIF_validityFlagAlwaysClear</em>&nbsp;</td><td class="fielddoc">
<p>Outgoing validity flags always clear. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga2f80701c36e79c0640d91c788feee0b3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3ab8774a200c36eccf9d7b439ba21d1ac8"></a>kSPDIF_RxDPLLLocked</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF DPLL locked. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a74d3b2d4e4ee35eed58f4d30c6d2709b"></a>kSPDIF_TxFIFOError</em>&nbsp;</td><td class="fielddoc">
<p>Tx FIFO underrun or overrun. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3af40104f71f214bb1c0a6a2c0fdcdaf36"></a>kSPDIF_TxFIFOResync</em>&nbsp;</td><td class="fielddoc">
<p>Tx FIFO left and right channel resync. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a5917028824aefbf16086b3021e414340"></a>kSPDIF_RxControlChannelChange</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx control channel value changed. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a7de7b2231ecb6e20e43d0494fe92e63c"></a>kSPDIF_ValidityFlagNoGood</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF validity flag no good. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3aa71c8ef82de54ffac949e31010d031de"></a>kSPDIF_RxIllegalSymbol</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF receiver found illegal symbol. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a1838e42bf8376a18762297b6aa3c4472"></a>kSPDIF_RxParityBitError</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF receiver found parity bit error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3ad228d31963d41a20e3567ce6f633acc6"></a>kSPDIF_UChannelReceiveRegisterFull</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF U channel revceive register full. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a3b7dc66169552ca7798d686d68de6b7d"></a>kSPDIF_UChannelReceiveRegisterOverrun</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF U channel receive register overrun. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a80ac61a0edef14ba03035176ab326331"></a>kSPDIF_QChannelReceiveRegisterFull</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Q channel receive reigster full. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a64e59711062fadb98877919d7c5887e9"></a>kSPDIF_QChannelReceiveRegisterOverrun</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Q channel receive register overrun. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a6e94d542bd83c5bfc043fdbc44fcd43b"></a>kSPDIF_UQChannelSync</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF U/Q channel sync found. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3ac07a719f553a9e41bf3e082a5beaf107"></a>kSPDIF_UQChannelFrameError</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF U/Q channel frame error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a1a27bda77a59e1db5a1913bb8971281a"></a>kSPDIF_RxFIFOError</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx FIFO underrun/overrun. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3ad2e29bb00f59f56babeebd1f0e73726a"></a>kSPDIF_RxFIFOResync</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx left and right FIFO resync. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a1f134eebfeb0740e56c13c9b45fb8434"></a>kSPDIF_LockLoss</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF receiver loss of lock. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a82af9fd1290d8b3b63420b8d92257819"></a>kSPDIF_TxFIFOEmpty</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Tx FIFO empty. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3a9797531448d68e40b3befb91810bd09c"></a>kSPDIF_RxFIFOFull</em>&nbsp;</td><td class="fielddoc">
<p>SPDIF Rx FIFO full. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2f80701c36e79c0640d91c788feee0b3af55570f1f8a886f06d64ed2bfc0650a4"></a>kSPDIF_AllInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>all interrupt </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga531c35e38ede3ea4e5ba5afb24b29493"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga531c35e38ede3ea4e5ba5afb24b29493a19fc49573180ffcc3df5f9a27c797209"></a>kSPDIF_RxDMAEnable</em>&nbsp;</td><td class="fielddoc">
<p>Rx FIFO full. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga531c35e38ede3ea4e5ba5afb24b29493ad508f6bf16fd6349b03fc8f3b38d06e8"></a>kSPDIF_TxDMAEnable</em>&nbsp;</td><td class="fielddoc">
<p>Tx FIFO empty. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga6b4e9ed2c903d62af53a8d3887126413"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_Init </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00074.html#ga42bdaae7a8b6823fab001c8282269fd4">spdif_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ungates the SPDIF clock, resets the module, and configures SPDIF with a configuration structure. The configuration structure can be custom filled or set with default values by <a class="el" href="a00074.html#ga11b262ea3923fd80f78b959d9718e00b" title="Sets the SPDIF configuration structure to default values. ">SPDIF_GetDefaultConfig()</a>.</p>
<dl class="section note"><dt>Note</dt><dd>This API should be called at the beginning of the application to use the SPDIF driver. Otherwise, accessing the SPDIF module can cause a hard fault because the clock is not enabled.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
<tr><td class="paramname">config</td><td>SPDIF configuration structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga11b262ea3923fd80f78b959d9718e00b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_GetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00074.html#ga42bdaae7a8b6823fab001c8282269fd4">spdif_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This API initializes the configuration structure for use in SPDIF_Init. The initialized structure can remain unchanged in SPDIF_Init, or it can be modified before calling SPDIF_Init. This is an example. </p>
<div class="fragment"><div class="line"><a class="code" href="a00074.html#a00499">spdif_config_t</a> config;</div>
<div class="line"><a class="code" href="a00074.html#ga11b262ea3923fd80f78b959d9718e00b">SPDIF_GetDefaultConfig</a>(&amp;config);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>pointer to master configuration structure </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2631baffebf03ec2a587580112dd56f3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_Deinit </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This API gates the SPDIF clock. The SPDIF module can't operate unless SPDIF_Init is called to enable the clock.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gacbd5fc4df43e1a249493b5324f94e54d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t SPDIF_GetInstance </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga85e3497baec03b34f728541154ccc31d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPDIF_TxFIFOReset </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function makes Tx FIFO in reset mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa74cc12474982eb7c46adaa7d4891626"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPDIF_RxFIFOReset </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function enables the software reset and FIFO reset of SPDIF Rx. After reset, clear the reset bit.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5b76be7fc7148dec7d4493398103a94d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_TxEnable </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
<tr><td class="paramname">enable</td><td>True means enable SPDIF Tx, false means disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad705a47a3b61bb334125e54fc70ed2ae"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPDIF_RxEnable </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
<tr><td class="paramname">enable</td><td>True means enable SPDIF Rx, false means disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gafe28766cd0629d77c2ec2f5986155ee7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SPDIF_GetStatusFlag </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SPDIF status flag value. Use the _spdif_interrupt_enable_t to get the status value needed. </dd></dl>
</div>
</div>
<a class="anchor" id="ga39bddc0768ce21bbbd6d3eae837b206e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPDIF_ClearStatusFlags </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
<tr><td class="paramname">mask</td><td>State mask. It can be a combination of the _spdif_interrupt_enable_t member. Notice these members cannot be included, as these flags cannot be cleared by writing 1 to these bits: <ul>
<li>kSPDIF_UChannelReceiveRegisterFull </li>
<li>kSPDIF_QChannelReceiveRegisterFull </li>
<li>kSPDIF_TxFIFOEmpty </li>
<li>kSPDIF_RxFIFOFull </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga487f880569d931ee08c74a83332862ae"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPDIF_EnableInterrupts </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
<tr><td class="paramname">mask</td><td>interrupt source The parameter can be a combination of the following sources if defined. <ul>
<li>kSPDIF_WordStartInterruptEnable </li>
<li>kSPDIF_SyncErrorInterruptEnable </li>
<li>kSPDIF_FIFOWarningInterruptEnable </li>
<li>kSPDIF_FIFORequestInterruptEnable </li>
<li>kSPDIF_FIFOErrorInterruptEnable </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga0c0c7200763825eba3f10bbe7d3439b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPDIF_DisableInterrupts </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
<tr><td class="paramname">mask</td><td>interrupt source The parameter can be a combination of the following sources if defined. <ul>
<li>kSPDIF_WordStartInterruptEnable </li>
<li>kSPDIF_SyncErrorInterruptEnable </li>
<li>kSPDIF_FIFOWarningInterruptEnable </li>
<li>kSPDIF_FIFORequestInterruptEnable </li>
<li>kSPDIF_FIFOErrorInterruptEnable </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga1d4992842b29cef3c71ad5b5fbd664d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPDIF_EnableDMA </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
<tr><td class="paramname">mask</td><td>SPDIF DMA enable mask, The parameter can be a combination of the following sources if defined <ul>
<li>kSPDIF_RxDMAEnable </li>
<li>kSPDIF_TxDMAEnable </li>
</ul>
</td></tr>
<tr><td class="paramname">enable</td><td>True means enable DMA, false means disable DMA. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga72dc7737eb0911c1c887d53cf9e1c8ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SPDIF_TxGetLeftDataRegisterAddress </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This API is used to provide a transfer address for the SPDIF DMA transfer configuration.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>data register address. </dd></dl>
</div>
</div>
<a class="anchor" id="gad6fe7d183782a4d078e0cd182d5859a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SPDIF_TxGetRightDataRegisterAddress </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This API is used to provide a transfer address for the SPDIF DMA transfer configuration.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>data register address. </dd></dl>
</div>
</div>
<a class="anchor" id="gabd6b7be3a3b545c6f6b2d35f72cadef4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SPDIF_RxGetLeftDataRegisterAddress </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This API is used to provide a transfer address for the SPDIF DMA transfer configuration.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>data register address. </dd></dl>
</div>
</div>
<a class="anchor" id="ga4485709f8d45c96f5dce7dd85ecef07f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SPDIF_RxGetRightDataRegisterAddress </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This API is used to provide a transfer address for the SPDIF DMA transfer configuration.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>data register address. </dd></dl>
</div>
</div>
<a class="anchor" id="gad49d52850fb379566953c66bf1f93a54"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_TxSetSampleRate </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>sampleRate_Hz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>sourceClockFreq_Hz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The audio format can be changed at run-time. This function configures the sample rate.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">sampleRate_Hz</td><td>SPDIF sample rate frequency in Hz. </td></tr>
<tr><td class="paramname">sourceClockFreq_Hz</td><td>SPDIF tx clock source frequency in Hz. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf119e024d14a0c288b743dd17bbef687"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t SPDIF_GetRxSampleRate </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>clockSourceFreq_Hz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The audio format can be changed at run-time. This function configures the sample rate and audio data format to be transferred.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">clockSourceFreq_Hz</td><td>SPDIF system clock frequency in hz. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab0eb427edd9cc4e5ece878563b9a6a8c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_WriteBlocking </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This function blocks by polling until data is ready to be sent.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">buffer</td><td>Pointer to the data to be written. </td></tr>
<tr><td class="paramname">size</td><td>Bytes to be written. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2b78216d0f4af76d8b9ff82101fc8adf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPDIF_WriteLeftData </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">data</td><td>Data needs to be written. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga48edd7722d5a59091e6da7756ef25f0a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPDIF_WriteRightData </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">data</td><td>Data needs to be written. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga3804918ec78e961fb33b12094bf732e8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPDIF_WriteChannelStatusHigh </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">data</td><td>Data needs to be written. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6fd048c19cff5ef48c133ca0ffbe23c1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPDIF_WriteChannelStatusLow </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">data</td><td>Data needs to be written. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2fb9e8f8bafa60358626840d0442265e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_ReadBlocking </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This function blocks by polling until data is ready to be sent.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">buffer</td><td>Pointer to the data to be read. </td></tr>
<tr><td class="paramname">size</td><td>Bytes to be read. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga49e6ea71b76ff7e3e97da8ffd8cd83ea"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SPDIF_ReadLeftData </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Data in SPDIF FIFO. </dd></dl>
</div>
</div>
<a class="anchor" id="ga34ebdb7cd9a243303bc21cd9b16f82c3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SPDIF_ReadRightData </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Data in SPDIF FIFO. </dd></dl>
</div>
</div>
<a class="anchor" id="ga6897be2df12c8df71d4f6bff5c7546c1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SPDIF_ReadChannelStatusHigh </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Data in SPDIF FIFO. </dd></dl>
</div>
</div>
<a class="anchor" id="ga23d1a99377b7f4b26c25a79ece8231ad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SPDIF_ReadChannelStatusLow </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Data in SPDIF FIFO. </dd></dl>
</div>
</div>
<a class="anchor" id="ga7a5d474af2b6b256df0bf650dd8154c0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SPDIF_ReadQChannel </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Data in SPDIF FIFO. </dd></dl>
</div>
</div>
<a class="anchor" id="gac0f070017fc4e1db6b0ceeef990c3f7e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SPDIF_ReadUChannel </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Data in SPDIF FIFO. </dd></dl>
</div>
</div>
<a class="anchor" id="ga2e4eb257e2da537eb2d47a31ea47fbb6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_TransferTxCreateHandle </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#a00502">spdif_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#ga8749a36136a9b55600479d61b55596ec">spdif_transfer_callback_t</a>&#160;</td>
<td class="paramname"><em>callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function initializes the Tx handle for the SPDIF Tx transactional APIs. Call this function once to get the handle initialized.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
<tr><td class="paramname">handle</td><td>SPDIF handle pointer. </td></tr>
<tr><td class="paramname">callback</td><td>Pointer to the user callback function. </td></tr>
<tr><td class="paramname">userData</td><td>User parameter passed to the callback function </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac44c0edc9e22798fb840f38f1c3749ba"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_TransferRxCreateHandle </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#a00502">spdif_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#ga8749a36136a9b55600479d61b55596ec">spdif_transfer_callback_t</a>&#160;</td>
<td class="paramname"><em>callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function initializes the Rx handle for the SPDIF Rx transactional APIs. Call this function once to get the handle initialized.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">handle</td><td>SPDIF handle pointer. </td></tr>
<tr><td class="paramname">callback</td><td>Pointer to the user callback function. </td></tr>
<tr><td class="paramname">userData</td><td>User parameter passed to the callback function. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga155e14a0591e50af578cb8309171c112"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SPDIF_TransferSendNonBlocking </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#a00502">spdif_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#ga28534824bc9ce4a5a406e928bcbdd7d1">spdif_transfer_t</a> *&#160;</td>
<td class="paramname"><em>xfer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This API returns immediately after the transfer initiates. Call the SPDIF_TxGetTransferStatusIRQ to poll the transfer status and check whether the transfer is finished. If the return status is not kStatus_SPDIF_Busy, the transfer is finished.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the spdif_handle_t structure which stores the transfer state. </td></tr>
<tr><td class="paramname">xfer</td><td>Pointer to the spdif_transfer_t structure. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Successfully started the data receive. </td></tr>
<tr><td class="paramname">kStatus_SPDIF_TxBusy</td><td>Previous receive still not finished. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>The input parameter is invalid. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga04fe7c5e2cf560687b07f5de908da255"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SPDIF_TransferReceiveNonBlocking </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#a00502">spdif_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#ga28534824bc9ce4a5a406e928bcbdd7d1">spdif_transfer_t</a> *&#160;</td>
<td class="paramname"><em>xfer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This API returns immediately after the transfer initiates. Call the SPDIF_RxGetTransferStatusIRQ to poll the transfer status and check whether the transfer is finished. If the return status is not kStatus_SPDIF_Busy, the transfer is finished.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the spdif_handle_t structure which stores the transfer state. </td></tr>
<tr><td class="paramname">xfer</td><td>Pointer to the spdif_transfer_t structure. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Successfully started the data receive. </td></tr>
<tr><td class="paramname">kStatus_SPDIF_RxBusy</td><td>Previous receive still not finished. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>The input parameter is invalid. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga56e6fe5a91de5d1f38896128c4958a94"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SPDIF_TransferGetSendCount </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#a00502">spdif_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the spdif_handle_t structure which stores the transfer state. </td></tr>
<tr><td class="paramname">count</td><td>Bytes count sent. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Succeed get the transfer count. </td></tr>
<tr><td class="paramname">kStatus_NoTransferInProgress</td><td>There is not a non-blocking transaction currently in progress. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaad53ad9d352550e8fa84a3200ee977c9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SPDIF_TransferGetReceiveCount </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#a00502">spdif_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the spdif_handle_t structure which stores the transfer state. </td></tr>
<tr><td class="paramname">count</td><td>Bytes count received. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Succeed get the transfer count. </td></tr>
<tr><td class="paramname">kStatus_NoTransferInProgress</td><td>There is not a non-blocking transaction currently in progress. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga004b052fdaa3fd78dd7bafc721b28f0c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_TransferAbortSend </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#a00502">spdif_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This API can be called any time when an interrupt non-blocking transfer initiates to abort the transfer early.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the spdif_handle_t structure which stores the transfer state. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5dd15b214687cf6a120142b0152ac18c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_TransferAbortReceive </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#a00502">spdif_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This API can be called when an interrupt non-blocking transfer initiates to abort the transfer early.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the spdif_handle_t structure which stores the transfer state. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga14adaa4280f963a9e6c0b6d760173182"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_TransferTxHandleIRQ </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#a00502">spdif_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the spdif_handle_t structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa1ab4a1d05d2e708ab9896f0131506b4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPDIF_TransferRxHandleIRQ </td>
<td>(</td>
<td class="paramtype">SPDIF_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00074.html#a00502">spdif_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPDIF base pointer. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the spdif_handle_t structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul class="foot">
<li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
</li>
</ul>
</div>
</body>
</html>