MCUXpresso_MIMXRT1052xxxxB/docs/MCUXpresso SDK API Referenc.../a00032.html

2000 lines
127 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: FlexIO I2S Driver</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('a00032.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">FlexIO I2S Driver<div class="ingroups"><a class="el" href="a00278.html">FlexIO: FlexIO Driver</a></div></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 I2S function using Flexible I/O module of MCUXpresso SDK devices.</p>
<p>The FlexIO I2S driver includes functional APIs and transactional APIs.</p>
<p>Functional APIs are feature/property target low level APIs.</p>
<p>Functional APIs can be used for FlexIO I2S initialization/configuration/operation for optimization/customization purpose. Using the functional API requires the knowledge of the FlexIO I2S peripheral and how to organize functional APIs to meet the application requirements. All functional API use the peripheral base address as the first parameter. FlexIO I2S functional operation groups provide the functional APIs set.</p>
<p>Transactional APIs are transaction target high level APIs. The transactional APIs can be used to enable the peripheral and also in the application if the code size and performance of transactional APIs can satisfy requirements. If the code size and performance are critical requirements, see the transactional API implementation and write custom code. All transactional APIs use the sai_handle_t as the first parameter. Initialize the handle by calling the FlexIO_I2S_TransferTxCreateHandle() or FlexIO_I2S_TransferRxCreateHandle() API.</p>
<p>Transactional APIs support asynchronous transfer. This means that the functions <a class="el" href="a00032.html#ga225948d3be017124dc7db4518e6a41d4" title="Performs an interrupt non-blocking send transfer on FlexIO I2S. ">FLEXIO_I2S_TransferSendNonBlocking()</a> and <a class="el" href="a00032.html#ga474f218ab7765525d1fd30ed10c04437" title="Performs an interrupt non-blocking receive transfer on FlexIO I2S. ">FLEXIO_I2S_TransferReceiveNonBlocking()</a> set up an interrupt for data transfer. When the transfer completes, the upper layer is notified through a callback function with the kStatus_FLEXIO_I2S_TxIdle and kStatus_FLEXIO_I2S_RxIdle status.</p>
<h1><a class="anchor" id="FlexIO_I2SCase"></a>
Typical use case</h1>
<h2><a class="anchor" id="FlexIO_I2SCaseInterrupt"></a>
FlexIO I2S send/receive using an interrupt method</h2>
<div class="fragment"><div class="line"><a class="code" href="a00064.html#a00481">sai_handle_t</a> g_saiTxHandle;</div>
<div class="line"><a class="code" href="a00064.html#a00478">sai_config_t</a> user_config;</div>
<div class="line"><a class="code" href="a00064.html#a00484">sai_transfer_t</a> sendXfer;</div>
<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">bool</span> txFinished;</div>
<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">bool</span> rxFinished;</div>
<div class="line"><span class="keyword">const</span> uint8_t sendData[] = [......];</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> FLEXIO_I2S_UserCallback(<a class="code" href="a00064.html#a00481">sai_handle_t</a> *handle, <a class="code" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> status, <span class="keywordtype">void</span> *userData)</div>
<div class="line">{</div>
<div class="line"> userData = userData;</div>
<div class="line"></div>
<div class="line"> <span class="keywordflow">if</span> (kStatus_FLEXIO_I2S_TxIdle == status)</div>
<div class="line"> {</div>
<div class="line"> txFinished = <span class="keyword">true</span>;</div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> <span class="comment">//...</span></div>
<div class="line"></div>
<div class="line"> FLEXIO_I2S_TxGetDefaultConfig(&amp;user_config);</div>
<div class="line"></div>
<div class="line"> FLEXIO_I2S_TxInit(FLEXIO I2S0, &amp;user_config);</div>
<div class="line"> <a class="code" href="a00032.html#ga31c71deb66991f9b63e80c88652461c5">FLEXIO_I2S_TransferTxCreateHandle</a>(FLEXIO I2S0, &amp;g_saiHandle, FLEXIO_I2S_UserCallback, NULL);</div>
<div class="line"></div>
<div class="line"> <span class="comment">//Configures the SAI format.</span></div>
<div class="line"> FLEXIO_I2S_TransferTxSetTransferFormat(FLEXIO I2S0, &amp;g_saiHandle, mclkSource, mclk);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Prepares to send.</span></div>
<div class="line"> sendXfer.<a class="code" href="a00064.html#ac372fcd53710c263d7fd482d6d90ae2e">data</a> = sendData</div>
<div class="line"> sendXfer.<a class="code" href="a00064.html#a25282697ebc45f12ac90dca4626e2b1f">dataSize</a> = <span class="keyword">sizeof</span>(sendData)/<span class="keyword">sizeof</span>(sendData[0]);</div>
<div class="line"> txFinished = <span class="keyword">false</span>;</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Sends out.</span></div>
<div class="line"> <a class="code" href="a00032.html#ga225948d3be017124dc7db4518e6a41d4">FLEXIO_I2S_TransferSendNonBlocking</a>(FLEXIO I2S0, &amp;g_saiHandle, &amp;sendXfer);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Waiting to send is finished.</span></div>
<div class="line"> <span class="keywordflow">while</span> (!txFinished)</div>
<div class="line"> {</div>
<div class="line"> }</div>
<div class="line"></div>
<div class="line"> <span class="comment">// ...</span></div>
<div class="line">}</div>
</div><!-- fragment --><h2><a class="anchor" id="FLEXIO_I2SCaseDma"></a>
FLEXIO_I2S send/receive using a DMA method</h2>
<div class="fragment"><div class="line"><a class="code" href="a00064.html#a00481">sai_handle_t</a> g_saiHandle;</div>
<div class="line">dma_handle_t g_saiTxDmaHandle;</div>
<div class="line">dma_handle_t g_saiRxDmaHandle;</div>
<div class="line"><a class="code" href="a00064.html#a00478">sai_config_t</a> user_config;</div>
<div class="line"><a class="code" href="a00064.html#a00484">sai_transfer_t</a> sendXfer;</div>
<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">bool</span> txFinished;</div>
<div class="line">uint8_t sendData[] = ...;</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> FLEXIO_I2S_UserCallback(<a class="code" href="a00064.html#a00481">sai_handle_t</a> *handle, <a class="code" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> status, <span class="keywordtype">void</span> *userData)</div>
<div class="line">{</div>
<div class="line"> userData = userData;</div>
<div class="line"></div>
<div class="line"> <span class="keywordflow">if</span> (kStatus_FLEXIO_I2S_TxIdle == status)</div>
<div class="line"> {</div>
<div class="line"> txFinished = <span class="keyword">true</span>;</div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> <span class="comment">//...</span></div>
<div class="line"></div>
<div class="line"> FLEXIO_I2S_TxGetDefaultConfig(&amp;user_config);</div>
<div class="line"> FLEXIO_I2S_TxInit(FLEXIO I2S0, &amp;user_config);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Sets up the DMA.</span></div>
<div class="line"> <a class="code" href="a00275.html#ga850545ac61a004df8ca312db2ca9db73">DMAMUX_Init</a>(DMAMUX0);</div>
<div class="line"> <a class="code" href="a00275.html#gab4cfa329d636dc52dffb7fedef84367e">DMAMUX_SetSource</a>(DMAMUX0, FLEXIO_I2S_TX_DMA_CHANNEL, FLEXIO_I2S_TX_DMA_REQUEST);</div>
<div class="line"> <a class="code" href="a00275.html#gaecac68802d961c31a06389caa97387f5">DMAMUX_EnableChannel</a>(DMAMUX0, FLEXIO_I2S_TX_DMA_CHANNEL);</div>
<div class="line"></div>
<div class="line"> DMA_Init(DMA0);</div>
<div class="line"></div>
<div class="line"> <span class="comment">/* Creates the DMA handle. */</span></div>
<div class="line"> DMA_TransferTxCreateHandle(&amp;g_saiTxDmaHandle, DMA0, FLEXIO_I2S_TX_DMA_CHANNEL);</div>
<div class="line"></div>
<div class="line"> FLEXIO_I2S_TransferTxCreateHandleDMA(FLEXIO I2S0, &amp;g_saiTxDmaHandle, FLEXIO_I2S_UserCallback, NULL);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Prepares to send.</span></div>
<div class="line"> sendXfer.<a class="code" href="a00064.html#ac372fcd53710c263d7fd482d6d90ae2e">data</a> = sendData</div>
<div class="line"> sendXfer.<a class="code" href="a00064.html#a25282697ebc45f12ac90dca4626e2b1f">dataSize</a> = <span class="keyword">sizeof</span>(sendData)/<span class="keyword">sizeof</span>(sendData[0]);</div>
<div class="line"> txFinished = <span class="keyword">false</span>;</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Sends out.</span></div>
<div class="line"> FLEXIO_I2S_TransferSendDMA(&amp;g_saiHandle, &amp;sendXfer);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Waiting to send is finished.</span></div>
<div class="line"> <span class="keywordflow">while</span> (!txFinished)</div>
<div class="line"> {</div>
<div class="line"> }</div>
<div class="line"></div>
<div class="line"> <span class="comment">// ...</span></div>
<div class="line">}</div>
</div><!-- fragment --> <table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:a00033"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html">FlexIO eDMA I2S 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:a00397"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a00397">_flexio_i2s_type</a></td></tr>
<tr class="memdesc:a00397"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO I2S access structure typedef. <a href="a00032.html#a00397">More...</a><br/></td></tr>
<tr class="separator:a00397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00392"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a00392">_flexio_i2s_config</a></td></tr>
<tr class="memdesc:a00392"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO I2S configure structure. <a href="a00032.html#a00392">More...</a><br/></td></tr>
<tr class="separator:a00392"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00394"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a00394">_flexio_i2s_format</a></td></tr>
<tr class="memdesc:a00394"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO I2S audio format, FlexIO I2S only support the same format in Tx and Rx. <a href="a00032.html#a00394">More...</a><br/></td></tr>
<tr class="separator:a00394"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00396"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a00396">_flexio_i2s_transfer</a></td></tr>
<tr class="memdesc:a00396"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO I2S transfer structure. <a href="a00032.html#a00396">More...</a><br/></td></tr>
<tr class="separator:a00396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00395"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a00395">_flexio_i2s_handle</a></td></tr>
<tr class="memdesc:a00395"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO I2S handle structure. <a href="a00032.html#a00395">More...</a><br/></td></tr>
<tr class="separator:a00395"><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:ga7ea2ecb47ec7c253f394013b3d5b680f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga7ea2ecb47ec7c253f394013b3d5b680f">I2S_RETRY_TIMES</a>&#160;&#160;&#160;0U /* Define to zero means keep waiting until the flag is assert/deassert. */</td></tr>
<tr class="memdesc:ga7ea2ecb47ec7c253f394013b3d5b680f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retry times for waiting flag. <a href="#ga7ea2ecb47ec7c253f394013b3d5b680f">More...</a><br/></td></tr>
<tr class="separator:ga7ea2ecb47ec7c253f394013b3d5b680f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga16823ec3547c940091b4eccc87fb5847"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga16823ec3547c940091b4eccc87fb5847">FLEXIO_I2S_XFER_QUEUE_SIZE</a>&#160;&#160;&#160;(4U)</td></tr>
<tr class="memdesc:ga16823ec3547c940091b4eccc87fb5847"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO I2S transfer queue size, user can refine it according to use case. <a href="#ga16823ec3547c940091b4eccc87fb5847">More...</a><br/></td></tr>
<tr class="separator:ga16823ec3547c940091b4eccc87fb5847"><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:ga2a438e02744f1a3b4ad6f18314536966"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2a438e02744f1a3b4ad6f18314536966"></a>
typedef struct <a class="el" href="a00032.html#a00397">_flexio_i2s_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a></td></tr>
<tr class="memdesc:ga2a438e02744f1a3b4ad6f18314536966"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO I2S access structure typedef. <br/></td></tr>
<tr class="separator:ga2a438e02744f1a3b4ad6f18314536966"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad647608b94bd0214471c0bb6179fb1b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad647608b94bd0214471c0bb6179fb1b5"></a>
typedef enum <br class="typebreak"/>
<a class="el" href="a00032.html#ga2e37fec79a7313afcc1a4c13d76137ce">_flexio_i2s_master_slave</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gad647608b94bd0214471c0bb6179fb1b5">flexio_i2s_master_slave_t</a></td></tr>
<tr class="memdesc:gad647608b94bd0214471c0bb6179fb1b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Master or slave mode. <br/></td></tr>
<tr class="separator:gad647608b94bd0214471c0bb6179fb1b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa83a7a055a625b3807fd406dee85a2c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa83a7a055a625b3807fd406dee85a2c6"></a>
typedef struct <a class="el" href="a00032.html#a00392">_flexio_i2s_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gaa83a7a055a625b3807fd406dee85a2c6">flexio_i2s_config_t</a></td></tr>
<tr class="memdesc:gaa83a7a055a625b3807fd406dee85a2c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO I2S configure structure. <br/></td></tr>
<tr class="separator:gaa83a7a055a625b3807fd406dee85a2c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59a1d4e10fda508bc6872a65c72a4234"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga59a1d4e10fda508bc6872a65c72a4234"></a>
typedef struct <a class="el" href="a00032.html#a00394">_flexio_i2s_format</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga59a1d4e10fda508bc6872a65c72a4234">flexio_i2s_format_t</a></td></tr>
<tr class="memdesc:ga59a1d4e10fda508bc6872a65c72a4234"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO I2S audio format, FlexIO I2S only support the same format in Tx and Rx. <br/></td></tr>
<tr class="separator:ga59a1d4e10fda508bc6872a65c72a4234"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d8ced458856b0750946948456bcc593"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5d8ced458856b0750946948456bcc593"></a>
typedef enum <br class="typebreak"/>
<a class="el" href="a00032.html#ga59290805116faa55aee36e2eb01e17d2">_flexio_i2s_sample_rate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga5d8ced458856b0750946948456bcc593">flexio_i2s_sample_rate_t</a></td></tr>
<tr class="memdesc:ga5d8ced458856b0750946948456bcc593"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio sample rate. <br/></td></tr>
<tr class="separator:ga5d8ced458856b0750946948456bcc593"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59710e800d8eea16e58454588e5f8889"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga59710e800d8eea16e58454588e5f8889"></a>
typedef enum <a class="el" href="a00032.html#gacdaf4100e8cae30648e1d1e59921971c">_flexio_i2s_word_width</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga59710e800d8eea16e58454588e5f8889">flexio_i2s_word_width_t</a></td></tr>
<tr class="memdesc:ga59710e800d8eea16e58454588e5f8889"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio word width. <br/></td></tr>
<tr class="separator:ga59710e800d8eea16e58454588e5f8889"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac75d826cfb18663febe134757abe38b4"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00032.html#a00396">_flexio_i2s_transfer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gac75d826cfb18663febe134757abe38b4">flexio_i2s_transfer_t</a></td></tr>
<tr class="memdesc:gac75d826cfb18663febe134757abe38b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO I2S transfer structure. <a href="#gac75d826cfb18663febe134757abe38b4">More...</a><br/></td></tr>
<tr class="separator:gac75d826cfb18663febe134757abe38b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ab500341d34539faaea54f985950046"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5ab500341d34539faaea54f985950046"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga5ab500341d34539faaea54f985950046">flexio_i2s_callback_t</a> )(<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#a00395">flexio_i2s_handle_t</a> *handle, <a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> status, void *userData)</td></tr>
<tr class="memdesc:ga5ab500341d34539faaea54f985950046"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO I2S xfer callback prototype. <br/></td></tr>
<tr class="separator:ga5ab500341d34539faaea54f985950046"><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:ga96a58e29e8dbf2b5bdeb775cba46556e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00032.html#gga96a58e29e8dbf2b5bdeb775cba46556ea78e5217077552655a4fbd4990ec5c311">kStatus_FLEXIO_I2S_Idle</a> = MAKE_STATUS(kStatusGroup_FLEXIO_I2S, 0),
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga96a58e29e8dbf2b5bdeb775cba46556ea48d8c97ea4e46f6631429992f1814a7a">kStatus_FLEXIO_I2S_TxBusy</a> = MAKE_STATUS(kStatusGroup_FLEXIO_I2S, 1),
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga96a58e29e8dbf2b5bdeb775cba46556eafc24c81bf7a6c092dc2ac0131739fb33">kStatus_FLEXIO_I2S_RxBusy</a> = MAKE_STATUS(kStatusGroup_FLEXIO_I2S, 2),
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga96a58e29e8dbf2b5bdeb775cba46556ea73c78f01390e990b4cc75cca203780a5">kStatus_FLEXIO_I2S_Error</a> = MAKE_STATUS(kStatusGroup_FLEXIO_I2S, 3),
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga96a58e29e8dbf2b5bdeb775cba46556eae38ee4495779398804472d81dac37c3e">kStatus_FLEXIO_I2S_QueueFull</a> = MAKE_STATUS(kStatusGroup_FLEXIO_I2S, 4),
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga96a58e29e8dbf2b5bdeb775cba46556ea1857c052202d7abc210a4f1defb2332c">kStatus_FLEXIO_I2S_Timeout</a>
<br/>
}</td></tr>
<tr class="memdesc:ga96a58e29e8dbf2b5bdeb775cba46556e"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO I2S transfer status. <a href="a00032.html#ga96a58e29e8dbf2b5bdeb775cba46556e">More...</a><br/></td></tr>
<tr class="separator:ga96a58e29e8dbf2b5bdeb775cba46556e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e37fec79a7313afcc1a4c13d76137ce"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga2e37fec79a7313afcc1a4c13d76137ce">_flexio_i2s_master_slave</a> { <br/>
&#160;&#160;<a class="el" href="a00032.html#gga2e37fec79a7313afcc1a4c13d76137cea07afd29192b090e4721733409c076924">kFLEXIO_I2S_Master</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga2e37fec79a7313afcc1a4c13d76137cea97fd81b843abe473a98104592b07573c">kFLEXIO_I2S_Slave</a> = 0x1U
<br/>
}</td></tr>
<tr class="memdesc:ga2e37fec79a7313afcc1a4c13d76137ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Master or slave mode. <a href="a00032.html#ga2e37fec79a7313afcc1a4c13d76137ce">More...</a><br/></td></tr>
<tr class="separator:ga2e37fec79a7313afcc1a4c13d76137ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab48899087cc647f0f791ed0c459adc53"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00032.html#ggab48899087cc647f0f791ed0c459adc53a1ef2aba36fa79d0d6c3137cbc396703f">kFLEXIO_I2S_TxDataRegEmptyInterruptEnable</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#ggab48899087cc647f0f791ed0c459adc53ac5723570f50576ab3f106a8391e0836e">kFLEXIO_I2S_RxDataRegFullInterruptEnable</a> = 0x2U
<br/>
}</td></tr>
<tr class="memdesc:gab48899087cc647f0f791ed0c459adc53"><td class="mdescLeft">&#160;</td><td class="mdescRight">_flexio_i2s_interrupt_enable Define FlexIO FlexIO I2S interrupt mask. <a href="a00032.html#gab48899087cc647f0f791ed0c459adc53">More...</a><br/></td></tr>
<tr class="separator:gab48899087cc647f0f791ed0c459adc53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga458e651af6690959efa2afb96be7d609"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00032.html#gga458e651af6690959efa2afb96be7d609a19e09f8fa7b55c47396e2b1766675f35">kFLEXIO_I2S_TxDataRegEmptyFlag</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga458e651af6690959efa2afb96be7d609a33dfc99c1e90d0e6b0e09964625405e2">kFLEXIO_I2S_RxDataRegFullFlag</a> = 0x2U
<br/>
}</td></tr>
<tr class="memdesc:ga458e651af6690959efa2afb96be7d609"><td class="mdescLeft">&#160;</td><td class="mdescRight">_flexio_i2s_status_flags Define FlexIO FlexIO I2S status mask. <a href="a00032.html#ga458e651af6690959efa2afb96be7d609">More...</a><br/></td></tr>
<tr class="separator:ga458e651af6690959efa2afb96be7d609"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59290805116faa55aee36e2eb01e17d2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga59290805116faa55aee36e2eb01e17d2">_flexio_i2s_sample_rate</a> { <br/>
&#160;&#160;<a class="el" href="a00032.html#gga59290805116faa55aee36e2eb01e17d2abdbb06784965d0befa972cf261bfe4e7">kFLEXIO_I2S_SampleRate8KHz</a> = 8000U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga59290805116faa55aee36e2eb01e17d2a971f9b7f81784ff181beeac3f185db27">kFLEXIO_I2S_SampleRate11025Hz</a> = 11025U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga59290805116faa55aee36e2eb01e17d2a10e640c145f0971cdb4af9831ed23d37">kFLEXIO_I2S_SampleRate12KHz</a> = 12000U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga59290805116faa55aee36e2eb01e17d2a546954b43a4e8dd9d0ca58f327a2d814">kFLEXIO_I2S_SampleRate16KHz</a> = 16000U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga59290805116faa55aee36e2eb01e17d2a02a2091579d4685d9e7b8578a3f0bf63">kFLEXIO_I2S_SampleRate22050Hz</a> = 22050U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga59290805116faa55aee36e2eb01e17d2a1991d896745d99bcc1e03a0753ced4be">kFLEXIO_I2S_SampleRate24KHz</a> = 24000U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga59290805116faa55aee36e2eb01e17d2a01854dae59bfbd8c27f0f5797fb2da28">kFLEXIO_I2S_SampleRate32KHz</a> = 32000U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga59290805116faa55aee36e2eb01e17d2a9c5fe1c399dedb54a3d142cda2fa9322">kFLEXIO_I2S_SampleRate44100Hz</a> = 44100U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga59290805116faa55aee36e2eb01e17d2a973959baadd2e2f5b42caeeb09831e9b">kFLEXIO_I2S_SampleRate48KHz</a> = 48000U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#gga59290805116faa55aee36e2eb01e17d2a5d26aebf6a38300f5b365cbe84bac915">kFLEXIO_I2S_SampleRate96KHz</a> = 96000U
<br/>
}</td></tr>
<tr class="memdesc:ga59290805116faa55aee36e2eb01e17d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio sample rate. <a href="a00032.html#ga59290805116faa55aee36e2eb01e17d2">More...</a><br/></td></tr>
<tr class="separator:ga59290805116faa55aee36e2eb01e17d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdaf4100e8cae30648e1d1e59921971c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gacdaf4100e8cae30648e1d1e59921971c">_flexio_i2s_word_width</a> { <br/>
&#160;&#160;<a class="el" href="a00032.html#ggacdaf4100e8cae30648e1d1e59921971ca7c48374533cf9da13e97c4140142df54">kFLEXIO_I2S_WordWidth8bits</a> = 8U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#ggacdaf4100e8cae30648e1d1e59921971ca7b9f51780b4da157105774eb145b900e">kFLEXIO_I2S_WordWidth16bits</a> = 16U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#ggacdaf4100e8cae30648e1d1e59921971cad5f6e6d1944dc2eedb868d397eb47418">kFLEXIO_I2S_WordWidth24bits</a> = 24U,
<br/>
&#160;&#160;<a class="el" href="a00032.html#ggacdaf4100e8cae30648e1d1e59921971caa605b9bea21a94a75d862dcc416d694b">kFLEXIO_I2S_WordWidth32bits</a> = 32U
<br/>
}</td></tr>
<tr class="memdesc:gacdaf4100e8cae30648e1d1e59921971c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio word width. <a href="a00032.html#gacdaf4100e8cae30648e1d1e59921971c">More...</a><br/></td></tr>
<tr class="separator:gacdaf4100e8cae30648e1d1e59921971c"><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:ga8ac64ab2c050d6a3b5e6dcc784bde2dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga8ac64ab2c050d6a3b5e6dcc784bde2dd">FSL_FLEXIO_I2S_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="a00272.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 2, 0))</td></tr>
<tr class="memdesc:ga8ac64ab2c050d6a3b5e6dcc784bde2dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO I2S driver version 2.2.0. <a href="#ga8ac64ab2c050d6a3b5e6dcc784bde2dd">More...</a><br/></td></tr>
<tr class="separator:ga8ac64ab2c050d6a3b5e6dcc784bde2dd"><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:ga2e15edfb41b26c8b6c1172e59b4e5ca2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga2e15edfb41b26c8b6c1172e59b4e5ca2">FLEXIO_I2S_Init</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, const <a class="el" href="a00032.html#gaa83a7a055a625b3807fd406dee85a2c6">flexio_i2s_config_t</a> *config)</td></tr>
<tr class="memdesc:ga2e15edfb41b26c8b6c1172e59b4e5ca2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the FlexIO I2S. <a href="#ga2e15edfb41b26c8b6c1172e59b4e5ca2">More...</a><br/></td></tr>
<tr class="separator:ga2e15edfb41b26c8b6c1172e59b4e5ca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63430c0096dd4f0efa0576b9f8d8e715"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga63430c0096dd4f0efa0576b9f8d8e715">FLEXIO_I2S_GetDefaultConfig</a> (<a class="el" href="a00032.html#gaa83a7a055a625b3807fd406dee85a2c6">flexio_i2s_config_t</a> *config)</td></tr>
<tr class="memdesc:ga63430c0096dd4f0efa0576b9f8d8e715"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the FlexIO I2S configuration structure to default values. <a href="#ga63430c0096dd4f0efa0576b9f8d8e715">More...</a><br/></td></tr>
<tr class="separator:ga63430c0096dd4f0efa0576b9f8d8e715"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39a22e12f1f18ac14a018a3a26f2d6d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga39a22e12f1f18ac14a018a3a26f2d6d5">FLEXIO_I2S_Deinit</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base)</td></tr>
<tr class="memdesc:ga39a22e12f1f18ac14a018a3a26f2d6d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes the FlexIO I2S. <a href="#ga39a22e12f1f18ac14a018a3a26f2d6d5">More...</a><br/></td></tr>
<tr class="separator:ga39a22e12f1f18ac14a018a3a26f2d6d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5e2d12ff598e8063622799bed7a7c07"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gac5e2d12ff598e8063622799bed7a7c07">FLEXIO_I2S_Enable</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, bool enable)</td></tr>
<tr class="memdesc:gac5e2d12ff598e8063622799bed7a7c07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the FlexIO I2S module operation. <a href="#gac5e2d12ff598e8063622799bed7a7c07">More...</a><br/></td></tr>
<tr class="separator:gac5e2d12ff598e8063622799bed7a7c07"><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:ga6392f280ddddea41518ab6f17bc10cff"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga6392f280ddddea41518ab6f17bc10cff">FLEXIO_I2S_GetStatusFlags</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base)</td></tr>
<tr class="memdesc:ga6392f280ddddea41518ab6f17bc10cff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the FlexIO I2S status flags. <a href="#ga6392f280ddddea41518ab6f17bc10cff">More...</a><br/></td></tr>
<tr class="separator:ga6392f280ddddea41518ab6f17bc10cff"><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:ga0cab52ff3cd5ee103cbc785d0982ee7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga0cab52ff3cd5ee103cbc785d0982ee7a">FLEXIO_I2S_EnableInterrupts</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga0cab52ff3cd5ee103cbc785d0982ee7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the FlexIO I2S interrupt. <a href="#ga0cab52ff3cd5ee103cbc785d0982ee7a">More...</a><br/></td></tr>
<tr class="separator:ga0cab52ff3cd5ee103cbc785d0982ee7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac82fba515a043339d8c131ebda348510"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gac82fba515a043339d8c131ebda348510">FLEXIO_I2S_DisableInterrupts</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, uint32_t mask)</td></tr>
<tr class="memdesc:gac82fba515a043339d8c131ebda348510"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the FlexIO I2S interrupt. <a href="#gac82fba515a043339d8c131ebda348510">More...</a><br/></td></tr>
<tr class="separator:gac82fba515a043339d8c131ebda348510"><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:ga7163a1f52584f134fc328574ccc208d0"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga7163a1f52584f134fc328574ccc208d0">FLEXIO_I2S_TxEnableDMA</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, bool enable)</td></tr>
<tr class="memdesc:ga7163a1f52584f134fc328574ccc208d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the FlexIO I2S Tx DMA requests. <a href="#ga7163a1f52584f134fc328574ccc208d0">More...</a><br/></td></tr>
<tr class="separator:ga7163a1f52584f134fc328574ccc208d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3542137bbd509b5657097f3e0aa2e4bf"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga3542137bbd509b5657097f3e0aa2e4bf">FLEXIO_I2S_RxEnableDMA</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, bool enable)</td></tr>
<tr class="memdesc:ga3542137bbd509b5657097f3e0aa2e4bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the FlexIO I2S Rx DMA requests. <a href="#ga3542137bbd509b5657097f3e0aa2e4bf">More...</a><br/></td></tr>
<tr class="separator:ga3542137bbd509b5657097f3e0aa2e4bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa407468114d14b18d58745464df5151f"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gaa407468114d14b18d58745464df5151f">FLEXIO_I2S_TxGetDataRegisterAddress</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base)</td></tr>
<tr class="memdesc:gaa407468114d14b18d58745464df5151f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the FlexIO I2S send data register address. <a href="#gaa407468114d14b18d58745464df5151f">More...</a><br/></td></tr>
<tr class="separator:gaa407468114d14b18d58745464df5151f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc9503a27418cb0e1110803853171fb1"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gabc9503a27418cb0e1110803853171fb1">FLEXIO_I2S_RxGetDataRegisterAddress</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base)</td></tr>
<tr class="memdesc:gabc9503a27418cb0e1110803853171fb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the FlexIO I2S receive data register address. <a href="#gabc9503a27418cb0e1110803853171fb1">More...</a><br/></td></tr>
<tr class="separator:gabc9503a27418cb0e1110803853171fb1"><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:ga12f775c48ef0376616d271de5e224e03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga12f775c48ef0376616d271de5e224e03">FLEXIO_I2S_MasterSetFormat</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#ga59a1d4e10fda508bc6872a65c72a4234">flexio_i2s_format_t</a> *format, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:ga12f775c48ef0376616d271de5e224e03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the FlexIO I2S audio format in master mode. <a href="#ga12f775c48ef0376616d271de5e224e03">More...</a><br/></td></tr>
<tr class="separator:ga12f775c48ef0376616d271de5e224e03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga31e254b013b68f5c84a45794ee67e9b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga31e254b013b68f5c84a45794ee67e9b6">FLEXIO_I2S_SlaveSetFormat</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#ga59a1d4e10fda508bc6872a65c72a4234">flexio_i2s_format_t</a> *format)</td></tr>
<tr class="memdesc:ga31e254b013b68f5c84a45794ee67e9b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the FlexIO I2S audio format in slave mode. <a href="#ga31e254b013b68f5c84a45794ee67e9b6">More...</a><br/></td></tr>
<tr class="separator:ga31e254b013b68f5c84a45794ee67e9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf86d43e7db486d68ddf3c41d12ef37c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gadf86d43e7db486d68ddf3c41d12ef37c">FLEXIO_I2S_WriteBlocking</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, uint8_t bitWidth, uint8_t *txData, size_t size)</td></tr>
<tr class="memdesc:gadf86d43e7db486d68ddf3c41d12ef37c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends data using a blocking method. <a href="#gadf86d43e7db486d68ddf3c41d12ef37c">More...</a><br/></td></tr>
<tr class="separator:gadf86d43e7db486d68ddf3c41d12ef37c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19b30ed9f8b1fc37675bc92cac35b871"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga19b30ed9f8b1fc37675bc92cac35b871">FLEXIO_I2S_WriteData</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, uint8_t bitWidth, uint32_t data)</td></tr>
<tr class="memdesc:ga19b30ed9f8b1fc37675bc92cac35b871"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes data into a data register. <a href="#ga19b30ed9f8b1fc37675bc92cac35b871">More...</a><br/></td></tr>
<tr class="separator:ga19b30ed9f8b1fc37675bc92cac35b871"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac03239be31a9c4768e2d409de9e455f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gac03239be31a9c4768e2d409de9e455f9">FLEXIO_I2S_ReadBlocking</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, uint8_t bitWidth, uint8_t *rxData, size_t size)</td></tr>
<tr class="memdesc:gac03239be31a9c4768e2d409de9e455f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receives a piece of data using a blocking method. <a href="#gac03239be31a9c4768e2d409de9e455f9">More...</a><br/></td></tr>
<tr class="separator:gac03239be31a9c4768e2d409de9e455f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87630cef372b980eb1c39cb339c432d0"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga87630cef372b980eb1c39cb339c432d0">FLEXIO_I2S_ReadData</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base)</td></tr>
<tr class="memdesc:ga87630cef372b980eb1c39cb339c432d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a data from the data register. <a href="#ga87630cef372b980eb1c39cb339c432d0">More...</a><br/></td></tr>
<tr class="separator:ga87630cef372b980eb1c39cb339c432d0"><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:ga31c71deb66991f9b63e80c88652461c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga31c71deb66991f9b63e80c88652461c5">FLEXIO_I2S_TransferTxCreateHandle</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#a00395">flexio_i2s_handle_t</a> *handle, <a class="el" href="a00032.html#ga5ab500341d34539faaea54f985950046">flexio_i2s_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:ga31c71deb66991f9b63e80c88652461c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the FlexIO I2S handle. <a href="#ga31c71deb66991f9b63e80c88652461c5">More...</a><br/></td></tr>
<tr class="separator:ga31c71deb66991f9b63e80c88652461c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga725a2486896d3e60f2723d651bd82b6f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga725a2486896d3e60f2723d651bd82b6f">FLEXIO_I2S_TransferSetFormat</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#a00395">flexio_i2s_handle_t</a> *handle, <a class="el" href="a00032.html#ga59a1d4e10fda508bc6872a65c72a4234">flexio_i2s_format_t</a> *format, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:ga725a2486896d3e60f2723d651bd82b6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the FlexIO I2S audio format. <a href="#ga725a2486896d3e60f2723d651bd82b6f">More...</a><br/></td></tr>
<tr class="separator:ga725a2486896d3e60f2723d651bd82b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38f2a431871f5dfd9d07905b0f5ed81a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga38f2a431871f5dfd9d07905b0f5ed81a">FLEXIO_I2S_TransferRxCreateHandle</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#a00395">flexio_i2s_handle_t</a> *handle, <a class="el" href="a00032.html#ga5ab500341d34539faaea54f985950046">flexio_i2s_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:ga38f2a431871f5dfd9d07905b0f5ed81a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the FlexIO I2S receive handle. <a href="#ga38f2a431871f5dfd9d07905b0f5ed81a">More...</a><br/></td></tr>
<tr class="separator:ga38f2a431871f5dfd9d07905b0f5ed81a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga225948d3be017124dc7db4518e6a41d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga225948d3be017124dc7db4518e6a41d4">FLEXIO_I2S_TransferSendNonBlocking</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#a00395">flexio_i2s_handle_t</a> *handle, <a class="el" href="a00032.html#gac75d826cfb18663febe134757abe38b4">flexio_i2s_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga225948d3be017124dc7db4518e6a41d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an interrupt non-blocking send transfer on FlexIO I2S. <a href="#ga225948d3be017124dc7db4518e6a41d4">More...</a><br/></td></tr>
<tr class="separator:ga225948d3be017124dc7db4518e6a41d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga474f218ab7765525d1fd30ed10c04437"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga474f218ab7765525d1fd30ed10c04437">FLEXIO_I2S_TransferReceiveNonBlocking</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#a00395">flexio_i2s_handle_t</a> *handle, <a class="el" href="a00032.html#gac75d826cfb18663febe134757abe38b4">flexio_i2s_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga474f218ab7765525d1fd30ed10c04437"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an interrupt non-blocking receive transfer on FlexIO I2S. <a href="#ga474f218ab7765525d1fd30ed10c04437">More...</a><br/></td></tr>
<tr class="separator:ga474f218ab7765525d1fd30ed10c04437"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3fb83f37b693d00a84f9b3108690cdff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga3fb83f37b693d00a84f9b3108690cdff">FLEXIO_I2S_TransferAbortSend</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#a00395">flexio_i2s_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga3fb83f37b693d00a84f9b3108690cdff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the current send. <a href="#ga3fb83f37b693d00a84f9b3108690cdff">More...</a><br/></td></tr>
<tr class="separator:ga3fb83f37b693d00a84f9b3108690cdff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95208c72642fe24909c7708c1efbd9a4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga95208c72642fe24909c7708c1efbd9a4">FLEXIO_I2S_TransferAbortReceive</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#a00395">flexio_i2s_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga95208c72642fe24909c7708c1efbd9a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the current receive. <a href="#ga95208c72642fe24909c7708c1efbd9a4">More...</a><br/></td></tr>
<tr class="separator:ga95208c72642fe24909c7708c1efbd9a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga590a1845d2f37e2d8ca67d95a85b842a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ga590a1845d2f37e2d8ca67d95a85b842a">FLEXIO_I2S_TransferGetSendCount</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#a00395">flexio_i2s_handle_t</a> *handle, size_t *count)</td></tr>
<tr class="memdesc:ga590a1845d2f37e2d8ca67d95a85b842a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the remaining bytes to be sent. <a href="#ga590a1845d2f37e2d8ca67d95a85b842a">More...</a><br/></td></tr>
<tr class="separator:ga590a1845d2f37e2d8ca67d95a85b842a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1c4b7d6e2c63bdbd33a86ad4acf8c25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gab1c4b7d6e2c63bdbd33a86ad4acf8c25">FLEXIO_I2S_TransferGetReceiveCount</a> (<a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *base, <a class="el" href="a00032.html#a00395">flexio_i2s_handle_t</a> *handle, size_t *count)</td></tr>
<tr class="memdesc:gab1c4b7d6e2c63bdbd33a86ad4acf8c25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the remaining bytes to be received. <a href="#gab1c4b7d6e2c63bdbd33a86ad4acf8c25">More...</a><br/></td></tr>
<tr class="separator:gab1c4b7d6e2c63bdbd33a86ad4acf8c25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7706d68288d8c1fa2ad05d43ed459fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gab7706d68288d8c1fa2ad05d43ed459fe">FLEXIO_I2S_TransferTxHandleIRQ</a> (void *i2sBase, void *i2sHandle)</td></tr>
<tr class="memdesc:gab7706d68288d8c1fa2ad05d43ed459fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tx interrupt handler. <a href="#gab7706d68288d8c1fa2ad05d43ed459fe">More...</a><br/></td></tr>
<tr class="separator:gab7706d68288d8c1fa2ad05d43ed459fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb80c2a8216a31744378ebb39ad65c2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#gacb80c2a8216a31744378ebb39ad65c2b">FLEXIO_I2S_TransferRxHandleIRQ</a> (void *i2sBase, void *i2sHandle)</td></tr>
<tr class="memdesc:gacb80c2a8216a31744378ebb39ad65c2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rx interrupt handler. <a href="#gacb80c2a8216a31744378ebb39ad65c2b">More...</a><br/></td></tr>
<tr class="separator:gacb80c2a8216a31744378ebb39ad65c2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00397" id="a00397"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _flexio_i2s_type</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:ab449013f40d8a8a2d597e5d1e88a8b97"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab449013f40d8a8a2d597e5d1e88a8b97"></a>
FLEXIO_Type *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ab449013f40d8a8a2d597e5d1e88a8b97">flexioBase</a></td></tr>
<tr class="memdesc:ab449013f40d8a8a2d597e5d1e88a8b97"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO base pointer. <br/></td></tr>
<tr class="separator:ab449013f40d8a8a2d597e5d1e88a8b97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa53e30ebdd5c5f646dca2543fcd9b76e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa53e30ebdd5c5f646dca2543fcd9b76e"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#aa53e30ebdd5c5f646dca2543fcd9b76e">txPinIndex</a></td></tr>
<tr class="memdesc:aa53e30ebdd5c5f646dca2543fcd9b76e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tx data pin index in FlexIO pins. <br/></td></tr>
<tr class="separator:aa53e30ebdd5c5f646dca2543fcd9b76e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a712be31b7f9d3d6b759eb12c3b667ddd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a712be31b7f9d3d6b759eb12c3b667ddd"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a712be31b7f9d3d6b759eb12c3b667ddd">rxPinIndex</a></td></tr>
<tr class="memdesc:a712be31b7f9d3d6b759eb12c3b667ddd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rx data pin index. <br/></td></tr>
<tr class="separator:a712be31b7f9d3d6b759eb12c3b667ddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa67581730594eb6b372b369bea8f032c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa67581730594eb6b372b369bea8f032c"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#aa67581730594eb6b372b369bea8f032c">bclkPinIndex</a></td></tr>
<tr class="memdesc:aa67581730594eb6b372b369bea8f032c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit clock pin index. <br/></td></tr>
<tr class="separator:aa67581730594eb6b372b369bea8f032c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e2c745c2005607b4371c41cc4a5f769"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e2c745c2005607b4371c41cc4a5f769"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a3e2c745c2005607b4371c41cc4a5f769">fsPinIndex</a></td></tr>
<tr class="memdesc:a3e2c745c2005607b4371c41cc4a5f769"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frame sync pin index. <br/></td></tr>
<tr class="separator:a3e2c745c2005607b4371c41cc4a5f769"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fab8c45d53cdffcfa6cf7771a410a78"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9fab8c45d53cdffcfa6cf7771a410a78"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a9fab8c45d53cdffcfa6cf7771a410a78">txShifterIndex</a></td></tr>
<tr class="memdesc:a9fab8c45d53cdffcfa6cf7771a410a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tx data shifter index. <br/></td></tr>
<tr class="separator:a9fab8c45d53cdffcfa6cf7771a410a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ec10356b8eb4c1da32505a6e16e3616"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ec10356b8eb4c1da32505a6e16e3616"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a4ec10356b8eb4c1da32505a6e16e3616">rxShifterIndex</a></td></tr>
<tr class="memdesc:a4ec10356b8eb4c1da32505a6e16e3616"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rx data shifter index. <br/></td></tr>
<tr class="separator:a4ec10356b8eb4c1da32505a6e16e3616"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcd9b14fce1388d2b6e18eb1108a5858"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afcd9b14fce1388d2b6e18eb1108a5858"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#afcd9b14fce1388d2b6e18eb1108a5858">bclkTimerIndex</a></td></tr>
<tr class="memdesc:afcd9b14fce1388d2b6e18eb1108a5858"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit clock timer index. <br/></td></tr>
<tr class="separator:afcd9b14fce1388d2b6e18eb1108a5858"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd009d69ef6c06fdcdde60e2b3fb1875"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd009d69ef6c06fdcdde60e2b3fb1875"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#abd009d69ef6c06fdcdde60e2b3fb1875">fsTimerIndex</a></td></tr>
<tr class="memdesc:abd009d69ef6c06fdcdde60e2b3fb1875"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frame sync timer index. <br/></td></tr>
<tr class="separator:abd009d69ef6c06fdcdde60e2b3fb1875"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<a name="a00392" id="a00392"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _flexio_i2s_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:adb49e8c4018f36d415c3f27b7b4a45ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb49e8c4018f36d415c3f27b7b4a45ce"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#adb49e8c4018f36d415c3f27b7b4a45ce">enableI2S</a></td></tr>
<tr class="memdesc:adb49e8c4018f36d415c3f27b7b4a45ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable FlexIO I2S. <br/></td></tr>
<tr class="separator:adb49e8c4018f36d415c3f27b7b4a45ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb6202db43c51c67124a7a2507356d20"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb6202db43c51c67124a7a2507356d20"></a>
<a class="el" href="a00032.html#gad647608b94bd0214471c0bb6179fb1b5">flexio_i2s_master_slave_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#adb6202db43c51c67124a7a2507356d20">masterSlave</a></td></tr>
<tr class="memdesc:adb6202db43c51c67124a7a2507356d20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Master or slave. <br/></td></tr>
<tr class="separator:adb6202db43c51c67124a7a2507356d20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5afd952a94b5ec444bcc17ae1fa5b3b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5afd952a94b5ec444bcc17ae1fa5b3b0"></a>
<a class="el" href="a00030.html#ga35c80da6cb0ca4321f9409dc32810c2d">flexio_pin_polarity_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a5afd952a94b5ec444bcc17ae1fa5b3b0">txPinPolarity</a></td></tr>
<tr class="memdesc:a5afd952a94b5ec444bcc17ae1fa5b3b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tx data pin polarity, active high or low. <br/></td></tr>
<tr class="separator:a5afd952a94b5ec444bcc17ae1fa5b3b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46396136324c5e05f0b11c0a2a4584dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46396136324c5e05f0b11c0a2a4584dd"></a>
<a class="el" href="a00030.html#ga35c80da6cb0ca4321f9409dc32810c2d">flexio_pin_polarity_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a46396136324c5e05f0b11c0a2a4584dd">rxPinPolarity</a></td></tr>
<tr class="memdesc:a46396136324c5e05f0b11c0a2a4584dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rx data pin polarity. <br/></td></tr>
<tr class="separator:a46396136324c5e05f0b11c0a2a4584dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab77309e749827ec8f41ba9f2d2d0c4cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab77309e749827ec8f41ba9f2d2d0c4cd"></a>
<a class="el" href="a00030.html#ga35c80da6cb0ca4321f9409dc32810c2d">flexio_pin_polarity_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ab77309e749827ec8f41ba9f2d2d0c4cd">bclkPinPolarity</a></td></tr>
<tr class="memdesc:ab77309e749827ec8f41ba9f2d2d0c4cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit clock pin polarity. <br/></td></tr>
<tr class="separator:ab77309e749827ec8f41ba9f2d2d0c4cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af34a05b8906de1dbfbbd8887b4cd64f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af34a05b8906de1dbfbbd8887b4cd64f1"></a>
<a class="el" href="a00030.html#ga35c80da6cb0ca4321f9409dc32810c2d">flexio_pin_polarity_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#af34a05b8906de1dbfbbd8887b4cd64f1">fsPinPolarity</a></td></tr>
<tr class="memdesc:af34a05b8906de1dbfbbd8887b4cd64f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frame sync pin polarity. <br/></td></tr>
<tr class="separator:af34a05b8906de1dbfbbd8887b4cd64f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39495ea95a20060dec9f4c1779749370"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39495ea95a20060dec9f4c1779749370"></a>
<a class="el" href="a00030.html#ga49690747d9bd45c73adc38c978277d5c">flexio_shifter_timer_polarity_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a39495ea95a20060dec9f4c1779749370">txTimerPolarity</a></td></tr>
<tr class="memdesc:a39495ea95a20060dec9f4c1779749370"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tx data valid on bclk rising or falling edge. <br/></td></tr>
<tr class="separator:a39495ea95a20060dec9f4c1779749370"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42a66f46fb56b064f1ba7ffb36a8db90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42a66f46fb56b064f1ba7ffb36a8db90"></a>
<a class="el" href="a00030.html#ga49690747d9bd45c73adc38c978277d5c">flexio_shifter_timer_polarity_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a42a66f46fb56b064f1ba7ffb36a8db90">rxTimerPolarity</a></td></tr>
<tr class="memdesc:a42a66f46fb56b064f1ba7ffb36a8db90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rx data valid on bclk rising or falling edge. <br/></td></tr>
<tr class="separator:a42a66f46fb56b064f1ba7ffb36a8db90"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<a name="a00394" id="a00394"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _flexio_i2s_format</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:a9f3f738467fa2ad3d971b67f74bf7183"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f3f738467fa2ad3d971b67f74bf7183"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a9f3f738467fa2ad3d971b67f74bf7183">bitWidth</a></td></tr>
<tr class="memdesc:a9f3f738467fa2ad3d971b67f74bf7183"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit width of audio data, always 8/16/24/32 bits. <br/></td></tr>
<tr class="separator:a9f3f738467fa2ad3d971b67f74bf7183"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bfe7e50f67660594c07d8af2ddb9fda"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bfe7e50f67660594c07d8af2ddb9fda"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a0bfe7e50f67660594c07d8af2ddb9fda">sampleRate_Hz</a></td></tr>
<tr class="memdesc:a0bfe7e50f67660594c07d8af2ddb9fda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sample rate of the audio data. <br/></td></tr>
<tr class="separator:a0bfe7e50f67660594c07d8af2ddb9fda"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<a name="a00396" id="a00396"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _flexio_i2s_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:a138c2a667eb11137ede4bce12bcae674"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a138c2a667eb11137ede4bce12bcae674"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a138c2a667eb11137ede4bce12bcae674">data</a></td></tr>
<tr class="memdesc:a138c2a667eb11137ede4bce12bcae674"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data buffer start pointer. <br/></td></tr>
<tr class="separator:a138c2a667eb11137ede4bce12bcae674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a273a94a7eff323bc25c653f485be30b4"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a273a94a7eff323bc25c653f485be30b4">dataSize</a></td></tr>
<tr class="memdesc:a273a94a7eff323bc25c653f485be30b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bytes to be transferred. <a href="#a273a94a7eff323bc25c653f485be30b4">More...</a><br/></td></tr>
<tr class="separator:a273a94a7eff323bc25c653f485be30b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a273a94a7eff323bc25c653f485be30b4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t _flexio_i2s_transfer::dataSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00395" id="a00395"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _flexio_i2s_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:ab174c57d2ddb32975053a804610196df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab174c57d2ddb32975053a804610196df"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ab174c57d2ddb32975053a804610196df">state</a></td></tr>
<tr class="memdesc:ab174c57d2ddb32975053a804610196df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal state. <br/></td></tr>
<tr class="separator:ab174c57d2ddb32975053a804610196df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2db2fd7655807590d6c7222aae46a136"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2db2fd7655807590d6c7222aae46a136"></a>
<a class="el" href="a00032.html#ga5ab500341d34539faaea54f985950046">flexio_i2s_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a2db2fd7655807590d6c7222aae46a136">callback</a></td></tr>
<tr class="memdesc:a2db2fd7655807590d6c7222aae46a136"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function called at transfer event. <br/></td></tr>
<tr class="separator:a2db2fd7655807590d6c7222aae46a136"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57746c8830cc4bd7b878be18a71cf669"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57746c8830cc4bd7b878be18a71cf669"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a57746c8830cc4bd7b878be18a71cf669">userData</a></td></tr>
<tr class="memdesc:a57746c8830cc4bd7b878be18a71cf669"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback parameter passed to callback function. <br/></td></tr>
<tr class="separator:a57746c8830cc4bd7b878be18a71cf669"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa55d04f1de3bf81fd4a3320e1c10005b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa55d04f1de3bf81fd4a3320e1c10005b"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#aa55d04f1de3bf81fd4a3320e1c10005b">bitWidth</a></td></tr>
<tr class="memdesc:aa55d04f1de3bf81fd4a3320e1c10005b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit width for transfer, 8/16/24/32bits. <br/></td></tr>
<tr class="separator:aa55d04f1de3bf81fd4a3320e1c10005b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71efb264e6c1362fd91af882999ce0a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a71efb264e6c1362fd91af882999ce0a9"></a>
<a class="el" href="a00032.html#gac75d826cfb18663febe134757abe38b4">flexio_i2s_transfer_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a71efb264e6c1362fd91af882999ce0a9">queue</a> [<a class="el" href="a00032.html#ga16823ec3547c940091b4eccc87fb5847">FLEXIO_I2S_XFER_QUEUE_SIZE</a>]</td></tr>
<tr class="memdesc:a71efb264e6c1362fd91af882999ce0a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer queue storing queued transfer. <br/></td></tr>
<tr class="separator:a71efb264e6c1362fd91af882999ce0a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79cf1f1369ee1d49081817a005830cdd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79cf1f1369ee1d49081817a005830cdd"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a79cf1f1369ee1d49081817a005830cdd">transferSize</a> [<a class="el" href="a00032.html#ga16823ec3547c940091b4eccc87fb5847">FLEXIO_I2S_XFER_QUEUE_SIZE</a>]</td></tr>
<tr class="memdesc:a79cf1f1369ee1d49081817a005830cdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data bytes need to transfer. <br/></td></tr>
<tr class="separator:a79cf1f1369ee1d49081817a005830cdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a553d7b7ee77695b269b9d2b2c10ff35d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a553d7b7ee77695b269b9d2b2c10ff35d"></a>
volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a553d7b7ee77695b269b9d2b2c10ff35d">queueUser</a></td></tr>
<tr class="memdesc:a553d7b7ee77695b269b9d2b2c10ff35d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index for user to queue transfer. <br/></td></tr>
<tr class="separator:a553d7b7ee77695b269b9d2b2c10ff35d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74b6814e572ae5cf43928c8a9768886b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74b6814e572ae5cf43928c8a9768886b"></a>
volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a74b6814e572ae5cf43928c8a9768886b">queueDriver</a></td></tr>
<tr class="memdesc:a74b6814e572ae5cf43928c8a9768886b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index for driver to get the transfer data and size. <br/></td></tr>
<tr class="separator:a74b6814e572ae5cf43928c8a9768886b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga8ac64ab2c050d6a3b5e6dcc784bde2dd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_FLEXIO_I2S_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="a00272.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 2, 0))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga7ea2ecb47ec7c253f394013b3d5b680f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define I2S_RETRY_TIMES&#160;&#160;&#160;0U /* Define to zero means keep waiting until the flag is assert/deassert. */</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga16823ec3547c940091b4eccc87fb5847"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FLEXIO_I2S_XFER_QUEUE_SIZE&#160;&#160;&#160;(4U)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gac75d826cfb18663febe134757abe38b4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00032.html#a00396">_flexio_i2s_transfer</a> <a class="el" href="a00032.html#gac75d826cfb18663febe134757abe38b4">flexio_i2s_transfer_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga96a58e29e8dbf2b5bdeb775cba46556e"></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="gga96a58e29e8dbf2b5bdeb775cba46556ea78e5217077552655a4fbd4990ec5c311"></a>kStatus_FLEXIO_I2S_Idle</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO I2S is in idle state. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga96a58e29e8dbf2b5bdeb775cba46556ea48d8c97ea4e46f6631429992f1814a7a"></a>kStatus_FLEXIO_I2S_TxBusy</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO I2S Tx is busy. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga96a58e29e8dbf2b5bdeb775cba46556eafc24c81bf7a6c092dc2ac0131739fb33"></a>kStatus_FLEXIO_I2S_RxBusy</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO I2S Tx is busy. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga96a58e29e8dbf2b5bdeb775cba46556ea73c78f01390e990b4cc75cca203780a5"></a>kStatus_FLEXIO_I2S_Error</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO I2S error occurred. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga96a58e29e8dbf2b5bdeb775cba46556eae38ee4495779398804472d81dac37c3e"></a>kStatus_FLEXIO_I2S_QueueFull</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO I2S transfer queue is full. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga96a58e29e8dbf2b5bdeb775cba46556ea1857c052202d7abc210a4f1defb2332c"></a>kStatus_FLEXIO_I2S_Timeout</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO I2S timeout polling status flags. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga2e37fec79a7313afcc1a4c13d76137ce"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00032.html#ga2e37fec79a7313afcc1a4c13d76137ce">_flexio_i2s_master_slave</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="gga2e37fec79a7313afcc1a4c13d76137cea07afd29192b090e4721733409c076924"></a>kFLEXIO_I2S_Master</em>&nbsp;</td><td class="fielddoc">
<p>Master mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2e37fec79a7313afcc1a4c13d76137cea97fd81b843abe473a98104592b07573c"></a>kFLEXIO_I2S_Slave</em>&nbsp;</td><td class="fielddoc">
<p>Slave mode. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gab48899087cc647f0f791ed0c459adc53"></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="ggab48899087cc647f0f791ed0c459adc53a1ef2aba36fa79d0d6c3137cbc396703f"></a>kFLEXIO_I2S_TxDataRegEmptyInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Transmit buffer empty interrupt enable. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab48899087cc647f0f791ed0c459adc53ac5723570f50576ab3f106a8391e0836e"></a>kFLEXIO_I2S_RxDataRegFullInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Receive buffer full interrupt enable. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga458e651af6690959efa2afb96be7d609"></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="gga458e651af6690959efa2afb96be7d609a19e09f8fa7b55c47396e2b1766675f35"></a>kFLEXIO_I2S_TxDataRegEmptyFlag</em>&nbsp;</td><td class="fielddoc">
<p>Transmit buffer empty flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga458e651af6690959efa2afb96be7d609a33dfc99c1e90d0e6b0e09964625405e2"></a>kFLEXIO_I2S_RxDataRegFullFlag</em>&nbsp;</td><td class="fielddoc">
<p>Receive buffer full flag. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga59290805116faa55aee36e2eb01e17d2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00032.html#ga59290805116faa55aee36e2eb01e17d2">_flexio_i2s_sample_rate</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="gga59290805116faa55aee36e2eb01e17d2abdbb06784965d0befa972cf261bfe4e7"></a>kFLEXIO_I2S_SampleRate8KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 8000Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga59290805116faa55aee36e2eb01e17d2a971f9b7f81784ff181beeac3f185db27"></a>kFLEXIO_I2S_SampleRate11025Hz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 11025Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga59290805116faa55aee36e2eb01e17d2a10e640c145f0971cdb4af9831ed23d37"></a>kFLEXIO_I2S_SampleRate12KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 12000Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga59290805116faa55aee36e2eb01e17d2a546954b43a4e8dd9d0ca58f327a2d814"></a>kFLEXIO_I2S_SampleRate16KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 16000Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga59290805116faa55aee36e2eb01e17d2a02a2091579d4685d9e7b8578a3f0bf63"></a>kFLEXIO_I2S_SampleRate22050Hz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 22050Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga59290805116faa55aee36e2eb01e17d2a1991d896745d99bcc1e03a0753ced4be"></a>kFLEXIO_I2S_SampleRate24KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 24000Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga59290805116faa55aee36e2eb01e17d2a01854dae59bfbd8c27f0f5797fb2da28"></a>kFLEXIO_I2S_SampleRate32KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 32000Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga59290805116faa55aee36e2eb01e17d2a9c5fe1c399dedb54a3d142cda2fa9322"></a>kFLEXIO_I2S_SampleRate44100Hz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 44100Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga59290805116faa55aee36e2eb01e17d2a973959baadd2e2f5b42caeeb09831e9b"></a>kFLEXIO_I2S_SampleRate48KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 48000Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga59290805116faa55aee36e2eb01e17d2a5d26aebf6a38300f5b365cbe84bac915"></a>kFLEXIO_I2S_SampleRate96KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 96000Hz. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gacdaf4100e8cae30648e1d1e59921971c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00032.html#gacdaf4100e8cae30648e1d1e59921971c">_flexio_i2s_word_width</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="ggacdaf4100e8cae30648e1d1e59921971ca7c48374533cf9da13e97c4140142df54"></a>kFLEXIO_I2S_WordWidth8bits</em>&nbsp;</td><td class="fielddoc">
<p>Audio data width 8 bits. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggacdaf4100e8cae30648e1d1e59921971ca7b9f51780b4da157105774eb145b900e"></a>kFLEXIO_I2S_WordWidth16bits</em>&nbsp;</td><td class="fielddoc">
<p>Audio data width 16 bits. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggacdaf4100e8cae30648e1d1e59921971cad5f6e6d1944dc2eedb868d397eb47418"></a>kFLEXIO_I2S_WordWidth24bits</em>&nbsp;</td><td class="fielddoc">
<p>Audio data width 24 bits. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggacdaf4100e8cae30648e1d1e59921971caa605b9bea21a94a75d862dcc416d694b"></a>kFLEXIO_I2S_WordWidth32bits</em>&nbsp;</td><td class="fielddoc">
<p>Audio data width 32 bits. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga2e15edfb41b26c8b6c1172e59b4e5ca2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_Init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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="a00032.html#gaa83a7a055a625b3807fd406dee85a2c6">flexio_i2s_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>This API configures FlexIO pins and shifter to I2S and configures the FlexIO I2S with a configuration structure. The configuration structure can be filled by the user, or be set with default values by <a class="el" href="a00032.html#ga63430c0096dd4f0efa0576b9f8d8e715" title="Sets the FlexIO I2S configuration structure to default values. ">FLEXIO_I2S_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 FlexIO I2S driver. Otherwise, any access to the FlexIO I2S module can cause 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>FlexIO I2S base pointer </td></tr>
<tr><td class="paramname">config</td><td>FlexIO I2S configure structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga63430c0096dd4f0efa0576b9f8d8e715"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_GetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#gaa83a7a055a625b3807fd406dee85a2c6">flexio_i2s_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The purpose of this API is to get the configuration structure initialized for use in <a class="el" href="a00032.html#ga2e15edfb41b26c8b6c1172e59b4e5ca2" title="Initializes the FlexIO I2S. ">FLEXIO_I2S_Init()</a>. Users may use the initialized structure unchanged in <a class="el" href="a00032.html#ga2e15edfb41b26c8b6c1172e59b4e5ca2" title="Initializes the FlexIO I2S. ">FLEXIO_I2S_Init()</a> or modify some fields of the structure before calling <a class="el" href="a00032.html#ga2e15edfb41b26c8b6c1172e59b4e5ca2" title="Initializes the FlexIO I2S. ">FLEXIO_I2S_Init()</a>.</p>
<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="ga39a22e12f1f18ac14a018a3a26f2d6d5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_Deinit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calling this API resets the FlexIO I2S shifter and timer config. After calling this API, call the FLEXO_I2S_Init to use the FlexIO I2S module.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>FlexIO I2S base pointer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac5e2d12ff598e8063622799bed7a7c07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void FLEXIO_I2S_Enable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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>Pointer to FLEXIO_I2S_Type </td></tr>
<tr><td class="paramname">enable</td><td>True to enable, false dose not have any effect. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6392f280ddddea41518ab6f17bc10cff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FLEXIO_I2S_GetStatusFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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>Pointer to FLEXIO_I2S_Type structure </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status flag, which are ORed by the enumerators in the _flexio_i2s_status_flags. </dd></dl>
</div>
</div>
<a class="anchor" id="ga0cab52ff3cd5ee103cbc785d0982ee7a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_EnableInterrupts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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>
</div><div class="memdoc">
<p>This function enables the FlexIO UART interrupt.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to FLEXIO_I2S_Type structure </td></tr>
<tr><td class="paramname">mask</td><td>interrupt source </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac82fba515a043339d8c131ebda348510"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_DisableInterrupts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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>
</div><div class="memdoc">
<p>This function enables the FlexIO UART interrupt.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>pointer to FLEXIO_I2S_Type structure </td></tr>
<tr><td class="paramname">mask</td><td>interrupt source </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga7163a1f52584f134fc328574ccc208d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void FLEXIO_I2S_TxEnableDMA </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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>FlexIO I2S base pointer </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="ga3542137bbd509b5657097f3e0aa2e4bf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void FLEXIO_I2S_RxEnableDMA </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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>FlexIO I2S base pointer </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="gaa407468114d14b18d58745464df5151f"></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 FLEXIO_I2S_TxGetDataRegisterAddress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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 returns the I2S data register address, mainly used by DMA/eDMA.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to FLEXIO_I2S_Type structure </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FlexIO i2s send data register address. </dd></dl>
</div>
</div>
<a class="anchor" id="gabc9503a27418cb0e1110803853171fb1"></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 FLEXIO_I2S_RxGetDataRegisterAddress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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 returns the I2S data register address, mainly used by DMA/eDMA.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to FLEXIO_I2S_Type structure </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FlexIO i2s receive data register address. </dd></dl>
</div>
</div>
<a class="anchor" id="ga12f775c48ef0376616d271de5e224e03"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_MasterSetFormat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00032.html#ga59a1d4e10fda508bc6872a65c72a4234">flexio_i2s_format_t</a> *&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>srcClock_Hz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Audio format can be changed in run-time of FlexIO I2S. 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>Pointer to FLEXIO_I2S_Type structure </td></tr>
<tr><td class="paramname">format</td><td>Pointer to FlexIO I2S audio data format structure. </td></tr>
<tr><td class="paramname">srcClock_Hz</td><td>I2S master clock source frequency in Hz. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga31e254b013b68f5c84a45794ee67e9b6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_SlaveSetFormat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00032.html#ga59a1d4e10fda508bc6872a65c72a4234">flexio_i2s_format_t</a> *&#160;</td>
<td class="paramname"><em>format</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Audio format can be changed in run-time of FlexIO I2S. 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>Pointer to FLEXIO_I2S_Type structure </td></tr>
<tr><td class="paramname">format</td><td>Pointer to FlexIO I2S audio data format structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gadf86d43e7db486d68ddf3c41d12ef37c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_I2S_WriteBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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>bitWidth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>txData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_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 via 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>FlexIO I2S base pointer. </td></tr>
<tr><td class="paramname">bitWidth</td><td>How many bits in a audio word, usually 8/16/24/32 bits. </td></tr>
<tr><td class="paramname">txData</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>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Successfully write data. </td></tr>
<tr><td class="paramname">kStatus_FLEXIO_I2C_Timeout</td><td>Timeout polling status flags. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga19b30ed9f8b1fc37675bc92cac35b871"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void FLEXIO_I2S_WriteData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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>bitWidth</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>FlexIO I2S base pointer. </td></tr>
<tr><td class="paramname">bitWidth</td><td>How many bits in a audio word, usually 8/16/24/32 bits. </td></tr>
<tr><td class="paramname">data</td><td>Data to be written. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac03239be31a9c4768e2d409de9e455f9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_I2S_ReadBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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>bitWidth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>rxData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_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 via 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>FlexIO I2S base pointer </td></tr>
<tr><td class="paramname">bitWidth</td><td>How many bits in a audio word, usually 8/16/24/32 bits. </td></tr>
<tr><td class="paramname">rxData</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>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Successfully read data. </td></tr>
<tr><td class="paramname">kStatus_FLEXIO_I2C_Timeout</td><td>Timeout polling status flags. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga87630cef372b980eb1c39cb339c432d0"></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 FLEXIO_I2S_ReadData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#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>FlexIO I2S base pointer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Data read from data register. </dd></dl>
</div>
</div>
<a class="anchor" id="ga31c71deb66991f9b63e80c88652461c5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_TransferTxCreateHandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00032.html#a00395">flexio_i2s_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="a00032.html#ga5ab500341d34539faaea54f985950046">flexio_i2s_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 FlexIO I2S handle which can be used for other FlexIO I2S transactional APIs. Call this API once to get the initialized handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to FLEXIO_I2S_Type structure </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to flexio_i2s_handle_t structure to store the transfer state. </td></tr>
<tr><td class="paramname">callback</td><td>FlexIO I2S callback function, which is called while finished a block. </td></tr>
<tr><td class="paramname">userData</td><td>User parameter for the FlexIO I2S callback. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga725a2486896d3e60f2723d651bd82b6f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_TransferSetFormat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00032.html#a00395">flexio_i2s_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="a00032.html#ga59a1d4e10fda508bc6872a65c72a4234">flexio_i2s_format_t</a> *&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>srcClock_Hz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Audio format can be changed at run-time of FlexIO I2S. 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>Pointer to FLEXIO_I2S_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>FlexIO I2S handle pointer. </td></tr>
<tr><td class="paramname">format</td><td>Pointer to audio data format structure. </td></tr>
<tr><td class="paramname">srcClock_Hz</td><td>FlexIO I2S bit clock source frequency in Hz. This parameter should be 0 while in slave mode. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga38f2a431871f5dfd9d07905b0f5ed81a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_TransferRxCreateHandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00032.html#a00395">flexio_i2s_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="a00032.html#ga5ab500341d34539faaea54f985950046">flexio_i2s_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 FlexIO I2S handle which can be used for other FlexIO I2S transactional APIs. Call this API once to get the initialized handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to FLEXIO_I2S_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to flexio_i2s_handle_t structure to store the transfer state. </td></tr>
<tr><td class="paramname">callback</td><td>FlexIO I2S callback function, which is called while finished a block. </td></tr>
<tr><td class="paramname">userData</td><td>User parameter for the FlexIO I2S callback. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga225948d3be017124dc7db4518e6a41d4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_I2S_TransferSendNonBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00032.html#a00395">flexio_i2s_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="a00032.html#gac75d826cfb18663febe134757abe38b4">flexio_i2s_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>The API returns immediately after transfer initiates. Call FLEXIO_I2S_GetRemainingBytes to poll the transfer status and check whether the transfer is finished. If the return status is 0, the transfer is finished.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to FLEXIO_I2S_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to flexio_i2s_handle_t structure which stores the transfer state </td></tr>
<tr><td class="paramname">xfer</td><td>Pointer to flexio_i2s_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 start the data transmission. </td></tr>
<tr><td class="paramname">kStatus_FLEXIO_I2S_TxBusy</td><td>Previous transmission still not finished, data not all written to TX register yet. </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="ga474f218ab7765525d1fd30ed10c04437"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_I2S_TransferReceiveNonBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00032.html#a00395">flexio_i2s_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="a00032.html#gac75d826cfb18663febe134757abe38b4">flexio_i2s_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>The API returns immediately after transfer initiates. Call FLEXIO_I2S_GetRemainingBytes to poll the transfer status to check whether the transfer is finished. If the return status is 0, the transfer is finished.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to FLEXIO_I2S_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to flexio_i2s_handle_t structure which stores the transfer state </td></tr>
<tr><td class="paramname">xfer</td><td>Pointer to flexio_i2s_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 start the data receive. </td></tr>
<tr><td class="paramname">kStatus_FLEXIO_I2S_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="ga3fb83f37b693d00a84f9b3108690cdff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_TransferAbortSend </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00032.html#a00395">flexio_i2s_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 at any time when interrupt non-blocking transfer initiates to abort the transfer in a early time.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to FLEXIO_I2S_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to flexio_i2s_handle_t structure which stores the transfer state </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga95208c72642fe24909c7708c1efbd9a4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_TransferAbortReceive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00032.html#a00395">flexio_i2s_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 at any time when interrupt non-blocking transfer initiates to abort the transfer in a early time.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to FLEXIO_I2S_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to flexio_i2s_handle_t structure which stores the transfer state </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga590a1845d2f37e2d8ca67d95a85b842a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_I2S_TransferGetSendCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00032.html#a00395">flexio_i2s_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>Pointer to FLEXIO_I2S_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to flexio_i2s_handle_t structure which stores the transfer state </td></tr>
<tr><td class="paramname">count</td><td>Bytes 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="gab1c4b7d6e2c63bdbd33a86ad4acf8c25"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_I2S_TransferGetReceiveCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00032.html#ga2a438e02744f1a3b4ad6f18314536966">FLEXIO_I2S_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00032.html#a00395">flexio_i2s_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>Pointer to FLEXIO_I2S_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to flexio_i2s_handle_t structure which stores the transfer state </td></tr>
<tr><td class="paramname">count</td><td>Bytes recieved. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>count Bytes received. </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="gab7706d68288d8c1fa2ad05d43ed459fe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_TransferTxHandleIRQ </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>i2sBase</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>i2sHandle</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">i2sBase</td><td>Pointer to FLEXIO_I2S_Type structure. </td></tr>
<tr><td class="paramname">i2sHandle</td><td>Pointer to flexio_i2s_handle_t structure </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gacb80c2a8216a31744378ebb39ad65c2b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_I2S_TransferRxHandleIRQ </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>i2sBase</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>i2sHandle</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">i2sBase</td><td>Pointer to FLEXIO_I2S_Type structure. </td></tr>
<tr><td class="paramname">i2sHandle</td><td>Pointer to flexio_i2s_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>