Files
E3/e3_176_ref/doc/Doxygen/html/sdrv__i2s_8h.html
2025-10-21 19:40:27 +08:00

1354 lines
70 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SemiDrive SSDK Appication Program Interface: Z:/01-Code/06-SSDK-DEV-Firewall/ssdk/drivers/include/sdrv_i2s.h File Reference</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.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 id="projectrow">
<td id="projectalign">
<div id="projectname">SemiDrive SSDK Appication Program Interface<span id="projectnumber">&#160;PTG3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_14bc92f4b96c8519b376567118ac28b3.html">drivers</a></li><li class="navelem"><a class="el" href="dir_ee023d43c33bfccc31aa50a48a76892b.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">sdrv_i2s.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;debug.h&gt;</code><br />
<code>#include &lt;reg.h&gt;</code><br />
<code>#include &lt;stdbool.h&gt;</code><br />
<code>#include &lt;types.h&gt;</code><br />
<code>#include &quot;<a class="el" href="sdrv__ckgen_8h_source.html">sdrv_ckgen.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="sdrv__common_8h_source.html">sdrv_common.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="sdrv__dma_8h_source.html">sdrv_dma.h</a>&quot;</code><br />
</div>
<p><a href="sdrv__i2s_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsdrv__i2s__dma__buf.html">sdrv_i2s_dma_buf</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsdrv__i2s__transfer.html">sdrv_i2s_transfer</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsdrv__i2s__params.html">sdrv_i2s_params</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsdrv__i2s__config.html">sdrv_i2s_config</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsdrv__i2s__dma__data.html">sdrv_i2s_dma_data</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsdrv__i2s__stream.html">sdrv_i2s_stream</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsdrv__i2s.html">sdrv_i2s</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 id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a9a674ceb749d6102a2d90b72b3a9d10d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__i2s_8h.html#a9a674ceb749d6102a2d90b72b3a9d10d">sdrv_i2s_init</a> (<a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *i2s, <a class="el" href="sdrv__i2s_8h.html#a9a3bc5e44b85573364ebc39aaa782a90">sdrv_i2s_config_t</a> *cfg)</td></tr>
<tr class="separator:a9a674ceb749d6102a2d90b72b3a9d10d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f08fe9fb2e73842928dc0da77d5458b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__i2s_8h.html#a8f08fe9fb2e73842928dc0da77d5458b">sdrv_i2s_get_default_params</a> (<a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *i2s, <a class="el" href="sdrv__i2s_8h.html#a6ab047d5f874a16c53329970f558434c">sdrv_i2s_params_t</a> *params, <a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a> type)</td></tr>
<tr class="separator:a8f08fe9fb2e73842928dc0da77d5458b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9755c018c57679de4169f602f25d63db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__i2s_8h.html#a9755c018c57679de4169f602f25d63db">sdrv_i2s_set_params</a> (<a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *i2s, <a class="el" href="sdrv__i2s_8h.html#a6ab047d5f874a16c53329970f558434c">sdrv_i2s_params_t</a> *params, <a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a> type)</td></tr>
<tr class="separator:a9755c018c57679de4169f602f25d63db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a906fc09455cbf2b56568aa570803f344"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__i2s_8h.html#a906fc09455cbf2b56568aa570803f344">sdrv_i2s_create_transfer</a> (<a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *i2s, <a class="el" href="sdrv__i2s_8h.html#a615d0d01131e90610915cf0739824f81">sdrv_i2s_callback</a> callback, void *context, <a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a> type)</td></tr>
<tr class="separator:a906fc09455cbf2b56568aa570803f344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6527b9515a0c7975af5254eec70c959"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__i2s_8h.html#af6527b9515a0c7975af5254eec70c959">sdrv_i2s_submit_transfer</a> (<a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *i2s, <a class="el" href="sdrv__i2s_8h.html#a7638daec06940440d528b00df54568de">sdrv_i2s_transfer_t</a> *transfer, <a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a> type)</td></tr>
<tr class="separator:af6527b9515a0c7975af5254eec70c959"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8b4a61217136b0d5c5f770e66bbb1df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__i2s_8h.html#ad8b4a61217136b0d5c5f770e66bbb1df">sdrv_i2s_start</a> (<a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *i2s, <a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a> type)</td></tr>
<tr class="separator:ad8b4a61217136b0d5c5f770e66bbb1df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b0f3c0ef12c74dfa12e314fd9f3e413"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__i2s_8h.html#a8b0f3c0ef12c74dfa12e314fd9f3e413">sdrv_i2s_stop</a> (<a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *i2s, <a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a> type)</td></tr>
<tr class="separator:a8b0f3c0ef12c74dfa12e314fd9f3e413"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section copyright"><dt>Copyright</dt><dd>Copyright (c) 2021 Semidrive Semiconductor. All rights reserved. </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a4371a912d7dfce1bf4bf5a83d32a1cf6" name="a4371a912d7dfce1bf4bf5a83d32a1cf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4371a912d7dfce1bf4bf5a83d32a1cf6">&#9670;&nbsp;</a></span>SDRV_I2S_CHNNELS_BYTES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_CHNNELS_BYTES&#160;&#160;&#160;(<a class="el" href="sdrv__i2s_8h.html#abc2325752b564e196b8538ebfc370eafa8514e9c1cee24a4f4f4a7d0871d581de">SDRV_I2S_SAMPLE_WIDTH_16BITS</a> / 8)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abe89e32ca84166783efd83dfecf3f493" name="abe89e32ca84166783efd83dfecf3f493"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe89e32ca84166783efd83dfecf3f493">&#9670;&nbsp;</a></span>SDRV_I2S_CHNNELS_COUNT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_CHNNELS_COUNT&#160;&#160;&#160;2</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afa7c07c11863179b66d3bfb013cefebc" name="afa7c07c11863179b66d3bfb013cefebc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa7c07c11863179b66d3bfb013cefebc">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_CODEC_MASTER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_CODEC_MASTER&#160;&#160;&#160;(2 &lt;&lt; 4)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a30b6eacb26dc02e8a5e9a7556b65022e" name="a30b6eacb26dc02e8a5e9a7556b65022e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30b6eacb26dc02e8a5e9a7556b65022e">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_CODEC_SLAVE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_CODEC_SLAVE&#160;&#160;&#160;(1 &lt;&lt; 4)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6f8cde6509295226f2bead33717d53c8" name="a6f8cde6509295226f2bead33717d53c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f8cde6509295226f2bead33717d53c8">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_DSP_A</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_DSP_A&#160;&#160;&#160;4</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae1f38188e931ffc9c5c50e21864ca004" name="ae1f38188e931ffc9c5c50e21864ca004"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1f38188e931ffc9c5c50e21864ca004">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_DSP_B</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_DSP_B&#160;&#160;&#160;5</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4a0b4632f0343687425976461e5b4c16" name="a4a0b4632f0343687425976461e5b4c16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a0b4632f0343687425976461e5b4c16">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_FORMAT_MASK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_FORMAT_MASK&#160;&#160;&#160;0x0f</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a957cf9ac4b7395102e425cc602bf0954" name="a957cf9ac4b7395102e425cc602bf0954"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a957cf9ac4b7395102e425cc602bf0954">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_IB_IF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_IB_IF&#160;&#160;&#160;(4 &lt;&lt; <a class="el" href="sdrv__i2s_8h.html#a69e067a9ca1cb34ec6267f1b0e1c327a">SDRV_I2S_DAIFMT_INV_OFFSET</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1b12b253bfb1faab213335bf8008385f" name="a1b12b253bfb1faab213335bf8008385f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b12b253bfb1faab213335bf8008385f">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_IB_NF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_IB_NF&#160;&#160;&#160;(3 &lt;&lt; <a class="el" href="sdrv__i2s_8h.html#a69e067a9ca1cb34ec6267f1b0e1c327a">SDRV_I2S_DAIFMT_INV_OFFSET</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a02a5c1108a15539fc9df01bb84ab8e73" name="a02a5c1108a15539fc9df01bb84ab8e73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02a5c1108a15539fc9df01bb84ab8e73">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_INV_MASK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_INV_MASK&#160;&#160;&#160;0x0f00</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a69e067a9ca1cb34ec6267f1b0e1c327a" name="a69e067a9ca1cb34ec6267f1b0e1c327a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69e067a9ca1cb34ec6267f1b0e1c327a">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_INV_OFFSET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_INV_OFFSET&#160;&#160;&#160;8</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a98bd05cfc7666c28a8bb0804637b7576" name="a98bd05cfc7666c28a8bb0804637b7576"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98bd05cfc7666c28a8bb0804637b7576">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_LEFT_JUSTIFIED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_LEFT_JUSTIFIED&#160;&#160;&#160;2</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a511d3be7ea792d1761d6b65c5fbc3265" name="a511d3be7ea792d1761d6b65c5fbc3265"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a511d3be7ea792d1761d6b65c5fbc3265">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_MASTER_MASK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_MASTER_MASK&#160;&#160;&#160;(0x0f0)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a552d5d3cf70d90d2fc8313a8de8d709b" name="a552d5d3cf70d90d2fc8313a8de8d709b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a552d5d3cf70d90d2fc8313a8de8d709b">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_NB_IF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_NB_IF&#160;&#160;&#160;(<a class="el" href="sdrv__i2s_8h.html#a69e067a9ca1cb34ec6267f1b0e1c327a">SDRV_I2S_DAIFMT_INV_OFFSET</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a42746486c2875b850dfea3b8fd76ebd4" name="a42746486c2875b850dfea3b8fd76ebd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42746486c2875b850dfea3b8fd76ebd4">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_NB_NF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_NB_NF&#160;&#160;&#160;(0 &lt;&lt; <a class="el" href="sdrv__i2s_8h.html#a69e067a9ca1cb34ec6267f1b0e1c327a">SDRV_I2S_DAIFMT_INV_OFFSET</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6726401e5af32cb2f42cc0e3f6e868a8" name="a6726401e5af32cb2f42cc0e3f6e868a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6726401e5af32cb2f42cc0e3f6e868a8">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_RIGHT_JUSTIFIED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_RIGHT_JUSTIFIED&#160;&#160;&#160;3</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afd02de7414b105098e2f6a277932af12" name="afd02de7414b105098e2f6a277932af12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd02de7414b105098e2f6a277932af12">&#9670;&nbsp;</a></span>SDRV_I2S_DAIFMT_STANDARD_PHILLIPS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DAIFMT_STANDARD_PHILLIPS&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a29f1a37e3d509e74d0d4de5307293c25" name="a29f1a37e3d509e74d0d4de5307293c25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29f1a37e3d509e74d0d4de5307293c25">&#9670;&nbsp;</a></span>SDRV_I2S_DMA_BUF_TOTAL_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DMA_BUF_TOTAL_SIZE&#160;&#160;&#160; SDRV_I2S_DMA_PERIOD_SIZE *<a class="el" href="sdrv__i2s_8h.html#a113b72b6c67b1e92f18126625443415a">SDRV_I2S_DMA_PERIOD_COUNT</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa6b0c2e65bf614feb4e3de4b4b13c949" name="aa6b0c2e65bf614feb4e3de4b4b13c949"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6b0c2e65bf614feb4e3de4b4b13c949">&#9670;&nbsp;</a></span>SDRV_I2S_DMA_PERIOD_BYTES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DMA_PERIOD_BYTES</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <a class="code hl_define" href="sdrv__i2s_8h.html#a8a50562342c52e774074d20a9bb34297">SDRV_I2S_DMA_PERIOD_FRAME_SIZE</a> *<a class="code hl_define" href="sdrv__i2s_8h.html#abe89e32ca84166783efd83dfecf3f493">SDRV_I2S_CHNNELS_COUNT</a> \</div>
<div class="line"> *<a class="code hl_define" href="sdrv__i2s_8h.html#a4371a912d7dfce1bf4bf5a83d32a1cf6">SDRV_I2S_CHNNELS_BYTES</a></div>
<div class="ttc" id="asdrv__i2s_8h_html_a4371a912d7dfce1bf4bf5a83d32a1cf6"><div class="ttname"><a href="sdrv__i2s_8h.html#a4371a912d7dfce1bf4bf5a83d32a1cf6">SDRV_I2S_CHNNELS_BYTES</a></div><div class="ttdeci">#define SDRV_I2S_CHNNELS_BYTES</div><div class="ttdef"><b>Definition:</b> sdrv_i2s.h:53</div></div>
<div class="ttc" id="asdrv__i2s_8h_html_a8a50562342c52e774074d20a9bb34297"><div class="ttname"><a href="sdrv__i2s_8h.html#a8a50562342c52e774074d20a9bb34297">SDRV_I2S_DMA_PERIOD_FRAME_SIZE</a></div><div class="ttdeci">#define SDRV_I2S_DMA_PERIOD_FRAME_SIZE</div><div class="ttdef"><b>Definition:</b> sdrv_i2s.h:54</div></div>
<div class="ttc" id="asdrv__i2s_8h_html_abe89e32ca84166783efd83dfecf3f493"><div class="ttname"><a href="sdrv__i2s_8h.html#abe89e32ca84166783efd83dfecf3f493">SDRV_I2S_CHNNELS_COUNT</a></div><div class="ttdeci">#define SDRV_I2S_CHNNELS_COUNT</div><div class="ttdef"><b>Definition:</b> sdrv_i2s.h:52</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a113b72b6c67b1e92f18126625443415a" name="a113b72b6c67b1e92f18126625443415a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a113b72b6c67b1e92f18126625443415a">&#9670;&nbsp;</a></span>SDRV_I2S_DMA_PERIOD_COUNT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DMA_PERIOD_COUNT&#160;&#160;&#160;2</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8a50562342c52e774074d20a9bb34297" name="a8a50562342c52e774074d20a9bb34297"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a50562342c52e774074d20a9bb34297">&#9670;&nbsp;</a></span>SDRV_I2S_DMA_PERIOD_FRAME_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_DMA_PERIOD_FRAME_SIZE&#160;&#160;&#160;1024 * 4</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3fe40efb6b92266b339ff80529a0e908" name="a3fe40efb6b92266b339ff80529a0e908"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fe40efb6b92266b339ff80529a0e908">&#9670;&nbsp;</a></span>SDRV_I2S_SEL_CHNULL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_SEL_CHNULL&#160;&#160;&#160;0x00</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aaf6e42da9b19aaf877a49f0ee525f0c6" name="aaf6e42da9b19aaf877a49f0ee525f0c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf6e42da9b19aaf877a49f0ee525f0c6">&#9670;&nbsp;</a></span>SDRV_I2S_SEL_DATALINE0</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_SEL_DATALINE0&#160;&#160;&#160;(0x01 &lt;&lt; 0)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a258a0742a21130e15a89669c6d932ae8" name="a258a0742a21130e15a89669c6d932ae8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a258a0742a21130e15a89669c6d932ae8">&#9670;&nbsp;</a></span>SDRV_I2S_SEL_DATALINE1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_SEL_DATALINE1&#160;&#160;&#160;(0x01 &lt;&lt; 1)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac9b5c9cf2aec17e7a70d3582c82dffda" name="ac9b5c9cf2aec17e7a70d3582c82dffda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9b5c9cf2aec17e7a70d3582c82dffda">&#9670;&nbsp;</a></span>SDRV_I2S_SEL_DATALINE2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_SEL_DATALINE2&#160;&#160;&#160;(0x01 &lt;&lt; 2)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0285b4ea59ef2ad19082862f5e1b1dd3" name="a0285b4ea59ef2ad19082862f5e1b1dd3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0285b4ea59ef2ad19082862f5e1b1dd3">&#9670;&nbsp;</a></span>SDRV_I2S_SEL_DATALINE3</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_SEL_DATALINE3&#160;&#160;&#160;(0x01 &lt;&lt; 3)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af04efffa7fdc1f97e1780f54ef372080" name="af04efffa7fdc1f97e1780f54ef372080"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af04efffa7fdc1f97e1780f54ef372080">&#9670;&nbsp;</a></span>SDRV_I2S_SEL_DATALINE4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_SEL_DATALINE4&#160;&#160;&#160;(0x01 &lt;&lt; 4)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8db72ee6ba01a9bdc24ab6aa814b4702" name="a8db72ee6ba01a9bdc24ab6aa814b4702"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8db72ee6ba01a9bdc24ab6aa814b4702">&#9670;&nbsp;</a></span>SDRV_I2S_SEL_DATALINE5</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_SEL_DATALINE5&#160;&#160;&#160;(0x01 &lt;&lt; 5)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2f3193a8d32597684ac62bada2297eb2" name="a2f3193a8d32597684ac62bada2297eb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f3193a8d32597684ac62bada2297eb2">&#9670;&nbsp;</a></span>SDRV_I2S_SEL_DATALINE6</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_SEL_DATALINE6&#160;&#160;&#160;(0x01 &lt;&lt; 6)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa24178193d915046d9d36e41a67d4381" name="aa24178193d915046d9d36e41a67d4381"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa24178193d915046d9d36e41a67d4381">&#9670;&nbsp;</a></span>SDRV_I2S_SEL_DATALINE7</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_SEL_DATALINE7&#160;&#160;&#160;(0x01 &lt;&lt; 7)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae9b7f4ebc25907da7150d0134835457d" name="ae9b7f4ebc25907da7150d0134835457d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9b7f4ebc25907da7150d0134835457d">&#9670;&nbsp;</a></span>SDRV_I2S_XFER_NUM_BUFFERS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_I2S_XFER_NUM_BUFFERS&#160;&#160;&#160;(4U)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a615d0d01131e90610915cf0739824f81" name="a615d0d01131e90610915cf0739824f81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a615d0d01131e90610915cf0739824f81">&#9670;&nbsp;</a></span>sdrv_i2s_callback</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* sdrv_i2s_callback) (<a class="el" href="sdrv__i2s_8h.html#a7638daec06940440d528b00df54568de">sdrv_i2s_transfer_t</a> *transfer, void *context, <a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a> state)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3ceafb85aa2da0df4df4a27277ea7b17" name="a3ceafb85aa2da0df4df4a27277ea7b17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ceafb85aa2da0df4df4a27277ea7b17">&#9670;&nbsp;</a></span>sdrv_i2s_channel_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__i2s_8h.html#a3d6251a810533b860596b53a73c21924">i2s_channel</a> <a class="el" href="sdrv__i2s_8h.html#a3ceafb85aa2da0df4df4a27277ea7b17">sdrv_i2s_channel_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s channel num </p>
</div>
</div>
<a id="ad5fdd6886dc5048637df684a0fafd69b" name="ad5fdd6886dc5048637df684a0fafd69b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5fdd6886dc5048637df684a0fafd69b">&#9670;&nbsp;</a></span>sdrv_i2s_clk_sync_type_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__i2s_8h.html#a83a725cedc6cc2ca8e51ec1e083f6e15">sdrv_i2s_clk_sync_type</a> <a class="el" href="sdrv__i2s_8h.html#ad5fdd6886dc5048637df684a0fafd69b">sdrv_i2s_clk_sync_type_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>sdrv i2s sync mode ,select sck and ws source </p>
</div>
</div>
<a id="a9a3bc5e44b85573364ebc39aaa782a90" name="a9a3bc5e44b85573364ebc39aaa782a90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a3bc5e44b85573364ebc39aaa782a90">&#9670;&nbsp;</a></span>sdrv_i2s_config_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsdrv__i2s__config.html">sdrv_i2s_config</a> <a class="el" href="sdrv__i2s_8h.html#a9a3bc5e44b85573364ebc39aaa782a90">sdrv_i2s_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s controller configurations </p>
</div>
</div>
<a id="ad76a2a2355501f6cc5279fbf1a303f8d" name="ad76a2a2355501f6cc5279fbf1a303f8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad76a2a2355501f6cc5279fbf1a303f8d">&#9670;&nbsp;</a></span>sdrv_i2s_dma_buf_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsdrv__i2s__dma__buf.html">sdrv_i2s_dma_buf</a> <a class="el" href="sdrv__i2s_8h.html#ad76a2a2355501f6cc5279fbf1a303f8d">sdrv_i2s_dma_buf_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s dma buff descriptions,which is used to transfer data in dma mod </p>
</div>
</div>
<a id="a3a8b46f8dac66f0086a65ef34f0841c8" name="a3a8b46f8dac66f0086a65ef34f0841c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a8b46f8dac66f0086a65ef34f0841c8">&#9670;&nbsp;</a></span>sdrv_i2s_dma_data_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsdrv__i2s__dma__data.html">sdrv_i2s_dma_data</a> <a class="el" href="sdrv__i2s_8h.html#a3a8b46f8dac66f0086a65ef34f0841c8">sdrv_i2s_dma_data_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s dma fifo descriptions </p>
</div>
</div>
<a id="a6465f6edaf86cfafc1902ecbad8b5fd5" name="a6465f6edaf86cfafc1902ecbad8b5fd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6465f6edaf86cfafc1902ecbad8b5fd5">&#9670;&nbsp;</a></span>sdrv_i2s_mclk_dir_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__i2s_8h.html#acade8dd5119cb0ea4dc401028e4de4cf">sdrv_i2s_mclk_dir</a> <a class="el" href="sdrv__i2s_8h.html#a6465f6edaf86cfafc1902ecbad8b5fd5">sdrv_i2s_mclk_dir_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s mclk direction selection in or out </p>
</div>
</div>
<a id="a60e17e3ab5f499ce55dd4075a638c3e7" name="a60e17e3ab5f499ce55dd4075a638c3e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60e17e3ab5f499ce55dd4075a638c3e7">&#9670;&nbsp;</a></span>sdrv_i2s_mclk_sel_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__i2s_8h.html#a2e4bd2ae9fc0e91465bdbc98f59e72ee">sdrv_i2s_mclk_sel</a> <a class="el" href="sdrv__i2s_8h.html#a60e17e3ab5f499ce55dd4075a638c3e7">sdrv_i2s_mclk_sel_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s mclk selection mclk0 or mclk1 </p>
</div>
</div>
<a id="a6ab047d5f874a16c53329970f558434c" name="a6ab047d5f874a16c53329970f558434c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ab047d5f874a16c53329970f558434c">&#9670;&nbsp;</a></span>sdrv_i2s_params_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsdrv__i2s__params.html">sdrv_i2s_params</a> <a class="el" href="sdrv__i2s_8h.html#a6ab047d5f874a16c53329970f558434c">sdrv_i2s_params_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>sdrv i2s configurations params, </p>
</div>
</div>
<a id="a6239c6b3db1da63ad12051a1e159fc60" name="a6239c6b3db1da63ad12051a1e159fc60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6239c6b3db1da63ad12051a1e159fc60">&#9670;&nbsp;</a></span>sdrv_i2s_sample_rate_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__i2s_8h.html#a895e24a49fef3236dfe5da0840f78201">sdrv_i2s_sample_rate</a> <a class="el" href="sdrv__i2s_8h.html#a6239c6b3db1da63ad12051a1e159fc60">sdrv_i2s_sample_rate_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s sample rate </p>
</div>
</div>
<a id="adc4d1dd02bcd0552926375f88bcd640d" name="adc4d1dd02bcd0552926375f88bcd640d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc4d1dd02bcd0552926375f88bcd640d">&#9670;&nbsp;</a></span>sdrv_i2s_sample_width_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__i2s_8h.html#abc2325752b564e196b8538ebfc370eaf">sdrv_i2s_sample_width</a> <a class="el" href="sdrv__i2s_8h.html#adc4d1dd02bcd0552926375f88bcd640d">sdrv_i2s_sample_width_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>sample width </p>
</div>
</div>
<a id="ad7a6e3fa9046293c6452347de5ba5662" name="ad7a6e3fa9046293c6452347de5ba5662"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7a6e3fa9046293c6452347de5ba5662">&#9670;&nbsp;</a></span>sdrv_i2s_slot_width_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__i2s_8h.html#a034fc17fba3bac3aa9bea9502b3524a7">sdrv_i2s_slot_width</a> <a class="el" href="sdrv__i2s_8h.html#ad7a6e3fa9046293c6452347de5ba5662">sdrv_i2s_slot_width_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>slot width </p>
</div>
</div>
<a id="aa5843b9268b1f21e4eaa85c5d6df238c" name="aa5843b9268b1f21e4eaa85c5d6df238c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5843b9268b1f21e4eaa85c5d6df238c">&#9670;&nbsp;</a></span>sdrv_i2s_status_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__i2s_8h.html#a02a5bbd9da6d2235bcccb54be164fa87">sdrv_i2s_status</a> <a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9e56ea1858e3a2851216bf2b3023605b" name="a9e56ea1858e3a2851216bf2b3023605b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e56ea1858e3a2851216bf2b3023605b">&#9670;&nbsp;</a></span>sdrv_i2s_stream_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsdrv__i2s__stream.html">sdrv_i2s_stream</a> <a class="el" href="sdrv__i2s_8h.html#a9e56ea1858e3a2851216bf2b3023605b">sdrv_i2s_stream_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>playback capture descriptions </p>
</div>
</div>
<a id="a4f5c32bff95e815bd590b11f885fd34c" name="a4f5c32bff95e815bd590b11f885fd34c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f5c32bff95e815bd590b11f885fd34c">&#9670;&nbsp;</a></span>sdrv_i2s_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsdrv__i2s.html">sdrv_i2s</a> <a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s controller descriptions </p>
</div>
</div>
<a id="a7638daec06940440d528b00df54568de" name="a7638daec06940440d528b00df54568de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7638daec06940440d528b00df54568de">&#9670;&nbsp;</a></span>sdrv_i2s_transfer_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsdrv__i2s__transfer.html">sdrv_i2s_transfer</a> <a class="el" href="sdrv__i2s_8h.html#a7638daec06940440d528b00df54568de">sdrv_i2s_transfer_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>sdrv i2s transfer descriptions </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a3d6251a810533b860596b53a73c21924" name="a3d6251a810533b860596b53a73c21924"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d6251a810533b860596b53a73c21924">&#9670;&nbsp;</a></span>i2s_channel</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__i2s_8h.html#a3d6251a810533b860596b53a73c21924">i2s_channel</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s channel num </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924af23acff687c845c3a9a3bd1933c786bd" name="a3d6251a810533b860596b53a73c21924af23acff687c845c3a9a3bd1933c786bd"></a>SDRV_I2S_CHANNEL_NUM_MONO&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924af35ad5f3ed138b6a31079c994aa15a57" name="a3d6251a810533b860596b53a73c21924af35ad5f3ed138b6a31079c994aa15a57"></a>SDRV_I2S_CHANNEL_NUM_STEREO&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924a8a1228762d04122891c8878c4c5070a3" name="a3d6251a810533b860596b53a73c21924a8a1228762d04122891c8878c4c5070a3"></a>SDRV_I2S_CHANNEL_NUM_3CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924aa73bfb6ee3e9e158376324405247d14d" name="a3d6251a810533b860596b53a73c21924aa73bfb6ee3e9e158376324405247d14d"></a>SDRV_I2S_CHANNEL_NUM_4CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924a9eac8dcdb5ff5b3267dfbbff85477fa0" name="a3d6251a810533b860596b53a73c21924a9eac8dcdb5ff5b3267dfbbff85477fa0"></a>SDRV_I2S_CHANNEL_NUM_5CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924a1be9995c9a295eb2497b83607a75c480" name="a3d6251a810533b860596b53a73c21924a1be9995c9a295eb2497b83607a75c480"></a>SDRV_I2S_CHANNEL_NUM_6CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924a55aa03862ae2afa93a4a8ee583e3025e" name="a3d6251a810533b860596b53a73c21924a55aa03862ae2afa93a4a8ee583e3025e"></a>SDRV_I2S_CHANNEL_NUM_7CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924ac9a41a048996f486a1b0ef313141f603" name="a3d6251a810533b860596b53a73c21924ac9a41a048996f486a1b0ef313141f603"></a>SDRV_I2S_CHANNEL_NUM_8CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924a497c9118213ad59d497d55594632183f" name="a3d6251a810533b860596b53a73c21924a497c9118213ad59d497d55594632183f"></a>SDRV_I2S_CHANNEL_NUM_9CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924a8f57d557493a4b744dcf64e7b5e5a751" name="a3d6251a810533b860596b53a73c21924a8f57d557493a4b744dcf64e7b5e5a751"></a>SDRV_I2S_CHANNEL_NUM_10CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924a047709c25124ebd8f2eac8f576c58f56" name="a3d6251a810533b860596b53a73c21924a047709c25124ebd8f2eac8f576c58f56"></a>SDRV_I2S_CHANNEL_NUM_11CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924a49c80f3a1c41fdd4374494ae283049df" name="a3d6251a810533b860596b53a73c21924a49c80f3a1c41fdd4374494ae283049df"></a>SDRV_I2S_CHANNEL_NUM_12CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924a7398571ba47ccc68ad8771c2f5a323db" name="a3d6251a810533b860596b53a73c21924a7398571ba47ccc68ad8771c2f5a323db"></a>SDRV_I2S_CHANNEL_NUM_13CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924af3a2bacde06246ad5e2a008d4084fd55" name="a3d6251a810533b860596b53a73c21924af3a2bacde06246ad5e2a008d4084fd55"></a>SDRV_I2S_CHANNEL_NUM_14CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924ae0c32884c5e2360cdeba5c8cb5ad9a4c" name="a3d6251a810533b860596b53a73c21924ae0c32884c5e2360cdeba5c8cb5ad9a4c"></a>SDRV_I2S_CHANNEL_NUM_15CHANS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3d6251a810533b860596b53a73c21924a1808b47b71af9ee757a6f6b6ebce7c72" name="a3d6251a810533b860596b53a73c21924a1808b47b71af9ee757a6f6b6ebce7c72"></a>SDRV_I2S_CHANNEL_NUM_16CHANS&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a83a725cedc6cc2ca8e51ec1e083f6e15" name="a83a725cedc6cc2ca8e51ec1e083f6e15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83a725cedc6cc2ca8e51ec1e083f6e15">&#9670;&nbsp;</a></span>sdrv_i2s_clk_sync_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__i2s_8h.html#a83a725cedc6cc2ca8e51ec1e083f6e15">sdrv_i2s_clk_sync_type</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>sdrv i2s sync mode ,select sck and ws source </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a83a725cedc6cc2ca8e51ec1e083f6e15a886a520a1c1e78da4dab2ed818812689" name="a83a725cedc6cc2ca8e51ec1e083f6e15a886a520a1c1e78da4dab2ed818812689"></a>SDRV_I2S_CLK_TX_SYNC&#160;</td><td class="fielddoc"><p >tx clk synchronization, rx will shares tx clk rx clk synchronization, tx will shares rx clk </p>
</td></tr>
<tr><td class="fieldname"><a id="a83a725cedc6cc2ca8e51ec1e083f6e15abc42f95cbd54f5e8c11cd7d07f69c2c5" name="a83a725cedc6cc2ca8e51ec1e083f6e15abc42f95cbd54f5e8c11cd7d07f69c2c5"></a>SDRV_I2S_CLK_RX_SYNC&#160;</td><td class="fielddoc"><p >async mode,tx and rx work on their respective clocks </p>
</td></tr>
<tr><td class="fieldname"><a id="a83a725cedc6cc2ca8e51ec1e083f6e15a8036884e6cfc62871693046132d14d38" name="a83a725cedc6cc2ca8e51ec1e083f6e15a8036884e6cfc62871693046132d14d38"></a>SDRV_I2S_CLK_TX_RX_ASYNC&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="acade8dd5119cb0ea4dc401028e4de4cf" name="acade8dd5119cb0ea4dc401028e4de4cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acade8dd5119cb0ea4dc401028e4de4cf">&#9670;&nbsp;</a></span>sdrv_i2s_mclk_dir</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__i2s_8h.html#acade8dd5119cb0ea4dc401028e4de4cf">sdrv_i2s_mclk_dir</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s mclk direction selection in or out </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="acade8dd5119cb0ea4dc401028e4de4cfa6250565a2e12b06561560213b6ac9497" name="acade8dd5119cb0ea4dc401028e4de4cfa6250565a2e12b06561560213b6ac9497"></a>SDRV_I2S_MCLK_IN&#160;</td><td class="fielddoc"><p >i2s mclk in </p>
</td></tr>
<tr><td class="fieldname"><a id="acade8dd5119cb0ea4dc401028e4de4cfa55a7f434895f0da360459c67a12aef1d" name="acade8dd5119cb0ea4dc401028e4de4cfa55a7f434895f0da360459c67a12aef1d"></a>SDRV_I2S_MCLK_OUT&#160;</td><td class="fielddoc"><p >i2s mclk out,default out </p>
</td></tr>
</table>
</div>
</div>
<a id="a2e4bd2ae9fc0e91465bdbc98f59e72ee" name="a2e4bd2ae9fc0e91465bdbc98f59e72ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e4bd2ae9fc0e91465bdbc98f59e72ee">&#9670;&nbsp;</a></span>sdrv_i2s_mclk_sel</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__i2s_8h.html#a2e4bd2ae9fc0e91465bdbc98f59e72ee">sdrv_i2s_mclk_sel</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s mclk selection mclk0 or mclk1 </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2e4bd2ae9fc0e91465bdbc98f59e72eea6defecd392c88aab91738d13cee4abad" name="a2e4bd2ae9fc0e91465bdbc98f59e72eea6defecd392c88aab91738d13cee4abad"></a>SDRV_I2S_MCLK_NULL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2e4bd2ae9fc0e91465bdbc98f59e72eea75afd984bd2f0c2973825cfa68932fa7" name="a2e4bd2ae9fc0e91465bdbc98f59e72eea75afd984bd2f0c2973825cfa68932fa7"></a>SDRV_I2S_MCLK_0&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2e4bd2ae9fc0e91465bdbc98f59e72eeab1adc332671319628c346bb0f8dac9c8" name="a2e4bd2ae9fc0e91465bdbc98f59e72eeab1adc332671319628c346bb0f8dac9c8"></a>SDRV_I2S_MCLK_1&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a895e24a49fef3236dfe5da0840f78201" name="a895e24a49fef3236dfe5da0840f78201"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a895e24a49fef3236dfe5da0840f78201">&#9670;&nbsp;</a></span>sdrv_i2s_sample_rate</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__i2s_8h.html#a895e24a49fef3236dfe5da0840f78201">sdrv_i2s_sample_rate</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>i2s sample rate </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201a2614ff2bd80c0c5130f7de54d76d582b" name="a895e24a49fef3236dfe5da0840f78201a2614ff2bd80c0c5130f7de54d76d582b"></a>SDRV_I2S_SR_NO_INIT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201ae6fd183643a90bc954cdb13fe9e1c608" name="a895e24a49fef3236dfe5da0840f78201ae6fd183643a90bc954cdb13fe9e1c608"></a>SDRV_I2S_SR_5512&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201a940180c729beb10c8c73fd92c1e63003" name="a895e24a49fef3236dfe5da0840f78201a940180c729beb10c8c73fd92c1e63003"></a>SDRV_I2S_SR_8000&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201aa0c500c1565277ed2d8165b14429c403" name="a895e24a49fef3236dfe5da0840f78201aa0c500c1565277ed2d8165b14429c403"></a>SDRV_I2S_SR_11025&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201a4aa6d14053676d459642a4759aebf9a1" name="a895e24a49fef3236dfe5da0840f78201a4aa6d14053676d459642a4759aebf9a1"></a>SDRV_I2S_SR_16000&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201a0d184216ac1dfcb59f815696fa7fa9ca" name="a895e24a49fef3236dfe5da0840f78201a0d184216ac1dfcb59f815696fa7fa9ca"></a>SDRV_I2S_SR_22050&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201a50b667340936fb6fa4d933a1421b7d38" name="a895e24a49fef3236dfe5da0840f78201a50b667340936fb6fa4d933a1421b7d38"></a>SDRV_I2S_SR_32000&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201ae963d41db6d0d7c4ed7a6b5564fc002b" name="a895e24a49fef3236dfe5da0840f78201ae963d41db6d0d7c4ed7a6b5564fc002b"></a>SDRV_I2S_SR_44100&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201a6da620c090d7ad1a0ef8fcb353e179f3" name="a895e24a49fef3236dfe5da0840f78201a6da620c090d7ad1a0ef8fcb353e179f3"></a>SDRV_I2S_SR_48000&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201ad8c84e78bdc2420ca8fe572e2f64c2b6" name="a895e24a49fef3236dfe5da0840f78201ad8c84e78bdc2420ca8fe572e2f64c2b6"></a>SDRV_I2S_SR_64000&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201a64dc74a876c19b206fbcd15d0cc78419" name="a895e24a49fef3236dfe5da0840f78201a64dc74a876c19b206fbcd15d0cc78419"></a>SDRV_I2S_SR_88200&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201a1b1bbf8a09e650194723509c749b1968" name="a895e24a49fef3236dfe5da0840f78201a1b1bbf8a09e650194723509c749b1968"></a>SDRV_I2S_SR_96000&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201a3fdba3a140df9783152bcb12f623e98c" name="a895e24a49fef3236dfe5da0840f78201a3fdba3a140df9783152bcb12f623e98c"></a>SDRV_I2S_SR_176400&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a895e24a49fef3236dfe5da0840f78201a52f90cb5df84b0acb0d9346ce6641057" name="a895e24a49fef3236dfe5da0840f78201a52f90cb5df84b0acb0d9346ce6641057"></a>SDRV_I2S_SR_192000&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="abc2325752b564e196b8538ebfc370eaf" name="abc2325752b564e196b8538ebfc370eaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc2325752b564e196b8538ebfc370eaf">&#9670;&nbsp;</a></span>sdrv_i2s_sample_width</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__i2s_8h.html#abc2325752b564e196b8538ebfc370eaf">sdrv_i2s_sample_width</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>sample width </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="abc2325752b564e196b8538ebfc370eafaeac952aa8c86379fe6716fbec7942560" name="abc2325752b564e196b8538ebfc370eafaeac952aa8c86379fe6716fbec7942560"></a>SDRV_I2S_SAMPLE_WIDTH_8BITS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abc2325752b564e196b8538ebfc370eafa8514e9c1cee24a4f4f4a7d0871d581de" name="abc2325752b564e196b8538ebfc370eafa8514e9c1cee24a4f4f4a7d0871d581de"></a>SDRV_I2S_SAMPLE_WIDTH_16BITS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abc2325752b564e196b8538ebfc370eafa4347d377c71a18e0b50184891ae6dee6" name="abc2325752b564e196b8538ebfc370eafa4347d377c71a18e0b50184891ae6dee6"></a>SDRV_I2S_SAMPLE_WIDTH_24BITS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abc2325752b564e196b8538ebfc370eafa4e7d1bcc161b9a68ca6f9923309231cc" name="abc2325752b564e196b8538ebfc370eafa4e7d1bcc161b9a68ca6f9923309231cc"></a>SDRV_I2S_SAMPLE_WIDTH_32BITS&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a034fc17fba3bac3aa9bea9502b3524a7" name="a034fc17fba3bac3aa9bea9502b3524a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a034fc17fba3bac3aa9bea9502b3524a7">&#9670;&nbsp;</a></span>sdrv_i2s_slot_width</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__i2s_8h.html#a034fc17fba3bac3aa9bea9502b3524a7">sdrv_i2s_slot_width</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>slot width </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a034fc17fba3bac3aa9bea9502b3524a7ab4604239867a76d95769eddfa0cc2453" name="a034fc17fba3bac3aa9bea9502b3524a7ab4604239867a76d95769eddfa0cc2453"></a>SDRV_I2S_SLOT_WIDTH_8BITS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a034fc17fba3bac3aa9bea9502b3524a7ac1b5c8a542db2cb14b6b0b634cb47356" name="a034fc17fba3bac3aa9bea9502b3524a7ac1b5c8a542db2cb14b6b0b634cb47356"></a>SDRV_I2S_SLOT_WIDTH_16BITS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a034fc17fba3bac3aa9bea9502b3524a7a06422374f38aef0c93d085658cbafd51" name="a034fc17fba3bac3aa9bea9502b3524a7a06422374f38aef0c93d085658cbafd51"></a>SDRV_I2S_SLOT_WIDTH_24BITS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a034fc17fba3bac3aa9bea9502b3524a7a3fbd145b9fd2fe641f386b638fd21a39" name="a034fc17fba3bac3aa9bea9502b3524a7a3fbd145b9fd2fe641f386b638fd21a39"></a>SDRV_I2S_SLOT_WIDTH_32BITS&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a02a5bbd9da6d2235bcccb54be164fa87" name="a02a5bbd9da6d2235bcccb54be164fa87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02a5bbd9da6d2235bcccb54be164fa87">&#9670;&nbsp;</a></span>sdrv_i2s_status</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__i2s_8h.html#a02a5bbd9da6d2235bcccb54be164fa87">sdrv_i2s_status</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a02a5bbd9da6d2235bcccb54be164fa87a7c54bdb3e53ee35332597c488c1a26fa" name="a02a5bbd9da6d2235bcccb54be164fa87a7c54bdb3e53ee35332597c488c1a26fa"></a>SDRV_I2S_STATUS_SUCCESS&#160;</td><td class="fielddoc"><p >status for Success. status for Fail. </p>
</td></tr>
<tr><td class="fieldname"><a id="a02a5bbd9da6d2235bcccb54be164fa87ab082f748036074b63eb9b8ed72cf8ee2" name="a02a5bbd9da6d2235bcccb54be164fa87ab082f748036074b63eb9b8ed72cf8ee2"></a>SDRV_I2S_STATUS_FAIL&#160;</td><td class="fielddoc"><p >status for invalid argument check </p>
</td></tr>
<tr><td class="fieldname"><a id="a02a5bbd9da6d2235bcccb54be164fa87a4adc4e2acf874aa58b7c645f0576b03c" name="a02a5bbd9da6d2235bcccb54be164fa87a4adc4e2acf874aa58b7c645f0576b03c"></a>SDRV_I2S_STATUS_INVALID_PARAMS&#160;</td><td class="fielddoc"><p >status for overrun </p>
</td></tr>
<tr><td class="fieldname"><a id="a02a5bbd9da6d2235bcccb54be164fa87a30eae55f087922438053043a1e7de7a4" name="a02a5bbd9da6d2235bcccb54be164fa87a30eae55f087922438053043a1e7de7a4"></a>SDRV_I2S_STATUS_OVERRUN&#160;</td><td class="fielddoc"><p >status for underrun </p>
</td></tr>
<tr><td class="fieldname"><a id="a02a5bbd9da6d2235bcccb54be164fa87a3876de4c666a13fdde2876c3e8ab54ce" name="a02a5bbd9da6d2235bcccb54be164fa87a3876de4c666a13fdde2876c3e8ab54ce"></a>SDRV_I2S_STATUS_UNDERRUN&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a95ba22dc1ccb6832a56fdb61e6bc7d19" name="a95ba22dc1ccb6832a56fdb61e6bc7d19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95ba22dc1ccb6832a56fdb61e6bc7d19">&#9670;&nbsp;</a></span>sdrv_i2s_stream_type_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>playback capture type </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a95ba22dc1ccb6832a56fdb61e6bc7d19a4d04f153dff75582aed33fade0e5a78d" name="a95ba22dc1ccb6832a56fdb61e6bc7d19a4d04f153dff75582aed33fade0e5a78d"></a>SDRV_I2S_STREAM_PLAYBACK&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a95ba22dc1ccb6832a56fdb61e6bc7d19a76c4ecac647cc835f7d56d3061097c04" name="a95ba22dc1ccb6832a56fdb61e6bc7d19a76c4ecac647cc835f7d56d3061097c04"></a>SDRV_I2S_STREAM_CAPTURE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a95ba22dc1ccb6832a56fdb61e6bc7d19a83121f24e095ce3a09d7a05951643b8d" name="a95ba22dc1ccb6832a56fdb61e6bc7d19a83121f24e095ce3a09d7a05951643b8d"></a>SDRV_I2S_STREAM_MAX&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a906fc09455cbf2b56568aa570803f344" name="a906fc09455cbf2b56568aa570803f344"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a906fc09455cbf2b56568aa570803f344">&#9670;&nbsp;</a></span>sdrv_i2s_create_transfer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a> sdrv_i2s_create_transfer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *&#160;</td>
<td class="paramname"><em>i2s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a615d0d01131e90610915cf0739824f81">sdrv_i2s_callback</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>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>create i2s transfer and attach callback </p>
<p >This fuction is used to create transfer and attach transfer callback</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">i2s</td><td>sdrv i2s controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>sdrv i2s transfer callback function. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>sdrv i2s transfer callback param. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>playback or capture type </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sdrv_i2s_status_t </dd></dl>
</div>
</div>
<a id="a8f08fe9fb2e73842928dc0da77d5458b" name="a8f08fe9fb2e73842928dc0da77d5458b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f08fe9fb2e73842928dc0da77d5458b">&#9670;&nbsp;</a></span>sdrv_i2s_get_default_params()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a> sdrv_i2s_get_default_params </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *&#160;</td>
<td class="paramname"><em>i2s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a6ab047d5f874a16c53329970f558434c">sdrv_i2s_params_t</a> *&#160;</td>
<td class="paramname"><em>params</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get i2s module default params </p>
<p >This fuction is used to get i2s module default params</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">i2s</td><td>sdrv i2s controller </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">params</td><td>sdrv i2s params </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>playback or capture type </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sdrv_i2s_status_t </dd></dl>
</div>
</div>
<a id="a9a674ceb749d6102a2d90b72b3a9d10d" name="a9a674ceb749d6102a2d90b72b3a9d10d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a674ceb749d6102a2d90b72b3a9d10d">&#9670;&nbsp;</a></span>sdrv_i2s_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a> sdrv_i2s_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *&#160;</td>
<td class="paramname"><em>i2s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a9a3bc5e44b85573364ebc39aaa782a90">sdrv_i2s_config_t</a> *&#160;</td>
<td class="paramname"><em>cfg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>initializes i2s module controller </p>
<p >This fuction initializes i2s module function.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">i2s</td><td>sdrv i2s controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cfg</td><td>sdrv i2s controller configurations </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sdrv_i2s_status_t </dd></dl>
</div>
</div>
<a id="a9755c018c57679de4169f602f25d63db" name="a9755c018c57679de4169f602f25d63db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9755c018c57679de4169f602f25d63db">&#9670;&nbsp;</a></span>sdrv_i2s_set_params()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a> sdrv_i2s_set_params </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *&#160;</td>
<td class="paramname"><em>i2s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a6ab047d5f874a16c53329970f558434c">sdrv_i2s_params_t</a> *&#160;</td>
<td class="paramname"><em>params</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>set i2s params </p>
<p >This fuction is used to set i2s module params</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">i2s</td><td>sdrv i2s controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">params</td><td>sdrv i2s params </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>playback or capture type @ return sdrv_i2s_status_t </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad8b4a61217136b0d5c5f770e66bbb1df" name="ad8b4a61217136b0d5c5f770e66bbb1df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8b4a61217136b0d5c5f770e66bbb1df">&#9670;&nbsp;</a></span>sdrv_i2s_start()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a> sdrv_i2s_start </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *&#160;</td>
<td class="paramname"><em>i2s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>start i2s transfer </p>
<p >This fuction is used to start i2s transfer</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">i2s</td><td>sdrv i2s controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>playback or capture type </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sdrv_i2s_status_t </dd></dl>
</div>
</div>
<a id="a8b0f3c0ef12c74dfa12e314fd9f3e413" name="a8b0f3c0ef12c74dfa12e314fd9f3e413"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b0f3c0ef12c74dfa12e314fd9f3e413">&#9670;&nbsp;</a></span>sdrv_i2s_stop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a> sdrv_i2s_stop </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *&#160;</td>
<td class="paramname"><em>i2s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>stop i2s transfer </p>
<ul>
<li>This fuction is used to stop i2s transfer</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">i2s</td><td>sdrv i2s controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>playback or capture type </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sdrv_i2s_status_t </dd></dl>
</div>
</div>
<a id="af6527b9515a0c7975af5254eec70c959" name="af6527b9515a0c7975af5254eec70c959"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6527b9515a0c7975af5254eec70c959">&#9670;&nbsp;</a></span>sdrv_i2s_submit_transfer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__i2s_8h.html#aa5843b9268b1f21e4eaa85c5d6df238c">sdrv_i2s_status_t</a> sdrv_i2s_submit_transfer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a4f5c32bff95e815bd590b11f885fd34c">sdrv_i2s_t</a> *&#160;</td>
<td class="paramname"><em>i2s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a7638daec06940440d528b00df54568de">sdrv_i2s_transfer_t</a> *&#160;</td>
<td class="paramname"><em>transfer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__i2s_8h.html#a95ba22dc1ccb6832a56fdb61e6bc7d19">sdrv_i2s_stream_type_t</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>submit i2s transfer in queue </p>
<p >This fuction is used to submit transfer, which's max num is SDRV_I2S_XFER_NUM_BUFFERS</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">i2s</td><td>sdrv i2s controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">transfer</td><td>sdrv i2s transfer </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>playback or capture type </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sdrv_i2s_status_t </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>