MCUXpresso_LPC55S69/docs/MCUXpresso SDK API Referenc.../a00064.html

2017 lines
128 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: WM8904 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('a00064.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="#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> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">WM8904 Driver<div class="ingroups"><a class="el" href="a00274.html">CODEC Driver</a></div></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The wm8904 driver provides a codec control interface. </p>
<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:a00440"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a00440">_wm8904_fll_config</a></td></tr>
<tr class="memdesc:a00440"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 fll configuration <a href="a00064.html#a00440">More...</a><br/></td></tr>
<tr class="separator:a00440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00438"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a00438">_wm8904_audio_format</a></td></tr>
<tr class="memdesc:a00438"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio format configuration. <a href="a00064.html#a00438">More...</a><br/></td></tr>
<tr class="separator:a00438"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00439"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a00439">_wm8904_config</a></td></tr>
<tr class="memdesc:a00439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration structure of WM8904. <a href="a00064.html#a00439">More...</a><br/></td></tr>
<tr class="separator:a00439"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00441"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a00441">_wm8904_handle</a></td></tr>
<tr class="memdesc:a00441"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 codec handler <a href="a00064.html#a00441">More...</a><br/></td></tr>
<tr class="separator:a00441"><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:ga0d28de0ef67d9ce369d9b504e1c470f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0d28de0ef67d9ce369d9b504e1c470f5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga0d28de0ef67d9ce369d9b504e1c470f5">WM8904_I2C_HANDLER_SIZE</a>&#160;&#160;&#160;(<a class="el" href="a00012.html#ga708be0fda3516367fe0461a5f054118c">CODEC_I2C_MASTER_HANDLER_SIZE</a>)</td></tr>
<tr class="memdesc:ga0d28de0ef67d9ce369d9b504e1c470f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 handle size <br/></td></tr>
<tr class="separator:ga0d28de0ef67d9ce369d9b504e1c470f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffbb6c12361ae51a0ee0a47d53c53d19"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaffbb6c12361ae51a0ee0a47d53c53d19"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gaffbb6c12361ae51a0ee0a47d53c53d19">WM8904_DEBUG_REGISTER</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gaffbb6c12361ae51a0ee0a47d53c53d19"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 debug macro <br/></td></tr>
<tr class="separator:gaffbb6c12361ae51a0ee0a47d53c53d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc2471cbdc3834bb3ba2aa5121b83204"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacc2471cbdc3834bb3ba2aa5121b83204"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gacc2471cbdc3834bb3ba2aa5121b83204">WM8904_RESET</a>&#160;&#160;&#160;(0x00)</td></tr>
<tr class="memdesc:gacc2471cbdc3834bb3ba2aa5121b83204"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 register map. <br/></td></tr>
<tr class="separator:gacc2471cbdc3834bb3ba2aa5121b83204"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga059e5e02f8230019f8963d17da9c94f7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga059e5e02f8230019f8963d17da9c94f7">WM8904_I2C_ADDRESS</a>&#160;&#160;&#160;(0x1A)</td></tr>
<tr class="memdesc:ga059e5e02f8230019f8963d17da9c94f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 I2C address. <a href="#ga059e5e02f8230019f8963d17da9c94f7">More...</a><br/></td></tr>
<tr class="separator:ga059e5e02f8230019f8963d17da9c94f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga669db956fbb73a4012c2d9d6420cb9a5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga669db956fbb73a4012c2d9d6420cb9a5">WM8904_I2C_BITRATE</a>&#160;&#160;&#160;(400000U)</td></tr>
<tr class="memdesc:ga669db956fbb73a4012c2d9d6420cb9a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 I2C bit rate. <a href="#ga669db956fbb73a4012c2d9d6420cb9a5">More...</a><br/></td></tr>
<tr class="separator:ga669db956fbb73a4012c2d9d6420cb9a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f3e00fa79eadd30de38244f81cfd0b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9f3e00fa79eadd30de38244f81cfd0b4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga9f3e00fa79eadd30de38244f81cfd0b4">WM8904_MAP_HEADPHONE_LINEOUT_MAX_VOLUME</a>&#160;&#160;&#160;0x3FU</td></tr>
<tr class="memdesc:ga9f3e00fa79eadd30de38244f81cfd0b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 maximum volume. <br/></td></tr>
<tr class="separator:ga9f3e00fa79eadd30de38244f81cfd0b4"><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:gaedfb8348c7cc57904dc1b2ed700badaa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaedfb8348c7cc57904dc1b2ed700badaa"></a>
typedef enum <a class="el" href="a00064.html#ga55b31e0605d3a95694624032034b7495">_wm8904_module</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gaedfb8348c7cc57904dc1b2ed700badaa">wm8904_module_t</a></td></tr>
<tr class="memdesc:gaedfb8348c7cc57904dc1b2ed700badaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 module value <br/></td></tr>
<tr class="separator:gaedfb8348c7cc57904dc1b2ed700badaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef411681b5491b10d90fee587e90df06"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00064.html#gaff0dc8a308ace2e0c52e1a905ecfad13">_wm8904_timeslot</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gaef411681b5491b10d90fee587e90df06">wm8904_timeslot_t</a></td></tr>
<tr class="memdesc:gaef411681b5491b10d90fee587e90df06"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 time slot. <a href="#gaef411681b5491b10d90fee587e90df06">More...</a><br/></td></tr>
<tr class="separator:gaef411681b5491b10d90fee587e90df06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a413e4f14e8ce7983db074e92a36d30"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00064.html#ga0febe68dc371791ebce695ce072c27d1">_wm8904_protocol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga2a413e4f14e8ce7983db074e92a36d30">wm8904_protocol_t</a></td></tr>
<tr class="memdesc:ga2a413e4f14e8ce7983db074e92a36d30"><td class="mdescLeft">&#160;</td><td class="mdescRight">The audio data transfer protocol. <a href="#ga2a413e4f14e8ce7983db074e92a36d30">More...</a><br/></td></tr>
<tr class="separator:ga2a413e4f14e8ce7983db074e92a36d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7da3eb89f9302f175c396080ec81f09e"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00064.html#gad1aa839a1b847c093c56f8a2e2123838">_wm8904_fs_ratio</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga7da3eb89f9302f175c396080ec81f09e">wm8904_fs_ratio_t</a></td></tr>
<tr class="memdesc:ga7da3eb89f9302f175c396080ec81f09e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The SYSCLK / fs ratio. <a href="#ga7da3eb89f9302f175c396080ec81f09e">More...</a><br/></td></tr>
<tr class="separator:ga7da3eb89f9302f175c396080ec81f09e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79db28cad66733393e01cffbbab4667b"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00064.html#gaa1ac766d524206084dcd66d000dca597">_wm8904_sample_rate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga79db28cad66733393e01cffbbab4667b">wm8904_sample_rate_t</a></td></tr>
<tr class="memdesc:ga79db28cad66733393e01cffbbab4667b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sample rate. <a href="#ga79db28cad66733393e01cffbbab4667b">More...</a><br/></td></tr>
<tr class="separator:ga79db28cad66733393e01cffbbab4667b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a3137164677c18b24566687f2ac4cb9"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00064.html#gaa196d3faca7026f08075b2189a69d33c">_wm8904_bit_width</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga0a3137164677c18b24566687f2ac4cb9">wm8904_bit_width_t</a></td></tr>
<tr class="memdesc:ga0a3137164677c18b24566687f2ac4cb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit width. <a href="#ga0a3137164677c18b24566687f2ac4cb9">More...</a><br/></td></tr>
<tr class="separator:ga0a3137164677c18b24566687f2ac4cb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac71b5ce186b7db16902618b56be9ccaf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac71b5ce186b7db16902618b56be9ccaf"></a>
typedef enum <a class="el" href="a00064.html#ga1597fc81f98b95c1d6b5ac972d91c268">_wm8904_sys_clk_source</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gac71b5ce186b7db16902618b56be9ccaf">wm8904_sys_clk_source_t</a></td></tr>
<tr class="memdesc:gac71b5ce186b7db16902618b56be9ccaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 system clock source <br/></td></tr>
<tr class="separator:gac71b5ce186b7db16902618b56be9ccaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e0c0f9c8adb4b8464c13fd1b549ea11"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3e0c0f9c8adb4b8464c13fd1b549ea11"></a>
typedef enum <a class="el" href="a00064.html#ga19d8cc8f961d7d05b7228e5fb6b8e500">_wm8904_fll_clk_source</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga3e0c0f9c8adb4b8464c13fd1b549ea11">wm8904_fll_clk_source_t</a></td></tr>
<tr class="memdesc:ga3e0c0f9c8adb4b8464c13fd1b549ea11"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 fll clock source <br/></td></tr>
<tr class="separator:ga3e0c0f9c8adb4b8464c13fd1b549ea11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga121b13e42e01469fb2a493e69c862076"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga121b13e42e01469fb2a493e69c862076"></a>
typedef struct <a class="el" href="a00064.html#a00440">_wm8904_fll_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga121b13e42e01469fb2a493e69c862076">wm8904_fll_config_t</a></td></tr>
<tr class="memdesc:ga121b13e42e01469fb2a493e69c862076"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 fll configuration <br/></td></tr>
<tr class="separator:ga121b13e42e01469fb2a493e69c862076"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga371f298ecaca01bc08f4844137e587d5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00064.html#a00438">_wm8904_audio_format</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga371f298ecaca01bc08f4844137e587d5">wm8904_audio_format_t</a></td></tr>
<tr class="memdesc:ga371f298ecaca01bc08f4844137e587d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio format configuration. <a href="#ga371f298ecaca01bc08f4844137e587d5">More...</a><br/></td></tr>
<tr class="separator:ga371f298ecaca01bc08f4844137e587d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66b834bd2db2191ab7f015df22cd0cfa"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00064.html#a00439">_wm8904_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga66b834bd2db2191ab7f015df22cd0cfa">wm8904_config_t</a></td></tr>
<tr class="memdesc:ga66b834bd2db2191ab7f015df22cd0cfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration structure of WM8904. <a href="#ga66b834bd2db2191ab7f015df22cd0cfa">More...</a><br/></td></tr>
<tr class="separator:ga66b834bd2db2191ab7f015df22cd0cfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bc4aab241462a0eaec8909907df054d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9bc4aab241462a0eaec8909907df054d"></a>
typedef struct <a class="el" href="a00064.html#a00441">_wm8904_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a></td></tr>
<tr class="memdesc:ga9bc4aab241462a0eaec8909907df054d"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 codec handler <br/></td></tr>
<tr class="separator:ga9bc4aab241462a0eaec8909907df054d"><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:ga70ad55be767ca0a42c9150d24618e4ca"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00064.html#gga70ad55be767ca0a42c9150d24618e4caa03a24c85da6ad8ade40a1b65e3fe412d">kStatus_WM8904_Success</a> = 0x0,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga70ad55be767ca0a42c9150d24618e4caa308468c62731df5419b43963180ba395">kStatus_WM8904_Fail</a> = 0x1
<br/>
}</td></tr>
<tr class="memdesc:ga70ad55be767ca0a42c9150d24618e4ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 status return codes. <a href="a00064.html#ga70ad55be767ca0a42c9150d24618e4ca">More...</a><br/></td></tr>
<tr class="separator:ga70ad55be767ca0a42c9150d24618e4ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b4213b1f9d54da7c7e36bde32fc7c80"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00064.html#gga4b4213b1f9d54da7c7e36bde32fc7c80ae5516cbb720017fc8406c52ce3ff7a8f">kWM8904_LRCPolarityNormal</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga4b4213b1f9d54da7c7e36bde32fc7c80a69f5636caba8bec89801f2008d892699">kWM8904_LRCPolarityInverted</a> = 1U &lt;&lt; 4U
<br/>
}</td></tr>
<tr class="memdesc:ga4b4213b1f9d54da7c7e36bde32fc7c80"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 lrc polarity. <a href="a00064.html#ga4b4213b1f9d54da7c7e36bde32fc7c80">More...</a><br/></td></tr>
<tr class="separator:ga4b4213b1f9d54da7c7e36bde32fc7c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55b31e0605d3a95694624032034b7495"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga55b31e0605d3a95694624032034b7495">_wm8904_module</a> { <br/>
&#160;&#160;<a class="el" href="a00064.html#gga55b31e0605d3a95694624032034b7495ad45dffeddeff7951c7ba5ba22c2c64c1">kWM8904_ModuleADC</a> = 0,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga55b31e0605d3a95694624032034b7495a2a70743ccb6b90e9220bed43f0594d6d">kWM8904_ModuleDAC</a> = 1,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga55b31e0605d3a95694624032034b7495a346748d28086757836377319baff4321">kWM8904_ModulePGA</a> = 2,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga55b31e0605d3a95694624032034b7495a64ba7c82128bf262b2f01c2384c0c74b">kWM8904_ModuleHeadphone</a> = 3,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga55b31e0605d3a95694624032034b7495ae658043c1b0e877bd27878ded626dca1">kWM8904_ModuleLineout</a> = 4
<br/>
}</td></tr>
<tr class="memdesc:ga55b31e0605d3a95694624032034b7495"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 module value <a href="a00064.html#ga55b31e0605d3a95694624032034b7495">More...</a><br/></td></tr>
<tr class="separator:ga55b31e0605d3a95694624032034b7495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa491173a6b1628f4ff82067b2e1ceaa9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:gaa491173a6b1628f4ff82067b2e1ceaa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 play channel <a href="a00064.html#gaa491173a6b1628f4ff82067b2e1ceaa9">More...</a><br/></td></tr>
<tr class="separator:gaa491173a6b1628f4ff82067b2e1ceaa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff0dc8a308ace2e0c52e1a905ecfad13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gaff0dc8a308ace2e0c52e1a905ecfad13">_wm8904_timeslot</a> { <br/>
&#160;&#160;<a class="el" href="a00064.html#ggaff0dc8a308ace2e0c52e1a905ecfad13a969787cc305faedbe9596a0a9babe2b7">kWM8904_TimeSlot0</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaff0dc8a308ace2e0c52e1a905ecfad13a10393572c9d554db894f4146b8db81e8">kWM8904_TimeSlot1</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:gaff0dc8a308ace2e0c52e1a905ecfad13"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 time slot. <a href="a00064.html#gaff0dc8a308ace2e0c52e1a905ecfad13">More...</a><br/></td></tr>
<tr class="separator:gaff0dc8a308ace2e0c52e1a905ecfad13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0febe68dc371791ebce695ce072c27d1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga0febe68dc371791ebce695ce072c27d1">_wm8904_protocol</a> { <br/>
&#160;&#160;<a class="el" href="a00064.html#gga0febe68dc371791ebce695ce072c27d1ad45a6a2b0b9c4223f42c1f5c4798b516">kWM8904_ProtocolI2S</a> = 0x2,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga0febe68dc371791ebce695ce072c27d1a5b2b6fd6f23692eebd4edcf4d21cfc14">kWM8904_ProtocolLeftJustified</a> = 0x1,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga0febe68dc371791ebce695ce072c27d1a44c66dbdb2081f480a0c8e5f34574503">kWM8904_ProtocolRightJustified</a> = 0x0,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga0febe68dc371791ebce695ce072c27d1a2dabdd07bcb14b60d11cbf0a96dc9e74">kWM8904_ProtocolPCMA</a> = 0x3,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga0febe68dc371791ebce695ce072c27d1a425d8770d5c656085b080377cc67406d">kWM8904_ProtocolPCMB</a> = 0x3 | (1 &lt;&lt; 4)
<br/>
}</td></tr>
<tr class="memdesc:ga0febe68dc371791ebce695ce072c27d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The audio data transfer protocol. <a href="a00064.html#ga0febe68dc371791ebce695ce072c27d1">More...</a><br/></td></tr>
<tr class="separator:ga0febe68dc371791ebce695ce072c27d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1aa839a1b847c093c56f8a2e2123838"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gad1aa839a1b847c093c56f8a2e2123838">_wm8904_fs_ratio</a> { <br/>
&#160;&#160;<a class="el" href="a00064.html#ggad1aa839a1b847c093c56f8a2e2123838a86b907685431f678a498b5fb3128c70b">kWM8904_FsRatio64X</a> = 0x0,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggad1aa839a1b847c093c56f8a2e2123838afea5d8933231066b0fd02c0a3fd8f231">kWM8904_FsRatio128X</a> = 0x1,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggad1aa839a1b847c093c56f8a2e2123838a38db993aa5b0d2b8d2dce19fc9211980">kWM8904_FsRatio192X</a> = 0x2,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggad1aa839a1b847c093c56f8a2e2123838a2b20ac0c1500e8b53c4053e160acdf3f">kWM8904_FsRatio256X</a> = 0x3,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggad1aa839a1b847c093c56f8a2e2123838ad79487ab68071057f91125b74aad634d">kWM8904_FsRatio384X</a> = 0x4,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggad1aa839a1b847c093c56f8a2e2123838aa54ba72c70e144571f0b7e1460502ae1">kWM8904_FsRatio512X</a> = 0x5,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggad1aa839a1b847c093c56f8a2e2123838aad130da7e1889267ed02dfd8bb71e74d">kWM8904_FsRatio768X</a> = 0x6,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggad1aa839a1b847c093c56f8a2e2123838a71f3e4c9e23e6f3de7d60f055ee5441a">kWM8904_FsRatio1024X</a> = 0x7,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggad1aa839a1b847c093c56f8a2e2123838a944e73f1367bd1acc7c180ea38f4ff87">kWM8904_FsRatio1408X</a> = 0x8,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggad1aa839a1b847c093c56f8a2e2123838aba19a023e017d10578094a116c6cd682">kWM8904_FsRatio1536X</a> = 0x9
<br/>
}</td></tr>
<tr class="memdesc:gad1aa839a1b847c093c56f8a2e2123838"><td class="mdescLeft">&#160;</td><td class="mdescRight">The SYSCLK / fs ratio. <a href="a00064.html#gad1aa839a1b847c093c56f8a2e2123838">More...</a><br/></td></tr>
<tr class="separator:gad1aa839a1b847c093c56f8a2e2123838"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1ac766d524206084dcd66d000dca597"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gaa1ac766d524206084dcd66d000dca597">_wm8904_sample_rate</a> { <br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa1ac766d524206084dcd66d000dca597a530d7f9873bf42d23665583995629f3b">kWM8904_SampleRate8kHz</a> = 0x0,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa1ac766d524206084dcd66d000dca597a14fdab3a406b2b9e53a7109483a9ad83">kWM8904_SampleRate12kHz</a> = 0x1,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa1ac766d524206084dcd66d000dca597a5c70725c6a1cc0318225581f06af2f55">kWM8904_SampleRate16kHz</a> = 0x2,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa1ac766d524206084dcd66d000dca597a21a80944bc87cb364ea286cd71ae882a">kWM8904_SampleRate24kHz</a> = 0x3,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa1ac766d524206084dcd66d000dca597af93bfb917098f153d089abc16029f3ec">kWM8904_SampleRate32kHz</a> = 0x4,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa1ac766d524206084dcd66d000dca597a8d98f4d49c3a61e815189305c6f680df">kWM8904_SampleRate48kHz</a> = 0x5,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa1ac766d524206084dcd66d000dca597a99ed183a0676137963be23a5da68e80e">kWM8904_SampleRate11025Hz</a> = 0x6,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa1ac766d524206084dcd66d000dca597aca7cdad981b6b91bfbb705196127e354">kWM8904_SampleRate22050Hz</a> = 0x7,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa1ac766d524206084dcd66d000dca597aaba91ba437b7e467649941cfc70dc6bc">kWM8904_SampleRate44100Hz</a> = 0x8
<br/>
}</td></tr>
<tr class="memdesc:gaa1ac766d524206084dcd66d000dca597"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sample rate. <a href="a00064.html#gaa1ac766d524206084dcd66d000dca597">More...</a><br/></td></tr>
<tr class="separator:gaa1ac766d524206084dcd66d000dca597"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa196d3faca7026f08075b2189a69d33c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gaa196d3faca7026f08075b2189a69d33c">_wm8904_bit_width</a> { <br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa196d3faca7026f08075b2189a69d33ca84685c358f789580fe39f403bb528b97">kWM8904_BitWidth16</a> = 0x0,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa196d3faca7026f08075b2189a69d33cab5853165387f45b748b51d54ff409eb9">kWM8904_BitWidth20</a> = 0x1,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa196d3faca7026f08075b2189a69d33cab5115ccd61e5628a4c45b62f421adb14">kWM8904_BitWidth24</a> = 0x2,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa196d3faca7026f08075b2189a69d33ca67723a1ace69d9a3c4b3260d0267f064">kWM8904_BitWidth32</a> = 0x3
<br/>
}</td></tr>
<tr class="memdesc:gaa196d3faca7026f08075b2189a69d33c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit width. <a href="a00064.html#gaa196d3faca7026f08075b2189a69d33c">More...</a><br/></td></tr>
<tr class="separator:gaa196d3faca7026f08075b2189a69d33c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3babbf89cae9b856a12864a41506efbd"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00064.html#gga3babbf89cae9b856a12864a41506efbdad1ae8cd45ddb94ede2eb79a395bb3a4b">kWM8904_RecordSourceDifferentialLine</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga3babbf89cae9b856a12864a41506efbda9bd1f0fa8e1c63b2663f4684b2a14a4b">kWM8904_RecordSourceLineInput</a> = 2U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga3babbf89cae9b856a12864a41506efbda09761699c85a0851b6b91c79159e31c3">kWM8904_RecordSourceDifferentialMic</a> = 4U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga3babbf89cae9b856a12864a41506efbdacdf6a4ecf08298fd708085e71688b825">kWM8904_RecordSourceDigitalMic</a> = 8U
<br/>
}</td></tr>
<tr class="memdesc:ga3babbf89cae9b856a12864a41506efbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 record source <a href="a00064.html#ga3babbf89cae9b856a12864a41506efbd">More...</a><br/></td></tr>
<tr class="separator:ga3babbf89cae9b856a12864a41506efbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa57e16cd48de3b9a989056ff8df26f84"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84a06da301a33fe5f09b324ebd600ddbbb2">kWM8904_RecordChannelLeft1</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84aceaf70007dbe04928ecfb5533520ccd3">kWM8904_RecordChannelLeft2</a> = 2U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84a8682d8f1ef1926c75c63b3f36b34180b">kWM8904_RecordChannelLeft3</a> = 4U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84a6e01717efb78fc69d5b61e6abb82c733">kWM8904_RecordChannelRight1</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84aca44467c5eb96d063bbec89452a5da48">kWM8904_RecordChannelRight2</a> = 2U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84aadad30ac254bd4dd4e8a40bd97939d7c">kWM8904_RecordChannelRight3</a> = 4U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84a12b6a35048a0798500ee5985862cdcf9">kWM8904_RecordChannelDifferentialPositive1</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84a6334dd2c404bc349783c34af1186620b">kWM8904_RecordChannelDifferentialPositive2</a> = 2U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84ac0e6c46a78feb881f4c38dcf242e3b2c">kWM8904_RecordChannelDifferentialPositive3</a> = 4U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84a6fcf239ffd7cf9dee5d76a16155ba12d">kWM8904_RecordChannelDifferentialNegative1</a> = 8U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84a658ae26b12e34811963f4631ccec24c0">kWM8904_RecordChannelDifferentialNegative2</a> = 16U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#ggaa57e16cd48de3b9a989056ff8df26f84ac413fc9118ee4c4853221e2ff117357a">kWM8904_RecordChannelDifferentialNegative3</a> = 32U
<br/>
}</td></tr>
<tr class="memdesc:gaa57e16cd48de3b9a989056ff8df26f84"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 record channel <a href="a00064.html#gaa57e16cd48de3b9a989056ff8df26f84">More...</a><br/></td></tr>
<tr class="separator:gaa57e16cd48de3b9a989056ff8df26f84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga634f9f55e799f3052a34590f08100017"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00064.html#gga634f9f55e799f3052a34590f08100017add917546ca87f478fdb41d5f7eb025e1">kWM8904_PlaySourcePGA</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga634f9f55e799f3052a34590f08100017ac7dd8875a90d60b902557742eac3bb0a">kWM8904_PlaySourceDAC</a> = 4U
<br/>
}</td></tr>
<tr class="memdesc:ga634f9f55e799f3052a34590f08100017"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 play source <a href="a00064.html#ga634f9f55e799f3052a34590f08100017">More...</a><br/></td></tr>
<tr class="separator:ga634f9f55e799f3052a34590f08100017"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1597fc81f98b95c1d6b5ac972d91c268"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga1597fc81f98b95c1d6b5ac972d91c268">_wm8904_sys_clk_source</a> { <br/>
&#160;&#160;<a class="el" href="a00064.html#gga1597fc81f98b95c1d6b5ac972d91c268a1965dfdc68cb897b5800a3dfd9f0e2bf">kWM8904_SysClkSourceMCLK</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00064.html#gga1597fc81f98b95c1d6b5ac972d91c268a730c849443dba64fc83062570d00d5df">kWM8904_SysClkSourceFLL</a> = 1U &lt;&lt; 14
<br/>
}</td></tr>
<tr class="memdesc:ga1597fc81f98b95c1d6b5ac972d91c268"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 system clock source <a href="a00064.html#ga1597fc81f98b95c1d6b5ac972d91c268">More...</a><br/></td></tr>
<tr class="separator:ga1597fc81f98b95c1d6b5ac972d91c268"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19d8cc8f961d7d05b7228e5fb6b8e500"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga19d8cc8f961d7d05b7228e5fb6b8e500">_wm8904_fll_clk_source</a> { <a class="el" href="a00064.html#gga19d8cc8f961d7d05b7228e5fb6b8e500a5fb91b0be337b66663e60c71afd46339">kWM8904_FLLClkSourceMCLK</a> = 0U
}</td></tr>
<tr class="memdesc:ga19d8cc8f961d7d05b7228e5fb6b8e500"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 fll clock source <a href="a00064.html#ga19d8cc8f961d7d05b7228e5fb6b8e500">More...</a><br/></td></tr>
<tr class="separator:ga19d8cc8f961d7d05b7228e5fb6b8e500"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaac9d2958054bab83fc6aeb39bf13e28a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gaac9d2958054bab83fc6aeb39bf13e28a">WM8904_WriteRegister</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint8_t reg, uint16_t value)</td></tr>
<tr class="memdesc:gaac9d2958054bab83fc6aeb39bf13e28a"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 write register. <a href="#gaac9d2958054bab83fc6aeb39bf13e28a">More...</a><br/></td></tr>
<tr class="separator:gaac9d2958054bab83fc6aeb39bf13e28a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99b0ee20329e00d41738f7719ecc5516"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga99b0ee20329e00d41738f7719ecc5516">WM8904_ReadRegister</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint8_t reg, uint16_t *value)</td></tr>
<tr class="memdesc:ga99b0ee20329e00d41738f7719ecc5516"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 write register. <a href="#ga99b0ee20329e00d41738f7719ecc5516">More...</a><br/></td></tr>
<tr class="separator:ga99b0ee20329e00d41738f7719ecc5516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10b50a6fa93a83986115437d1207e5eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga10b50a6fa93a83986115437d1207e5eb">WM8904_ModifyRegister</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint8_t reg, uint16_t mask, uint16_t value)</td></tr>
<tr class="memdesc:ga10b50a6fa93a83986115437d1207e5eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 modify register. <a href="#ga10b50a6fa93a83986115437d1207e5eb">More...</a><br/></td></tr>
<tr class="separator:ga10b50a6fa93a83986115437d1207e5eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae8d6e68ba90f67202b4734024f12fe7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gae8d6e68ba90f67202b4734024f12fe7e">WM8904_Init</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, <a class="el" href="a00064.html#ga66b834bd2db2191ab7f015df22cd0cfa">wm8904_config_t</a> *wm8904Config)</td></tr>
<tr class="memdesc:gae8d6e68ba90f67202b4734024f12fe7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes WM8904. <a href="#gae8d6e68ba90f67202b4734024f12fe7e">More...</a><br/></td></tr>
<tr class="separator:gae8d6e68ba90f67202b4734024f12fe7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9fe52c11d9dca384d5d40e88f830e967"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga9fe52c11d9dca384d5d40e88f830e967">WM8904_Deinit</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga9fe52c11d9dca384d5d40e88f830e967"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deinitializes the WM8904 codec. <a href="#ga9fe52c11d9dca384d5d40e88f830e967">More...</a><br/></td></tr>
<tr class="separator:ga9fe52c11d9dca384d5d40e88f830e967"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf2a82c681378531525d1729f019818b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gaaf2a82c681378531525d1729f019818b">WM8904_GetDefaultConfig</a> (<a class="el" href="a00064.html#ga66b834bd2db2191ab7f015df22cd0cfa">wm8904_config_t</a> *config)</td></tr>
<tr class="memdesc:gaaf2a82c681378531525d1729f019818b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the configuration structure with default values. <a href="#gaaf2a82c681378531525d1729f019818b">More...</a><br/></td></tr>
<tr class="separator:gaaf2a82c681378531525d1729f019818b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadeea472d9fe2a59a194780b5ae1244d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gadeea472d9fe2a59a194780b5ae1244d2">WM8904_SetMasterSlave</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, bool master)</td></tr>
<tr class="memdesc:gadeea472d9fe2a59a194780b5ae1244d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets WM8904 as master or slave. <a href="#gadeea472d9fe2a59a194780b5ae1244d2">More...</a><br/></td></tr>
<tr class="separator:gadeea472d9fe2a59a194780b5ae1244d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac7d7d664d5f08cc532887ef3b3a87868"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gac7d7d664d5f08cc532887ef3b3a87868">WM8904_SetMasterClock</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint32_t sysclk, uint32_t sampleRate, uint32_t bitWidth)</td></tr>
<tr class="memdesc:gac7d7d664d5f08cc532887ef3b3a87868"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets WM8904 master clock configuration. <a href="#gac7d7d664d5f08cc532887ef3b3a87868">More...</a><br/></td></tr>
<tr class="separator:gac7d7d664d5f08cc532887ef3b3a87868"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga985ecfb6bf72836e0eb42b16f82c9b5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga985ecfb6bf72836e0eb42b16f82c9b5e">WM8904_SetFLLConfig</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, <a class="el" href="a00064.html#ga121b13e42e01469fb2a493e69c862076">wm8904_fll_config_t</a> *config)</td></tr>
<tr class="memdesc:ga985ecfb6bf72836e0eb42b16f82c9b5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 set PLL configuration This function will enable the GPIO1 FLL clock output function, so user can see the generated fll output clock frequency from WM8904 GPIO1. <a href="#ga985ecfb6bf72836e0eb42b16f82c9b5e">More...</a><br/></td></tr>
<tr class="separator:ga985ecfb6bf72836e0eb42b16f82c9b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga690619a048393f59582d103dbe09b0ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga690619a048393f59582d103dbe09b0ea">WM8904_SetProtocol</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, <a class="el" href="a00064.html#ga2a413e4f14e8ce7983db074e92a36d30">wm8904_protocol_t</a> protocol)</td></tr>
<tr class="memdesc:ga690619a048393f59582d103dbe09b0ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the audio data transfer protocol. <a href="#ga690619a048393f59582d103dbe09b0ea">More...</a><br/></td></tr>
<tr class="separator:ga690619a048393f59582d103dbe09b0ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa63ee16de7075e854d1760a38a525d86"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gaa63ee16de7075e854d1760a38a525d86">WM8904_SetAudioFormat</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint32_t sysclk, uint32_t sampleRate, uint32_t bitWidth)</td></tr>
<tr class="memdesc:gaa63ee16de7075e854d1760a38a525d86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the audio data format. <a href="#gaa63ee16de7075e854d1760a38a525d86">More...</a><br/></td></tr>
<tr class="separator:gaa63ee16de7075e854d1760a38a525d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab366eb294a1a4a5f926336a56d47e72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gaab366eb294a1a4a5f926336a56d47e72">WM8904_CheckAudioFormat</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, <a class="el" href="a00064.html#ga371f298ecaca01bc08f4844137e587d5">wm8904_audio_format_t</a> *format, uint32_t mclkFreq)</td></tr>
<tr class="memdesc:gaab366eb294a1a4a5f926336a56d47e72"><td class="mdescLeft">&#160;</td><td class="mdescRight">check and update the audio data format. <a href="#gaab366eb294a1a4a5f926336a56d47e72">More...</a><br/></td></tr>
<tr class="separator:gaab366eb294a1a4a5f926336a56d47e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e3b265018fda7dab10edf4292d3205e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga9e3b265018fda7dab10edf4292d3205e">WM8904_SetVolume</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint16_t volumeLeft, uint16_t volumeRight)</td></tr>
<tr class="memdesc:ga9e3b265018fda7dab10edf4292d3205e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the module output volume. <a href="#ga9e3b265018fda7dab10edf4292d3205e">More...</a><br/></td></tr>
<tr class="separator:ga9e3b265018fda7dab10edf4292d3205e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga00f74723138da156babe8a7b656b0675"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga00f74723138da156babe8a7b656b0675">WM8904_SetMute</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, bool muteLeft, bool muteRight)</td></tr>
<tr class="memdesc:ga00f74723138da156babe8a7b656b0675"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the headphone output mute. <a href="#ga00f74723138da156babe8a7b656b0675">More...</a><br/></td></tr>
<tr class="separator:ga00f74723138da156babe8a7b656b0675"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87e039695100dd33aa72ac46a79538c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga87e039695100dd33aa72ac46a79538c4">WM8904_SelectLRCPolarity</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint32_t polarity)</td></tr>
<tr class="memdesc:ga87e039695100dd33aa72ac46a79538c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select LRC polarity. <a href="#ga87e039695100dd33aa72ac46a79538c4">More...</a><br/></td></tr>
<tr class="separator:ga87e039695100dd33aa72ac46a79538c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99acd7b433430b49ff8dcc689715cb5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga99acd7b433430b49ff8dcc689715cb5f">WM8904_EnableDACTDMMode</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, <a class="el" href="a00064.html#gaef411681b5491b10d90fee587e90df06">wm8904_timeslot_t</a> timeSlot)</td></tr>
<tr class="memdesc:ga99acd7b433430b49ff8dcc689715cb5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable WM8904 DAC time slot. <a href="#ga99acd7b433430b49ff8dcc689715cb5f">More...</a><br/></td></tr>
<tr class="separator:ga99acd7b433430b49ff8dcc689715cb5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84e1c81997b5a451eca0d37780e41db2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga84e1c81997b5a451eca0d37780e41db2">WM8904_EnableADCTDMMode</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, <a class="el" href="a00064.html#gaef411681b5491b10d90fee587e90df06">wm8904_timeslot_t</a> timeSlot)</td></tr>
<tr class="memdesc:ga84e1c81997b5a451eca0d37780e41db2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable WM8904 ADC time slot. <a href="#ga84e1c81997b5a451eca0d37780e41db2">More...</a><br/></td></tr>
<tr class="separator:ga84e1c81997b5a451eca0d37780e41db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabff8eb28b90401edf715f71679835e35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gabff8eb28b90401edf715f71679835e35">WM8904_SetModulePower</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, <a class="el" href="a00064.html#gaedfb8348c7cc57904dc1b2ed700badaa">wm8904_module_t</a> module, bool isEnabled)</td></tr>
<tr class="memdesc:gabff8eb28b90401edf715f71679835e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">SET the module output power. <a href="#gabff8eb28b90401edf715f71679835e35">More...</a><br/></td></tr>
<tr class="separator:gabff8eb28b90401edf715f71679835e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1adf0d8837f78ba1df2c90db5f675f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gad1adf0d8837f78ba1df2c90db5f675f5">WM8904_SetDACVolume</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint8_t volume)</td></tr>
<tr class="memdesc:gad1adf0d8837f78ba1df2c90db5f675f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">SET the DAC module volume. <a href="#gad1adf0d8837f78ba1df2c90db5f675f5">More...</a><br/></td></tr>
<tr class="separator:gad1adf0d8837f78ba1df2c90db5f675f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf63e1fdc10b016d67da45ffb01f9a09a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gaf63e1fdc10b016d67da45ffb01f9a09a">WM8904_SetChannelVolume</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint32_t channel, uint32_t volume)</td></tr>
<tr class="memdesc:gaf63e1fdc10b016d67da45ffb01f9a09a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the channel output volume. <a href="#gaf63e1fdc10b016d67da45ffb01f9a09a">More...</a><br/></td></tr>
<tr class="separator:gaf63e1fdc10b016d67da45ffb01f9a09a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae451590a6c23d189ca054f1dccf0d687"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gae451590a6c23d189ca054f1dccf0d687">WM8904_SetRecord</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint32_t recordSource)</td></tr>
<tr class="memdesc:gae451590a6c23d189ca054f1dccf0d687"><td class="mdescLeft">&#160;</td><td class="mdescRight">SET the WM8904 record source. <a href="#gae451590a6c23d189ca054f1dccf0d687">More...</a><br/></td></tr>
<tr class="separator:gae451590a6c23d189ca054f1dccf0d687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga638dc4bc264b53973187963c9367acd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga638dc4bc264b53973187963c9367acd2">WM8904_SetRecordChannel</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint32_t leftRecordChannel, uint32_t rightRecordChannel)</td></tr>
<tr class="memdesc:ga638dc4bc264b53973187963c9367acd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">SET the WM8904 record source. <a href="#ga638dc4bc264b53973187963c9367acd2">More...</a><br/></td></tr>
<tr class="separator:ga638dc4bc264b53973187963c9367acd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadbde022ea26f9401e15bef34aabd5f9a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#gadbde022ea26f9401e15bef34aabd5f9a">WM8904_SetPlay</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint32_t playSource)</td></tr>
<tr class="memdesc:gadbde022ea26f9401e15bef34aabd5f9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">SET the WM8904 play source. <a href="#gadbde022ea26f9401e15bef34aabd5f9a">More...</a><br/></td></tr>
<tr class="separator:gadbde022ea26f9401e15bef34aabd5f9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga27d641b0b9179a6a3cf902e2f46c1e17"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga27d641b0b9179a6a3cf902e2f46c1e17">WM8904_SetChannelMute</a> (<a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *handle, uint32_t channel, bool isMute)</td></tr>
<tr class="memdesc:ga27d641b0b9179a6a3cf902e2f46c1e17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the channel mute. <a href="#ga27d641b0b9179a6a3cf902e2f46c1e17">More...</a><br/></td></tr>
<tr class="separator:ga27d641b0b9179a6a3cf902e2f46c1e17"><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:ga17671af372090b6f2ff6e80740db010f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ga17671af372090b6f2ff6e80740db010f">FSL_WM8904_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="a00242.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 5, 1))</td></tr>
<tr class="memdesc:ga17671af372090b6f2ff6e80740db010f"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8904 driver version 2.5.1. <a href="#ga17671af372090b6f2ff6e80740db010f">More...</a><br/></td></tr>
<tr class="separator:ga17671af372090b6f2ff6e80740db010f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00440" id="a00440"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _wm8904_fll_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:acd1893af138f8930e299dd0165f7365f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd1893af138f8930e299dd0165f7365f"></a>
<a class="el" href="a00064.html#ga3e0c0f9c8adb4b8464c13fd1b549ea11">wm8904_fll_clk_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#acd1893af138f8930e299dd0165f7365f">source</a></td></tr>
<tr class="memdesc:acd1893af138f8930e299dd0165f7365f"><td class="mdescLeft">&#160;</td><td class="mdescRight">fll reference clock source <br/></td></tr>
<tr class="separator:acd1893af138f8930e299dd0165f7365f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af56788ee19ffa213d446cfdd2112cc88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af56788ee19ffa213d446cfdd2112cc88"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#af56788ee19ffa213d446cfdd2112cc88">refClock_HZ</a></td></tr>
<tr class="memdesc:af56788ee19ffa213d446cfdd2112cc88"><td class="mdescLeft">&#160;</td><td class="mdescRight">fll reference clock frequency <br/></td></tr>
<tr class="separator:af56788ee19ffa213d446cfdd2112cc88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ac3339d53ed40e1b38289b38da0ad5b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ac3339d53ed40e1b38289b38da0ad5b"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a9ac3339d53ed40e1b38289b38da0ad5b">outputClock_HZ</a></td></tr>
<tr class="memdesc:a9ac3339d53ed40e1b38289b38da0ad5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">fll output clock frequency <br/></td></tr>
<tr class="separator:a9ac3339d53ed40e1b38289b38da0ad5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<a name="a00438" id="a00438"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _wm8904_audio_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:acf5584e50a37985a4c67eaa1e60c4529"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf5584e50a37985a4c67eaa1e60c4529"></a>
<a class="el" href="a00064.html#ga7da3eb89f9302f175c396080ec81f09e">wm8904_fs_ratio_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#acf5584e50a37985a4c67eaa1e60c4529">fsRatio</a></td></tr>
<tr class="memdesc:acf5584e50a37985a4c67eaa1e60c4529"><td class="mdescLeft">&#160;</td><td class="mdescRight">SYSCLK / fs ratio. <br/></td></tr>
<tr class="separator:acf5584e50a37985a4c67eaa1e60c4529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34b5336619af2af0bd1ec193a783e10f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34b5336619af2af0bd1ec193a783e10f"></a>
<a class="el" href="a00064.html#ga79db28cad66733393e01cffbbab4667b">wm8904_sample_rate_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a34b5336619af2af0bd1ec193a783e10f">sampleRate</a></td></tr>
<tr class="memdesc:a34b5336619af2af0bd1ec193a783e10f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sample rate. <br/></td></tr>
<tr class="separator:a34b5336619af2af0bd1ec193a783e10f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac71348f709ef4c68a77246b6b64aded"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac71348f709ef4c68a77246b6b64aded"></a>
<a class="el" href="a00064.html#ga0a3137164677c18b24566687f2ac4cb9">wm8904_bit_width_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#aac71348f709ef4c68a77246b6b64aded">bitWidth</a></td></tr>
<tr class="memdesc:aac71348f709ef4c68a77246b6b64aded"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit width. <br/></td></tr>
<tr class="separator:aac71348f709ef4c68a77246b6b64aded"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<a name="a00439" id="a00439"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _wm8904_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:a3002bf273401d5acf56d52ed4758bf8b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3002bf273401d5acf56d52ed4758bf8b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a3002bf273401d5acf56d52ed4758bf8b">master</a></td></tr>
<tr class="memdesc:a3002bf273401d5acf56d52ed4758bf8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Master or slave. <br/></td></tr>
<tr class="separator:a3002bf273401d5acf56d52ed4758bf8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58fefd5003e0c52e3e952e34e61ca0d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58fefd5003e0c52e3e952e34e61ca0d7"></a>
<a class="el" href="a00064.html#gac71b5ce186b7db16902618b56be9ccaf">wm8904_sys_clk_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a58fefd5003e0c52e3e952e34e61ca0d7">sysClkSource</a></td></tr>
<tr class="memdesc:a58fefd5003e0c52e3e952e34e61ca0d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">system clock source <br/></td></tr>
<tr class="separator:a58fefd5003e0c52e3e952e34e61ca0d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab81f69f9a086c901b64a457292738ae1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab81f69f9a086c901b64a457292738ae1"></a>
<a class="el" href="a00064.html#ga121b13e42e01469fb2a493e69c862076">wm8904_fll_config_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ab81f69f9a086c901b64a457292738ae1">fll</a></td></tr>
<tr class="memdesc:ab81f69f9a086c901b64a457292738ae1"><td class="mdescLeft">&#160;</td><td class="mdescRight">fll configuration <br/></td></tr>
<tr class="separator:ab81f69f9a086c901b64a457292738ae1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a140662a4691d9273703f1cba06e37243"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140662a4691d9273703f1cba06e37243"></a>
<a class="el" href="a00064.html#ga2a413e4f14e8ce7983db074e92a36d30">wm8904_protocol_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a140662a4691d9273703f1cba06e37243">protocol</a></td></tr>
<tr class="memdesc:a140662a4691d9273703f1cba06e37243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio transfer protocol. <br/></td></tr>
<tr class="separator:a140662a4691d9273703f1cba06e37243"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac636c33f3935a3f67b13091811a54a5a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac636c33f3935a3f67b13091811a54a5a"></a>
<a class="el" href="a00064.html#ga371f298ecaca01bc08f4844137e587d5">wm8904_audio_format_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ac636c33f3935a3f67b13091811a54a5a">format</a></td></tr>
<tr class="memdesc:ac636c33f3935a3f67b13091811a54a5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio format. <br/></td></tr>
<tr class="separator:ac636c33f3935a3f67b13091811a54a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a157c102183d9a22a72569490262b72f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a157c102183d9a22a72569490262b72f4"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a157c102183d9a22a72569490262b72f4">mclk_HZ</a></td></tr>
<tr class="memdesc:a157c102183d9a22a72569490262b72f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">MCLK frequency value. <br/></td></tr>
<tr class="separator:a157c102183d9a22a72569490262b72f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33cdc9449df406a9a387fbe8226f1e4e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33cdc9449df406a9a387fbe8226f1e4e"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a33cdc9449df406a9a387fbe8226f1e4e">recordSource</a></td></tr>
<tr class="memdesc:a33cdc9449df406a9a387fbe8226f1e4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">record source <br/></td></tr>
<tr class="separator:a33cdc9449df406a9a387fbe8226f1e4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60d0772d7678efa5e8a9b832f5e1302d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60d0772d7678efa5e8a9b832f5e1302d"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a60d0772d7678efa5e8a9b832f5e1302d">recordChannelLeft</a></td></tr>
<tr class="memdesc:a60d0772d7678efa5e8a9b832f5e1302d"><td class="mdescLeft">&#160;</td><td class="mdescRight">record channel <br/></td></tr>
<tr class="separator:a60d0772d7678efa5e8a9b832f5e1302d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3109c85be5a4d4a28c3fc8f56e42cb8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3109c85be5a4d4a28c3fc8f56e42cb8"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#aa3109c85be5a4d4a28c3fc8f56e42cb8">recordChannelRight</a></td></tr>
<tr class="memdesc:aa3109c85be5a4d4a28c3fc8f56e42cb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">record channel <br/></td></tr>
<tr class="separator:aa3109c85be5a4d4a28c3fc8f56e42cb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a288de7954fc861119c29758ea821cc7a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a288de7954fc861119c29758ea821cc7a"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a288de7954fc861119c29758ea821cc7a">playSource</a></td></tr>
<tr class="memdesc:a288de7954fc861119c29758ea821cc7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">play source <br/></td></tr>
<tr class="separator:a288de7954fc861119c29758ea821cc7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51239e833d148213d753c213812c28c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51239e833d148213d753c213812c28c7"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a51239e833d148213d753c213812c28c7">slaveAddress</a></td></tr>
<tr class="memdesc:a51239e833d148213d753c213812c28c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">code device slave address <br/></td></tr>
<tr class="separator:a51239e833d148213d753c213812c28c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac3bf4469272deafad20bed728cac172"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3bf4469272deafad20bed728cac172"></a>
<a class="el" href="a00012.html#ga7cef6c41744cbf081437214aa3a6acec">codec_i2c_config_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#aac3bf4469272deafad20bed728cac172">i2cConfig</a></td></tr>
<tr class="memdesc:aac3bf4469272deafad20bed728cac172"><td class="mdescLeft">&#160;</td><td class="mdescRight">i2c bus configuration <br/></td></tr>
<tr class="separator:aac3bf4469272deafad20bed728cac172"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<a name="a00441" id="a00441"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _wm8904_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:abbb260194036e2a15990455505f9f321"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abbb260194036e2a15990455505f9f321"></a>
<a class="el" href="a00064.html#ga66b834bd2db2191ab7f015df22cd0cfa">wm8904_config_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#abbb260194036e2a15990455505f9f321">config</a></td></tr>
<tr class="memdesc:abbb260194036e2a15990455505f9f321"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 config pointer <br/></td></tr>
<tr class="separator:abbb260194036e2a15990455505f9f321"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0b206e760692bc5c4be9c85d0e6169b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0b206e760692bc5c4be9c85d0e6169b"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#ad0b206e760692bc5c4be9c85d0e6169b">i2cHandle</a> [<a class="el" href="a00064.html#ga0d28de0ef67d9ce369d9b504e1c470f5">WM8904_I2C_HANDLER_SIZE</a>]</td></tr>
<tr class="memdesc:ad0b206e760692bc5c4be9c85d0e6169b"><td class="mdescLeft">&#160;</td><td class="mdescRight">i2c handle <br/></td></tr>
<tr class="separator:ad0b206e760692bc5c4be9c85d0e6169b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga17671af372090b6f2ff6e80740db010f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_WM8904_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="a00242.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 5, 1))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga059e5e02f8230019f8963d17da9c94f7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define WM8904_I2C_ADDRESS&#160;&#160;&#160;(0x1A)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga669db956fbb73a4012c2d9d6420cb9a5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define WM8904_I2C_BITRATE&#160;&#160;&#160;(400000U)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gaef411681b5491b10d90fee587e90df06"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00064.html#gaff0dc8a308ace2e0c52e1a905ecfad13">_wm8904_timeslot</a> <a class="el" href="a00064.html#gaef411681b5491b10d90fee587e90df06">wm8904_timeslot_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga2a413e4f14e8ce7983db074e92a36d30"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00064.html#ga0febe68dc371791ebce695ce072c27d1">_wm8904_protocol</a> <a class="el" href="a00064.html#ga2a413e4f14e8ce7983db074e92a36d30">wm8904_protocol_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga7da3eb89f9302f175c396080ec81f09e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00064.html#gad1aa839a1b847c093c56f8a2e2123838">_wm8904_fs_ratio</a> <a class="el" href="a00064.html#ga7da3eb89f9302f175c396080ec81f09e">wm8904_fs_ratio_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga79db28cad66733393e01cffbbab4667b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00064.html#gaa1ac766d524206084dcd66d000dca597">_wm8904_sample_rate</a> <a class="el" href="a00064.html#ga79db28cad66733393e01cffbbab4667b">wm8904_sample_rate_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga0a3137164677c18b24566687f2ac4cb9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00064.html#gaa196d3faca7026f08075b2189a69d33c">_wm8904_bit_width</a> <a class="el" href="a00064.html#ga0a3137164677c18b24566687f2ac4cb9">wm8904_bit_width_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga371f298ecaca01bc08f4844137e587d5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00064.html#a00438">_wm8904_audio_format</a> <a class="el" href="a00064.html#ga371f298ecaca01bc08f4844137e587d5">wm8904_audio_format_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga66b834bd2db2191ab7f015df22cd0cfa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00064.html#a00439">_wm8904_config</a> <a class="el" href="a00064.html#ga66b834bd2db2191ab7f015df22cd0cfa">wm8904_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga70ad55be767ca0a42c9150d24618e4ca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="anchor" id="_wm8904_status"></a></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga70ad55be767ca0a42c9150d24618e4caa03a24c85da6ad8ade40a1b65e3fe412d"></a>kStatus_WM8904_Success</em>&nbsp;</td><td class="fielddoc">
<p>Success. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga70ad55be767ca0a42c9150d24618e4caa308468c62731df5419b43963180ba395"></a>kStatus_WM8904_Fail</em>&nbsp;</td><td class="fielddoc">
<p>Failure. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga4b4213b1f9d54da7c7e36bde32fc7c80"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="anchor" id="_wm8904_lrc_polarity"></a></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga4b4213b1f9d54da7c7e36bde32fc7c80ae5516cbb720017fc8406c52ce3ff7a8f"></a>kWM8904_LRCPolarityNormal</em>&nbsp;</td><td class="fielddoc">
<p>LRC polarity normal. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4b4213b1f9d54da7c7e36bde32fc7c80a69f5636caba8bec89801f2008d892699"></a>kWM8904_LRCPolarityInverted</em>&nbsp;</td><td class="fielddoc">
<p>LRC polarity inverted. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga55b31e0605d3a95694624032034b7495"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00064.html#ga55b31e0605d3a95694624032034b7495">_wm8904_module</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="gga55b31e0605d3a95694624032034b7495ad45dffeddeff7951c7ba5ba22c2c64c1"></a>kWM8904_ModuleADC</em>&nbsp;</td><td class="fielddoc">
<p>moduel ADC </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga55b31e0605d3a95694624032034b7495a2a70743ccb6b90e9220bed43f0594d6d"></a>kWM8904_ModuleDAC</em>&nbsp;</td><td class="fielddoc">
<p>module DAC </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga55b31e0605d3a95694624032034b7495a346748d28086757836377319baff4321"></a>kWM8904_ModulePGA</em>&nbsp;</td><td class="fielddoc">
<p>module PGA </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga55b31e0605d3a95694624032034b7495a64ba7c82128bf262b2f01c2384c0c74b"></a>kWM8904_ModuleHeadphone</em>&nbsp;</td><td class="fielddoc">
<p>module headphone </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga55b31e0605d3a95694624032034b7495ae658043c1b0e877bd27878ded626dca1"></a>kWM8904_ModuleLineout</em>&nbsp;</td><td class="fielddoc">
<p>module line out </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaa491173a6b1628f4ff82067b2e1ceaa9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="anchor" id="_wm8904_play_channel"></a></p>
</div>
</div>
<a class="anchor" id="gaff0dc8a308ace2e0c52e1a905ecfad13"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00064.html#gaff0dc8a308ace2e0c52e1a905ecfad13">_wm8904_timeslot</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="ggaff0dc8a308ace2e0c52e1a905ecfad13a969787cc305faedbe9596a0a9babe2b7"></a>kWM8904_TimeSlot0</em>&nbsp;</td><td class="fielddoc">
<p>time slot0 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaff0dc8a308ace2e0c52e1a905ecfad13a10393572c9d554db894f4146b8db81e8"></a>kWM8904_TimeSlot1</em>&nbsp;</td><td class="fielddoc">
<p>time slot1 </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga0febe68dc371791ebce695ce072c27d1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00064.html#ga0febe68dc371791ebce695ce072c27d1">_wm8904_protocol</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="gga0febe68dc371791ebce695ce072c27d1ad45a6a2b0b9c4223f42c1f5c4798b516"></a>kWM8904_ProtocolI2S</em>&nbsp;</td><td class="fielddoc">
<p>I2S type. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga0febe68dc371791ebce695ce072c27d1a5b2b6fd6f23692eebd4edcf4d21cfc14"></a>kWM8904_ProtocolLeftJustified</em>&nbsp;</td><td class="fielddoc">
<p>Left justified mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga0febe68dc371791ebce695ce072c27d1a44c66dbdb2081f480a0c8e5f34574503"></a>kWM8904_ProtocolRightJustified</em>&nbsp;</td><td class="fielddoc">
<p>Right justified mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga0febe68dc371791ebce695ce072c27d1a2dabdd07bcb14b60d11cbf0a96dc9e74"></a>kWM8904_ProtocolPCMA</em>&nbsp;</td><td class="fielddoc">
<p>PCM A mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga0febe68dc371791ebce695ce072c27d1a425d8770d5c656085b080377cc67406d"></a>kWM8904_ProtocolPCMB</em>&nbsp;</td><td class="fielddoc">
<p>PCM B mode. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gad1aa839a1b847c093c56f8a2e2123838"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00064.html#gad1aa839a1b847c093c56f8a2e2123838">_wm8904_fs_ratio</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="ggad1aa839a1b847c093c56f8a2e2123838a86b907685431f678a498b5fb3128c70b"></a>kWM8904_FsRatio64X</em>&nbsp;</td><td class="fielddoc">
<p>SYSCLK is 64 * sample rate * frame width. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad1aa839a1b847c093c56f8a2e2123838afea5d8933231066b0fd02c0a3fd8f231"></a>kWM8904_FsRatio128X</em>&nbsp;</td><td class="fielddoc">
<p>SYSCLK is 128 * sample rate * frame width. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad1aa839a1b847c093c56f8a2e2123838a38db993aa5b0d2b8d2dce19fc9211980"></a>kWM8904_FsRatio192X</em>&nbsp;</td><td class="fielddoc">
<p>SYSCLK is 192 * sample rate * frame width. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad1aa839a1b847c093c56f8a2e2123838a2b20ac0c1500e8b53c4053e160acdf3f"></a>kWM8904_FsRatio256X</em>&nbsp;</td><td class="fielddoc">
<p>SYSCLK is 256 * sample rate * frame width. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad1aa839a1b847c093c56f8a2e2123838ad79487ab68071057f91125b74aad634d"></a>kWM8904_FsRatio384X</em>&nbsp;</td><td class="fielddoc">
<p>SYSCLK is 384 * sample rate * frame width. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad1aa839a1b847c093c56f8a2e2123838aa54ba72c70e144571f0b7e1460502ae1"></a>kWM8904_FsRatio512X</em>&nbsp;</td><td class="fielddoc">
<p>SYSCLK is 512 * sample rate * frame width. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad1aa839a1b847c093c56f8a2e2123838aad130da7e1889267ed02dfd8bb71e74d"></a>kWM8904_FsRatio768X</em>&nbsp;</td><td class="fielddoc">
<p>SYSCLK is 768 * sample rate * frame width. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad1aa839a1b847c093c56f8a2e2123838a71f3e4c9e23e6f3de7d60f055ee5441a"></a>kWM8904_FsRatio1024X</em>&nbsp;</td><td class="fielddoc">
<p>SYSCLK is 1024 * sample rate * frame width. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad1aa839a1b847c093c56f8a2e2123838a944e73f1367bd1acc7c180ea38f4ff87"></a>kWM8904_FsRatio1408X</em>&nbsp;</td><td class="fielddoc">
<p>SYSCLK is 1408 * sample rate * frame width. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad1aa839a1b847c093c56f8a2e2123838aba19a023e017d10578094a116c6cd682"></a>kWM8904_FsRatio1536X</em>&nbsp;</td><td class="fielddoc">
<p>SYSCLK is 1536 * sample rate * frame width. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaa1ac766d524206084dcd66d000dca597"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00064.html#gaa1ac766d524206084dcd66d000dca597">_wm8904_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="ggaa1ac766d524206084dcd66d000dca597a530d7f9873bf42d23665583995629f3b"></a>kWM8904_SampleRate8kHz</em>&nbsp;</td><td class="fielddoc">
<p>8 kHz </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa1ac766d524206084dcd66d000dca597a14fdab3a406b2b9e53a7109483a9ad83"></a>kWM8904_SampleRate12kHz</em>&nbsp;</td><td class="fielddoc">
<p>12kHz </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa1ac766d524206084dcd66d000dca597a5c70725c6a1cc0318225581f06af2f55"></a>kWM8904_SampleRate16kHz</em>&nbsp;</td><td class="fielddoc">
<p>16kHz </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa1ac766d524206084dcd66d000dca597a21a80944bc87cb364ea286cd71ae882a"></a>kWM8904_SampleRate24kHz</em>&nbsp;</td><td class="fielddoc">
<p>24kHz </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa1ac766d524206084dcd66d000dca597af93bfb917098f153d089abc16029f3ec"></a>kWM8904_SampleRate32kHz</em>&nbsp;</td><td class="fielddoc">
<p>32kHz </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa1ac766d524206084dcd66d000dca597a8d98f4d49c3a61e815189305c6f680df"></a>kWM8904_SampleRate48kHz</em>&nbsp;</td><td class="fielddoc">
<p>48kHz </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa1ac766d524206084dcd66d000dca597a99ed183a0676137963be23a5da68e80e"></a>kWM8904_SampleRate11025Hz</em>&nbsp;</td><td class="fielddoc">
<p>11.025kHz </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa1ac766d524206084dcd66d000dca597aca7cdad981b6b91bfbb705196127e354"></a>kWM8904_SampleRate22050Hz</em>&nbsp;</td><td class="fielddoc">
<p>22.05kHz </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa1ac766d524206084dcd66d000dca597aaba91ba437b7e467649941cfc70dc6bc"></a>kWM8904_SampleRate44100Hz</em>&nbsp;</td><td class="fielddoc">
<p>44.1kHz </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaa196d3faca7026f08075b2189a69d33c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00064.html#gaa196d3faca7026f08075b2189a69d33c">_wm8904_bit_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="ggaa196d3faca7026f08075b2189a69d33ca84685c358f789580fe39f403bb528b97"></a>kWM8904_BitWidth16</em>&nbsp;</td><td class="fielddoc">
<p>16 bits </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa196d3faca7026f08075b2189a69d33cab5853165387f45b748b51d54ff409eb9"></a>kWM8904_BitWidth20</em>&nbsp;</td><td class="fielddoc">
<p>20 bits </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa196d3faca7026f08075b2189a69d33cab5115ccd61e5628a4c45b62f421adb14"></a>kWM8904_BitWidth24</em>&nbsp;</td><td class="fielddoc">
<p>24 bits </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa196d3faca7026f08075b2189a69d33ca67723a1ace69d9a3c4b3260d0267f064"></a>kWM8904_BitWidth32</em>&nbsp;</td><td class="fielddoc">
<p>32 bits </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga3babbf89cae9b856a12864a41506efbd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="anchor" id="_wm8904_record_source"></a></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga3babbf89cae9b856a12864a41506efbdad1ae8cd45ddb94ede2eb79a395bb3a4b"></a>kWM8904_RecordSourceDifferentialLine</em>&nbsp;</td><td class="fielddoc">
<p>record source from differential line </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3babbf89cae9b856a12864a41506efbda9bd1f0fa8e1c63b2663f4684b2a14a4b"></a>kWM8904_RecordSourceLineInput</em>&nbsp;</td><td class="fielddoc">
<p>record source from line input </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3babbf89cae9b856a12864a41506efbda09761699c85a0851b6b91c79159e31c3"></a>kWM8904_RecordSourceDifferentialMic</em>&nbsp;</td><td class="fielddoc">
<p>record source from differential mic </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3babbf89cae9b856a12864a41506efbdacdf6a4ecf08298fd708085e71688b825"></a>kWM8904_RecordSourceDigitalMic</em>&nbsp;</td><td class="fielddoc">
<p>record source from digital microphone </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaa57e16cd48de3b9a989056ff8df26f84"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="anchor" id="_wm8904_record_channel"></a></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84a06da301a33fe5f09b324ebd600ddbbb2"></a>kWM8904_RecordChannelLeft1</em>&nbsp;</td><td class="fielddoc">
<p>left record channel 1 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84aceaf70007dbe04928ecfb5533520ccd3"></a>kWM8904_RecordChannelLeft2</em>&nbsp;</td><td class="fielddoc">
<p>left record channel 2 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84a8682d8f1ef1926c75c63b3f36b34180b"></a>kWM8904_RecordChannelLeft3</em>&nbsp;</td><td class="fielddoc">
<p>left record channel 3 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84a6e01717efb78fc69d5b61e6abb82c733"></a>kWM8904_RecordChannelRight1</em>&nbsp;</td><td class="fielddoc">
<p>right record channel 1 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84aca44467c5eb96d063bbec89452a5da48"></a>kWM8904_RecordChannelRight2</em>&nbsp;</td><td class="fielddoc">
<p>right record channel 2 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84aadad30ac254bd4dd4e8a40bd97939d7c"></a>kWM8904_RecordChannelRight3</em>&nbsp;</td><td class="fielddoc">
<p>right record channel 3 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84a12b6a35048a0798500ee5985862cdcf9"></a>kWM8904_RecordChannelDifferentialPositive1</em>&nbsp;</td><td class="fielddoc">
<p>differential positive record channel 1 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84a6334dd2c404bc349783c34af1186620b"></a>kWM8904_RecordChannelDifferentialPositive2</em>&nbsp;</td><td class="fielddoc">
<p>differential positive record channel 2 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84ac0e6c46a78feb881f4c38dcf242e3b2c"></a>kWM8904_RecordChannelDifferentialPositive3</em>&nbsp;</td><td class="fielddoc">
<p>differential positive record channel 3 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84a6fcf239ffd7cf9dee5d76a16155ba12d"></a>kWM8904_RecordChannelDifferentialNegative1</em>&nbsp;</td><td class="fielddoc">
<p>differential negative record channel 1 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84a658ae26b12e34811963f4631ccec24c0"></a>kWM8904_RecordChannelDifferentialNegative2</em>&nbsp;</td><td class="fielddoc">
<p>differential negative record channel 2 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa57e16cd48de3b9a989056ff8df26f84ac413fc9118ee4c4853221e2ff117357a"></a>kWM8904_RecordChannelDifferentialNegative3</em>&nbsp;</td><td class="fielddoc">
<p>differential negative record channel 3 </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga634f9f55e799f3052a34590f08100017"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="anchor" id="_wm8904_play_source"></a></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga634f9f55e799f3052a34590f08100017add917546ca87f478fdb41d5f7eb025e1"></a>kWM8904_PlaySourcePGA</em>&nbsp;</td><td class="fielddoc">
<p>play source PGA, bypass ADC </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga634f9f55e799f3052a34590f08100017ac7dd8875a90d60b902557742eac3bb0a"></a>kWM8904_PlaySourceDAC</em>&nbsp;</td><td class="fielddoc">
<p>play source Input3 </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga1597fc81f98b95c1d6b5ac972d91c268"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00064.html#ga1597fc81f98b95c1d6b5ac972d91c268">_wm8904_sys_clk_source</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga1597fc81f98b95c1d6b5ac972d91c268a1965dfdc68cb897b5800a3dfd9f0e2bf"></a>kWM8904_SysClkSourceMCLK</em>&nbsp;</td><td class="fielddoc">
<p>wm8904 system clock soure from MCLK </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1597fc81f98b95c1d6b5ac972d91c268a730c849443dba64fc83062570d00d5df"></a>kWM8904_SysClkSourceFLL</em>&nbsp;</td><td class="fielddoc">
<p>wm8904 system clock soure from FLL </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga19d8cc8f961d7d05b7228e5fb6b8e500"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00064.html#ga19d8cc8f961d7d05b7228e5fb6b8e500">_wm8904_fll_clk_source</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga19d8cc8f961d7d05b7228e5fb6b8e500a5fb91b0be337b66663e60c71afd46339"></a>kWM8904_FLLClkSourceMCLK</em>&nbsp;</td><td class="fielddoc">
<p>wm8904 FLL clock source from MCLK </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaac9d2958054bab83fc6aeb39bf13e28a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_WriteRegister </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>value</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">reg</td><td>register address. </td></tr>
<tr><td class="paramname">value</td><td>value to write. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_Success, else failed. </dd></dl>
</div>
</div>
<a class="anchor" id="ga99b0ee20329e00d41738f7719ecc5516"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_ReadRegister </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>value</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">reg</td><td>register address. </td></tr>
<tr><td class="paramname">value</td><td>value to read. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_Success, else failed. </dd></dl>
</div>
</div>
<a class="anchor" id="ga10b50a6fa93a83986115437d1207e5eb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_ModifyRegister </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>mask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>value</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">reg</td><td>register address. </td></tr>
<tr><td class="paramname">mask</td><td>register bits mask. </td></tr>
<tr><td class="paramname">value</td><td>value to write. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_Success, else failed. </dd></dl>
</div>
</div>
<a class="anchor" id="gae8d6e68ba90f67202b4734024f12fe7e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_Init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_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="a00064.html#ga66b834bd2db2191ab7f015df22cd0cfa">wm8904_config_t</a> *&#160;</td>
<td class="paramname"><em>wm8904Config</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">wm8904Config</td><td>WM8904 configuration structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9fe52c11d9dca384d5d40e88f830e967"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_Deinit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function resets WM8904.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8904 handle structure.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="gaaf2a82c681378531525d1729f019818b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void WM8904_GetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga66b834bd2db2191ab7f015df22cd0cfa">wm8904_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The default values are:</p>
<p>master = false; protocol = kWM8904_ProtocolI2S; format.fsRatio = kWM8904_FsRatio64X; format.sampleRate = kWM8904_SampleRate48kHz; format.bitWidth = kWM8904_BitWidth16;</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>default configurations of wm8904. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gadeea472d9fe2a59a194780b5ae1244d2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetMasterSlave </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>master</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="a00296.html#_deprecated000016">Deprecated:</a></b></dt><dd>DO NOT USE THIS API ANYMORE. IT HAS BEEN SUPERCEDED BY <a class="el" href="a00064.html#gac7d7d664d5f08cc532887ef3b3a87868">WM8904_SetMasterClock</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">master</td><td>true for master, false for slave.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="gac7d7d664d5f08cc532887ef3b3a87868"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetMasterClock </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>sysclk</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>sampleRate</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>bitWidth</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>User should pay attention to the sysclk parameter ,When using external MCLK as system clock source, the value should be frequency of MCLK, when using FLL as system clock source, the value should be frequency of the output of FLL.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">sysclk</td><td>system clock source frequency. </td></tr>
<tr><td class="paramname">sampleRate</td><td>sample rate </td></tr>
<tr><td class="paramname">bitWidth</td><td>bit width</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="ga985ecfb6bf72836e0eb42b16f82c9b5e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetFLLConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_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="a00064.html#ga121b13e42e01469fb2a493e69c862076">wm8904_fll_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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>wm8904 handler pointer. </td></tr>
<tr><td class="paramname">config</td><td>FLL configuration pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga690619a048393f59582d103dbe09b0ea"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetProtocol </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_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="a00064.html#ga2a413e4f14e8ce7983db074e92a36d30">wm8904_protocol_t</a>&#160;</td>
<td class="paramname"><em>protocol</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">protocol</td><td>Audio transfer protocol.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="gaa63ee16de7075e854d1760a38a525d86"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetAudioFormat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>sysclk</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>sampleRate</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>bitWidth</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>User should pay attention to the sysclk parameter ,When using external MCLK as system clock source, the value should be frequency of MCLK, when using FLL as system clock source, the value should be frequency of the output of FLL.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">sysclk</td><td>system clock source frequency. </td></tr>
<tr><td class="paramname">sampleRate</td><td>Sample rate frequency in Hz. </td></tr>
<tr><td class="paramname">bitWidth</td><td>Audio data bit width.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="gaab366eb294a1a4a5f926336a56d47e72"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_CheckAudioFormat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_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="a00064.html#ga371f298ecaca01bc08f4844137e587d5">wm8904_audio_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>mclkFreq</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This api is used check the fsRatio setting based on the mclk and sample rate, if fsRatio setting is not correct, it will correct it according to mclk and sample rate. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">format</td><td>audio data format </td></tr>
<tr><td class="paramname">mclkFreq</td><td>mclk frequency</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="ga9e3b265018fda7dab10edf4292d3205e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetVolume </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>volumeLeft</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>volumeRight</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The parameter should be from 0 to 63. The resulting volume will be. 0 for -57DB, 63 for 6DB.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">volumeLeft</td><td>left channel volume. </td></tr>
<tr><td class="paramname">volumeRight</td><td>right channel volume.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="ga00f74723138da156babe8a7b656b0675"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetMute </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>muteLeft</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>muteRight</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">muteLeft</td><td>true to mute left channel, false to unmute. </td></tr>
<tr><td class="paramname">muteRight</td><td>true to mute right channel, false to unmute.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="ga87e039695100dd33aa72ac46a79538c4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SelectLRCPolarity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>polarity</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">polarity</td><td>LRC clock polarity.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="ga99acd7b433430b49ff8dcc689715cb5f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_EnableDACTDMMode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_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="a00064.html#gaef411681b5491b10d90fee587e90df06">wm8904_timeslot_t</a>&#160;</td>
<td class="paramname"><em>timeSlot</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">timeSlot</td><td>timeslot number.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="ga84e1c81997b5a451eca0d37780e41db2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_EnableADCTDMMode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_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="a00064.html#gaef411681b5491b10d90fee587e90df06">wm8904_timeslot_t</a>&#160;</td>
<td class="paramname"><em>timeSlot</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">timeSlot</td><td>timeslot number.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="gabff8eb28b90401edf715f71679835e35"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetModulePower </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_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="a00064.html#gaedfb8348c7cc57904dc1b2ed700badaa">wm8904_module_t</a>&#160;</td>
<td class="paramname"><em>module</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isEnabled</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">module</td><td>wm8904 module. </td></tr>
<tr><td class="paramname">isEnabled</td><td>true is power on, false is power down.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise.. </dd></dl>
</div>
</div>
<a class="anchor" id="gad1adf0d8837f78ba1df2c90db5f675f5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetDACVolume </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>volume</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">volume</td><td>volume to be configured.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise.. </dd></dl>
</div>
</div>
<a class="anchor" id="gaf63e1fdc10b016d67da45ffb01f9a09a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetChannelVolume </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>volume</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The parameter should be from 0 to 63. The resulting volume will be. 0 for -57dB, 63 for 6DB.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>codec handle structure. </td></tr>
<tr><td class="paramname">channel</td><td>codec channel. </td></tr>
<tr><td class="paramname">volume</td><td>volume value from 0 -63.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="gae451590a6c23d189ca054f1dccf0d687"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetRecord </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>recordSource</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">recordSource</td><td>record source , can be a value of kCODEC_ModuleRecordSourceDifferentialLine, kCODEC_ModuleRecordSourceDifferentialMic, kCODEC_ModuleRecordSourceSingleEndMic, kCODEC_ModuleRecordSourceDigitalMic.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="ga638dc4bc264b53973187963c9367acd2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetRecordChannel </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>leftRecordChannel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>rightRecordChannel</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">leftRecordChannel</td><td>channel number of left record channel when using differential source, channel number of single end left channel when using single end source, channel number of digital mic when using digital mic source. </td></tr>
<tr><td class="paramname">rightRecordChannel</td><td>channel number of right record channel when using differential source, channel number of single end right channel when using single end source.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise.. </dd></dl>
</div>
</div>
<a class="anchor" id="gadbde022ea26f9401e15bef34aabd5f9a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetPlay </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>playSource</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">handle</td><td>WM8904 handle structure. </td></tr>
<tr><td class="paramname">playSource</td><td>play source , can be a value of kCODEC_ModuleHeadphoneSourcePGA, kCODEC_ModuleHeadphoneSourceDAC, kCODEC_ModuleLineoutSourcePGA, kCODEC_ModuleLineoutSourceDAC.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise.. </dd></dl>
</div>
</div>
<a class="anchor" id="ga27d641b0b9179a6a3cf902e2f46c1e17"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8904_SetChannelMute </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00064.html#ga9bc4aab241462a0eaec8909907df054d">wm8904_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isMute</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">handle</td><td>codec handle structure. </td></tr>
<tr><td class="paramname">channel</td><td>codec module name. </td></tr>
<tr><td class="paramname">isMute</td><td>true is mute, false unmute.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_WM8904_Success if successful, different code otherwise. </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>