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

1566 lines
106 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: WM8960 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('a00065.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">WM8960 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 wm8960 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:a00442"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a00442">_wm8960_audio_format</a></td></tr>
<tr class="memdesc:a00442"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 audio format <a href="a00065.html#a00442">More...</a><br/></td></tr>
<tr class="separator:a00442"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00444"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a00444">_wm8960_master_sysclk_config</a></td></tr>
<tr class="memdesc:a00444"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 master system clock configuration <a href="a00065.html#a00444">More...</a><br/></td></tr>
<tr class="separator:a00444"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00463"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a00463">wm8960_config</a></td></tr>
<tr class="memdesc:a00463"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize structure of WM8960. <a href="a00065.html#a00463">More...</a><br/></td></tr>
<tr class="separator:a00463"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00443"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a00443">_wm8960_handle</a></td></tr>
<tr class="memdesc:a00443"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 codec handler <a href="a00065.html#a00443">More...</a><br/></td></tr>
<tr class="separator:a00443"><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:gad42c885e755bfa53b74cd811af45db8a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad42c885e755bfa53b74cd811af45db8a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gad42c885e755bfa53b74cd811af45db8a">WM8960_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:gad42c885e755bfa53b74cd811af45db8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 handle size <br/></td></tr>
<tr class="separator:gad42c885e755bfa53b74cd811af45db8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6c6a3b67c7930937dd877390dc94cbe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gae6c6a3b67c7930937dd877390dc94cbe">WM8960_LINVOL</a>&#160;&#160;&#160;0x0U</td></tr>
<tr class="memdesc:gae6c6a3b67c7930937dd877390dc94cbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the register address of WM8960. <a href="#gae6c6a3b67c7930937dd877390dc94cbe">More...</a><br/></td></tr>
<tr class="separator:gae6c6a3b67c7930937dd877390dc94cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdd9105c1955cf9b7be99a89121e9e7a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacdd9105c1955cf9b7be99a89121e9e7a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gacdd9105c1955cf9b7be99a89121e9e7a">WM8960_CACHEREGNUM</a>&#160;&#160;&#160;56U</td></tr>
<tr class="memdesc:gacdd9105c1955cf9b7be99a89121e9e7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cache register number. <br/></td></tr>
<tr class="separator:gacdd9105c1955cf9b7be99a89121e9e7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0725f8e23c8e9a812136d9461a348f11"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0725f8e23c8e9a812136d9461a348f11"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga0725f8e23c8e9a812136d9461a348f11">WM8960_CLOCK2_BCLK_DIV_MASK</a>&#160;&#160;&#160;0xFU</td></tr>
<tr class="memdesc:ga0725f8e23c8e9a812136d9461a348f11"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960 CLOCK2 bits. <br/></td></tr>
<tr class="separator:ga0725f8e23c8e9a812136d9461a348f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1cfddde9bff2839d98dad8cea4d958df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1cfddde9bff2839d98dad8cea4d958df"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga1cfddde9bff2839d98dad8cea4d958df">WM8960_IFACE1_FORMAT_MASK</a>&#160;&#160;&#160;0x03U</td></tr>
<tr class="memdesc:ga1cfddde9bff2839d98dad8cea4d958df"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960_IFACE1 FORMAT bits. <br/></td></tr>
<tr class="separator:ga1cfddde9bff2839d98dad8cea4d958df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d2bc2d14ee9c5aeb37042af35715e1b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5d2bc2d14ee9c5aeb37042af35715e1b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga5d2bc2d14ee9c5aeb37042af35715e1b">WM8960_IFACE1_WL_MASK</a>&#160;&#160;&#160;0x0CU</td></tr>
<tr class="memdesc:ga5d2bc2d14ee9c5aeb37042af35715e1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960_IFACE1 WL bits. <br/></td></tr>
<tr class="separator:ga5d2bc2d14ee9c5aeb37042af35715e1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17766c78737e1eb92290921c3110dd92"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga17766c78737e1eb92290921c3110dd92"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga17766c78737e1eb92290921c3110dd92">WM8960_IFACE1_LRP_MASK</a>&#160;&#160;&#160;0x10U</td></tr>
<tr class="memdesc:ga17766c78737e1eb92290921c3110dd92"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960_IFACE1 LRP bit. <br/></td></tr>
<tr class="separator:ga17766c78737e1eb92290921c3110dd92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa36fdca87c244c8f6d2fff4d96611087"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa36fdca87c244c8f6d2fff4d96611087"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gaa36fdca87c244c8f6d2fff4d96611087">WM8960_IFACE1_DLRSWAP_MASK</a>&#160;&#160;&#160;0x20U</td></tr>
<tr class="memdesc:gaa36fdca87c244c8f6d2fff4d96611087"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960_IFACE1 DLRSWAP bit. <br/></td></tr>
<tr class="separator:gaa36fdca87c244c8f6d2fff4d96611087"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga139e7ba937dd4d9cf1077bf1598ec86b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga139e7ba937dd4d9cf1077bf1598ec86b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga139e7ba937dd4d9cf1077bf1598ec86b">WM8960_IFACE1_MS_MASK</a>&#160;&#160;&#160;0x40U</td></tr>
<tr class="memdesc:ga139e7ba937dd4d9cf1077bf1598ec86b"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960_IFACE1 MS bit. <br/></td></tr>
<tr class="separator:ga139e7ba937dd4d9cf1077bf1598ec86b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb30f80634350ca28097b895df43cc02"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacb30f80634350ca28097b895df43cc02"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gacb30f80634350ca28097b895df43cc02">WM8960_IFACE1_BCLKINV_MASK</a>&#160;&#160;&#160;0x80U</td></tr>
<tr class="memdesc:gacb30f80634350ca28097b895df43cc02"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960_IFACE1 BCLKINV bit. <br/></td></tr>
<tr class="separator:gacb30f80634350ca28097b895df43cc02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b6f652b9b3e5fd2dc7d728f7b967c9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5b6f652b9b3e5fd2dc7d728f7b967c9a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga5b6f652b9b3e5fd2dc7d728f7b967c9a">WM8960_IFACE1_ALRSWAP_MASK</a>&#160;&#160;&#160;0x100U</td></tr>
<tr class="memdesc:ga5b6f652b9b3e5fd2dc7d728f7b967c9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960_IFACE1 ALRSWAP bit. <br/></td></tr>
<tr class="separator:ga5b6f652b9b3e5fd2dc7d728f7b967c9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga885a20098e84dc26ab843b69830048b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga885a20098e84dc26ab843b69830048b5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga885a20098e84dc26ab843b69830048b5">WM8960_POWER1_VREF_MASK</a>&#160;&#160;&#160;0x40U</td></tr>
<tr class="memdesc:ga885a20098e84dc26ab843b69830048b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960_POWER1. <br/></td></tr>
<tr class="separator:ga885a20098e84dc26ab843b69830048b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8a3493e9e8f10ae4d2c7986aa0c3329"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab8a3493e9e8f10ae4d2c7986aa0c3329"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gab8a3493e9e8f10ae4d2c7986aa0c3329">WM8960_POWER2_DACL_MASK</a>&#160;&#160;&#160;0x100U</td></tr>
<tr class="memdesc:gab8a3493e9e8f10ae4d2c7986aa0c3329"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960_POWER2. <br/></td></tr>
<tr class="separator:gab8a3493e9e8f10ae4d2c7986aa0c3329"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3675ad227d4528542916e9b591ace43"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gab3675ad227d4528542916e9b591ace43">WM8960_I2C_ADDR</a>&#160;&#160;&#160;0x1A</td></tr>
<tr class="memdesc:gab3675ad227d4528542916e9b591ace43"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960 I2C address. <a href="#gab3675ad227d4528542916e9b591ace43">More...</a><br/></td></tr>
<tr class="separator:gab3675ad227d4528542916e9b591ace43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9f86ecdf51d7c84a55caa0ef67a37f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf9f86ecdf51d7c84a55caa0ef67a37f5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gaf9f86ecdf51d7c84a55caa0ef67a37f5">WM8960_I2C_BAUDRATE</a>&#160;&#160;&#160;(100000U)</td></tr>
<tr class="memdesc:gaf9f86ecdf51d7c84a55caa0ef67a37f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960 I2C baudrate. <br/></td></tr>
<tr class="separator:gaf9f86ecdf51d7c84a55caa0ef67a37f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5c61e09d9dcad206e40ea299b9b3487"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab5c61e09d9dcad206e40ea299b9b3487"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gab5c61e09d9dcad206e40ea299b9b3487">WM8960_ADC_MAX_VOLUME_vALUE</a>&#160;&#160;&#160;0xFFU</td></tr>
<tr class="memdesc:gab5c61e09d9dcad206e40ea299b9b3487"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960 maximum volume value. <br/></td></tr>
<tr class="separator:gab5c61e09d9dcad206e40ea299b9b3487"><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:ga7f071b8fcc908a03ce6bfc7ec3f8e51e"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00065.html#ga1356707eb679cb829473f97ff60b0942">_wm8960_module</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga7f071b8fcc908a03ce6bfc7ec3f8e51e">wm8960_module_t</a></td></tr>
<tr class="memdesc:ga7f071b8fcc908a03ce6bfc7ec3f8e51e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modules in WM8960 board. <a href="#ga7f071b8fcc908a03ce6bfc7ec3f8e51e">More...</a><br/></td></tr>
<tr class="separator:ga7f071b8fcc908a03ce6bfc7ec3f8e51e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga400d064b6c2d774932b98f43a42dbb48"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga400d064b6c2d774932b98f43a42dbb48"></a>
typedef enum <a class="el" href="a00065.html#gac0a8588642de94ed227ed7151a266a3b">_wm8960_play_source</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga400d064b6c2d774932b98f43a42dbb48">wm8960_play_source_t</a></td></tr>
<tr class="memdesc:ga400d064b6c2d774932b98f43a42dbb48"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 play source <br/></td></tr>
<tr class="separator:ga400d064b6c2d774932b98f43a42dbb48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0bed3278cace35d0648925d1ec53c8f5"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00065.html#gaca20160a18589132d07a8942107f9957">_wm8960_route</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga0bed3278cace35d0648925d1ec53c8f5">wm8960_route_t</a></td></tr>
<tr class="memdesc:ga0bed3278cace35d0648925d1ec53c8f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960 data route. <a href="#ga0bed3278cace35d0648925d1ec53c8f5">More...</a><br/></td></tr>
<tr class="separator:ga0bed3278cace35d0648925d1ec53c8f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga746684e61e4c3c9b1ab2b3a7de4f98a5"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00065.html#gae52d20d1c4877494d478b7eee5153db2">_wm8960_protocol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga746684e61e4c3c9b1ab2b3a7de4f98a5">wm8960_protocol_t</a></td></tr>
<tr class="memdesc:ga746684e61e4c3c9b1ab2b3a7de4f98a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The audio data transfer protocol choice. <a href="#ga746684e61e4c3c9b1ab2b3a7de4f98a5">More...</a><br/></td></tr>
<tr class="separator:ga746684e61e4c3c9b1ab2b3a7de4f98a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37f2279444431b77afaf1119aca6ad2a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga37f2279444431b77afaf1119aca6ad2a"></a>
typedef enum <a class="el" href="a00065.html#gaa2b181363627dbe27cd0d1fffd643b98">_wm8960_input</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga37f2279444431b77afaf1119aca6ad2a">wm8960_input_t</a></td></tr>
<tr class="memdesc:ga37f2279444431b77afaf1119aca6ad2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 input source <br/></td></tr>
<tr class="separator:ga37f2279444431b77afaf1119aca6ad2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8efab9d9c9c28387bf3dbd71471d6ab6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8efab9d9c9c28387bf3dbd71471d6ab6"></a>
typedef enum <a class="el" href="a00065.html#gae7c836630b60d7e16f52d46cc2494a43">_wm8960_sysclk_source</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga8efab9d9c9c28387bf3dbd71471d6ab6">wm8960_sysclk_source_t</a></td></tr>
<tr class="memdesc:ga8efab9d9c9c28387bf3dbd71471d6ab6"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 sysclk source <br/></td></tr>
<tr class="separator:ga8efab9d9c9c28387bf3dbd71471d6ab6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d1e244cddbb47b7c98bf2afd1a9d334"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9d1e244cddbb47b7c98bf2afd1a9d334"></a>
typedef struct <a class="el" href="a00065.html#a00442">_wm8960_audio_format</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga9d1e244cddbb47b7c98bf2afd1a9d334">wm8960_audio_format_t</a></td></tr>
<tr class="memdesc:ga9d1e244cddbb47b7c98bf2afd1a9d334"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 audio format <br/></td></tr>
<tr class="separator:ga9d1e244cddbb47b7c98bf2afd1a9d334"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8812b6edba6fcb0691ee95cb6cb5571"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad8812b6edba6fcb0691ee95cb6cb5571"></a>
typedef struct <br class="typebreak"/>
<a class="el" href="a00065.html#a00444">_wm8960_master_sysclk_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gad8812b6edba6fcb0691ee95cb6cb5571">wm8960_master_sysclk_config_t</a></td></tr>
<tr class="memdesc:gad8812b6edba6fcb0691ee95cb6cb5571"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 master system clock configuration <br/></td></tr>
<tr class="separator:gad8812b6edba6fcb0691ee95cb6cb5571"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga421bc3f23306aa034c3e67b6e81044a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga421bc3f23306aa034c3e67b6e81044a2"></a>
typedef struct <a class="el" href="a00065.html#a00463">wm8960_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga421bc3f23306aa034c3e67b6e81044a2">wm8960_config_t</a></td></tr>
<tr class="memdesc:ga421bc3f23306aa034c3e67b6e81044a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize structure of WM8960. <br/></td></tr>
<tr class="separator:ga421bc3f23306aa034c3e67b6e81044a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadeffac4b04b11aa90b8ed2b494499fec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadeffac4b04b11aa90b8ed2b494499fec"></a>
typedef struct <a class="el" href="a00065.html#a00443">_wm8960_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a></td></tr>
<tr class="memdesc:gadeffac4b04b11aa90b8ed2b494499fec"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 codec handler <br/></td></tr>
<tr class="separator:gadeffac4b04b11aa90b8ed2b494499fec"><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:ga1356707eb679cb829473f97ff60b0942"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga1356707eb679cb829473f97ff60b0942">_wm8960_module</a> { <br/>
&#160;&#160;<a class="el" href="a00065.html#gga1356707eb679cb829473f97ff60b0942ae06d8a84878c6ea432e3401e65fb87cb">kWM8960_ModuleADC</a> = 0,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga1356707eb679cb829473f97ff60b0942a536f29cc4bde51273aee16ca2f5e6079">kWM8960_ModuleDAC</a> = 1,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga1356707eb679cb829473f97ff60b0942a73f24782244c9b2965072eaa7e59a5d3">kWM8960_ModuleVREF</a> = 2,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga1356707eb679cb829473f97ff60b0942ac5579774be5b12a7a18f98d1cf374c55">kWM8960_ModuleHP</a> = 3,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga1356707eb679cb829473f97ff60b0942a4db03d48e615c4643ad53e361737218d">kWM8960_ModuleMICB</a> = 4,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga1356707eb679cb829473f97ff60b0942a2ccb86eb6c7ce514a7ce51b97206c426">kWM8960_ModuleMIC</a> = 5,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga1356707eb679cb829473f97ff60b0942a303a97aa3ca809c7f6a972d64287a878">kWM8960_ModuleLineIn</a> = 6,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga1356707eb679cb829473f97ff60b0942afee92d11ea3a0fc6f9345eac1c648215">kWM8960_ModuleLineOut</a> = 7,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga1356707eb679cb829473f97ff60b0942ab2927284f295d943ba601829f5c85d25">kWM8960_ModuleSpeaker</a> = 8,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga1356707eb679cb829473f97ff60b0942a0bedf71e89a9a96bf649200db84f77be">kWM8960_ModuleOMIX</a> = 9
<br/>
}</td></tr>
<tr class="memdesc:ga1356707eb679cb829473f97ff60b0942"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modules in WM8960 board. <a href="a00065.html#ga1356707eb679cb829473f97ff60b0942">More...</a><br/></td></tr>
<tr class="separator:ga1356707eb679cb829473f97ff60b0942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab39a415800ebd0d977c477376649649b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00065.html#ggab39a415800ebd0d977c477376649649ba5cb5a5fd1015f7957c198a440d406e96">kWM8960_HeadphoneLeft</a> = 1,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggab39a415800ebd0d977c477376649649ba0721220fe5946056318d7e0ec3cbb682">kWM8960_HeadphoneRight</a> = 2,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggab39a415800ebd0d977c477376649649ba38ea4c658535deb51658ce2e00aa4c3e">kWM8960_SpeakerLeft</a> = 4,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggab39a415800ebd0d977c477376649649ba12ce651420aecbccd5be4512ab204523">kWM8960_SpeakerRight</a> = 8
<br/>
}</td></tr>
<tr class="memdesc:gab39a415800ebd0d977c477376649649b"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 play channel <a href="a00065.html#gab39a415800ebd0d977c477376649649b">More...</a><br/></td></tr>
<tr class="separator:gab39a415800ebd0d977c477376649649b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac0a8588642de94ed227ed7151a266a3b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gac0a8588642de94ed227ed7151a266a3b">_wm8960_play_source</a> { <br/>
&#160;&#160;<a class="el" href="a00065.html#ggac0a8588642de94ed227ed7151a266a3ba861dc114e341d3245bed939058c16183">kWM8960_PlaySourcePGA</a> = 1,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggac0a8588642de94ed227ed7151a266a3baac489a1eedbfc272a9023862efedacc0">kWM8960_PlaySourceInput</a> = 2,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggac0a8588642de94ed227ed7151a266a3ba5a1779ecd2781e184cbb41aa826f9550">kWM8960_PlaySourceDAC</a> = 4
<br/>
}</td></tr>
<tr class="memdesc:gac0a8588642de94ed227ed7151a266a3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 play source <a href="a00065.html#gac0a8588642de94ed227ed7151a266a3b">More...</a><br/></td></tr>
<tr class="separator:gac0a8588642de94ed227ed7151a266a3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca20160a18589132d07a8942107f9957"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gaca20160a18589132d07a8942107f9957">_wm8960_route</a> { <br/>
&#160;&#160;<a class="el" href="a00065.html#ggaca20160a18589132d07a8942107f9957a7ebcfe6753412e27508fab055a844642">kWM8960_RouteBypass</a> = 0,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggaca20160a18589132d07a8942107f9957a952a2f8b6834cb61b67f6430a71094ef">kWM8960_RoutePlayback</a> = 1,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggaca20160a18589132d07a8942107f9957a6a5973f3f8f53223a26f9e1368eae9c9">kWM8960_RoutePlaybackandRecord</a> = 2,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggaca20160a18589132d07a8942107f9957a6d7f4a4f100efb3ad5b05ba3eae74def">kWM8960_RouteRecord</a> = 5
<br/>
}</td></tr>
<tr class="memdesc:gaca20160a18589132d07a8942107f9957"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960 data route. <a href="a00065.html#gaca20160a18589132d07a8942107f9957">More...</a><br/></td></tr>
<tr class="separator:gaca20160a18589132d07a8942107f9957"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae52d20d1c4877494d478b7eee5153db2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gae52d20d1c4877494d478b7eee5153db2">_wm8960_protocol</a> { <br/>
&#160;&#160;<a class="el" href="a00065.html#ggae52d20d1c4877494d478b7eee5153db2a8efabaf43c6bb17acf54ae37cec6c5f5">kWM8960_BusI2S</a> = 2,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae52d20d1c4877494d478b7eee5153db2af87b1ee7c9c54da5f136f1b79a64b5b9">kWM8960_BusLeftJustified</a> = 1,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae52d20d1c4877494d478b7eee5153db2aed00553ce02a48439a5ec8984d5db467">kWM8960_BusRightJustified</a> = 0,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae52d20d1c4877494d478b7eee5153db2a8fb45995b3bf25ee5122e4ab270c7d2a">kWM8960_BusPCMA</a> = 3,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae52d20d1c4877494d478b7eee5153db2a7a6a94a2db557a1ebe08f4cf10b23f66">kWM8960_BusPCMB</a> = 3 | (1 &lt;&lt; 4)
<br/>
}</td></tr>
<tr class="memdesc:gae52d20d1c4877494d478b7eee5153db2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The audio data transfer protocol choice. <a href="a00065.html#gae52d20d1c4877494d478b7eee5153db2">More...</a><br/></td></tr>
<tr class="separator:gae52d20d1c4877494d478b7eee5153db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2b181363627dbe27cd0d1fffd643b98"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gaa2b181363627dbe27cd0d1fffd643b98">_wm8960_input</a> { <br/>
&#160;&#160;<a class="el" href="a00065.html#ggaa2b181363627dbe27cd0d1fffd643b98a2c6eae84feeba20a1b15e8538202bdbf">kWM8960_InputClosed</a> = 0,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggaa2b181363627dbe27cd0d1fffd643b98a1013bdcf916395fb0c7cda34bc9218df">kWM8960_InputSingleEndedMic</a> = 1,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggaa2b181363627dbe27cd0d1fffd643b98a96dd0a1fbf73e530b2a8f73994fa8788">kWM8960_InputDifferentialMicInput2</a> = 2,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggaa2b181363627dbe27cd0d1fffd643b98a26c5d1f279052c5b3991a563af490ae0">kWM8960_InputDifferentialMicInput3</a> = 3,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggaa2b181363627dbe27cd0d1fffd643b98afb03754cff21d67de95242a285a3fc13">kWM8960_InputLineINPUT2</a> = 4,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggaa2b181363627dbe27cd0d1fffd643b98ae011db846215196ebcecb8cbbb17e5e3">kWM8960_InputLineINPUT3</a> = 5
<br/>
}</td></tr>
<tr class="memdesc:gaa2b181363627dbe27cd0d1fffd643b98"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 input source <a href="a00065.html#gaa2b181363627dbe27cd0d1fffd643b98">More...</a><br/></td></tr>
<tr class="separator:gaa2b181363627dbe27cd0d1fffd643b98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae33c78feb670de33d2abf21ec0624531"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531a50961d3980d3e37dd41e3d8c62c3a870">kWM8960_AudioSampleRate8KHz</a> = 8000U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531a509786e8390518009b7349ee35290f02">kWM8960_AudioSampleRate11025Hz</a> = 11025U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531afc081d6675dcc61766d1db7b7a6e57ba">kWM8960_AudioSampleRate12KHz</a> = 12000U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531a37f98eb4cc147382a0001729bfcffd98">kWM8960_AudioSampleRate16KHz</a> = 16000U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531a0a285edc0cb7ce46f6844fca3f8f3689">kWM8960_AudioSampleRate22050Hz</a> = 22050U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531acc8ce4cd6fa286f26a8850093f2aa696">kWM8960_AudioSampleRate24KHz</a> = 24000U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531a59a22bfdc17d3ce83eb4d78507565700">kWM8960_AudioSampleRate32KHz</a> = 32000U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531af44c5c0712d53f88943e56d8ccd466a4">kWM8960_AudioSampleRate44100Hz</a> = 44100U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531ae09e315fe927817900e50edd8f5dc29c">kWM8960_AudioSampleRate48KHz</a> = 48000U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531a07ce8a1ae26763623e24caed8f9c42e3">kWM8960_AudioSampleRate96KHz</a> = 96000U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531ae9007085de5c77817b93a8d5ef16e227">kWM8960_AudioSampleRate192KHz</a> = 192000U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae33c78feb670de33d2abf21ec0624531abdd1e457644ed2ba495ab7c010876e9e">kWM8960_AudioSampleRate384KHz</a> = 384000U
<br/>
}</td></tr>
<tr class="memdesc:gae33c78feb670de33d2abf21ec0624531"><td class="mdescLeft">&#160;</td><td class="mdescRight">audio sample rate definition <a href="a00065.html#gae33c78feb670de33d2abf21ec0624531">More...</a><br/></td></tr>
<tr class="separator:gae33c78feb670de33d2abf21ec0624531"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga950bf8e3371138ceb9649d45e9a96340"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00065.html#gga950bf8e3371138ceb9649d45e9a96340a1e3149fabb02a0cc14413352945cabef">kWM8960_AudioBitWidth16bit</a> = 16U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga950bf8e3371138ceb9649d45e9a96340ab67c78216a745b5cd0c6b2bc348a6d85">kWM8960_AudioBitWidth20bit</a> = 20U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga950bf8e3371138ceb9649d45e9a96340a32e10ddc499b7b6c91af8a4b515fb9b3">kWM8960_AudioBitWidth24bit</a> = 24U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga950bf8e3371138ceb9649d45e9a96340abd1253b6f3fa57dd356d1280add31a66">kWM8960_AudioBitWidth32bit</a> = 32U
<br/>
}</td></tr>
<tr class="memdesc:ga950bf8e3371138ceb9649d45e9a96340"><td class="mdescLeft">&#160;</td><td class="mdescRight">audio bit width <a href="a00065.html#ga950bf8e3371138ceb9649d45e9a96340">More...</a><br/></td></tr>
<tr class="separator:ga950bf8e3371138ceb9649d45e9a96340"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae7c836630b60d7e16f52d46cc2494a43"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gae7c836630b60d7e16f52d46cc2494a43">_wm8960_sysclk_source</a> { <br/>
&#160;&#160;<a class="el" href="a00065.html#ggae7c836630b60d7e16f52d46cc2494a43a2f693bb4ba26726b322414de913c7952">kWM8960_SysClkSourceMclk</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#ggae7c836630b60d7e16f52d46cc2494a43a3c99b674642b963f84888733e1dcb80a">kWM8960_SysClkSourceInternalPLL</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:gae7c836630b60d7e16f52d46cc2494a43"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 sysclk source <a href="a00065.html#gae7c836630b60d7e16f52d46cc2494a43">More...</a><br/></td></tr>
<tr class="separator:gae7c836630b60d7e16f52d46cc2494a43"><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:ga858aef4726057dd44882d1ed86979b9b"><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="a00065.html#ga858aef4726057dd44882d1ed86979b9b">WM8960_Init</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, const <a class="el" href="a00065.html#ga421bc3f23306aa034c3e67b6e81044a2">wm8960_config_t</a> *config)</td></tr>
<tr class="memdesc:ga858aef4726057dd44882d1ed86979b9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM8960 initialize function. <a href="#ga858aef4726057dd44882d1ed86979b9b">More...</a><br/></td></tr>
<tr class="separator:ga858aef4726057dd44882d1ed86979b9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedaaeb3e155069e1e7d6e41d8597561f"><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="a00065.html#gaedaaeb3e155069e1e7d6e41d8597561f">WM8960_Deinit</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle)</td></tr>
<tr class="memdesc:gaedaaeb3e155069e1e7d6e41d8597561f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deinit the WM8960 codec. <a href="#gaedaaeb3e155069e1e7d6e41d8597561f">More...</a><br/></td></tr>
<tr class="separator:gaedaaeb3e155069e1e7d6e41d8597561f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6922f6e4b7e5edec6f29549e1f9df98b"><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="a00065.html#ga6922f6e4b7e5edec6f29549e1f9df98b">WM8960_SetDataRoute</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, <a class="el" href="a00065.html#ga0bed3278cace35d0648925d1ec53c8f5">wm8960_route_t</a> route)</td></tr>
<tr class="memdesc:ga6922f6e4b7e5edec6f29549e1f9df98b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set audio data route in WM8960. <a href="#ga6922f6e4b7e5edec6f29549e1f9df98b">More...</a><br/></td></tr>
<tr class="separator:ga6922f6e4b7e5edec6f29549e1f9df98b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6b69e1ebbca5832f6c2c9065a8623e5"><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="a00065.html#gaf6b69e1ebbca5832f6c2c9065a8623e5">WM8960_SetLeftInput</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, <a class="el" href="a00065.html#ga37f2279444431b77afaf1119aca6ad2a">wm8960_input_t</a> input)</td></tr>
<tr class="memdesc:gaf6b69e1ebbca5832f6c2c9065a8623e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set left audio input source in WM8960. <a href="#gaf6b69e1ebbca5832f6c2c9065a8623e5">More...</a><br/></td></tr>
<tr class="separator:gaf6b69e1ebbca5832f6c2c9065a8623e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78f5175195593c91559abd992e9cf395"><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="a00065.html#ga78f5175195593c91559abd992e9cf395">WM8960_SetRightInput</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, <a class="el" href="a00065.html#ga37f2279444431b77afaf1119aca6ad2a">wm8960_input_t</a> input)</td></tr>
<tr class="memdesc:ga78f5175195593c91559abd992e9cf395"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set right audio input source in WM8960. <a href="#ga78f5175195593c91559abd992e9cf395">More...</a><br/></td></tr>
<tr class="separator:ga78f5175195593c91559abd992e9cf395"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13e6e6f7bc58616cc9a79be31137ede5"><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="a00065.html#ga13e6e6f7bc58616cc9a79be31137ede5">WM8960_SetProtocol</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, <a class="el" href="a00065.html#ga746684e61e4c3c9b1ab2b3a7de4f98a5">wm8960_protocol_t</a> protocol)</td></tr>
<tr class="memdesc:ga13e6e6f7bc58616cc9a79be31137ede5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the audio transfer protocol. <a href="#ga13e6e6f7bc58616cc9a79be31137ede5">More...</a><br/></td></tr>
<tr class="separator:ga13e6e6f7bc58616cc9a79be31137ede5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88842e10f2046b4bb6cd24f6e605ccad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga88842e10f2046b4bb6cd24f6e605ccad">WM8960_SetMasterSlave</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, bool master)</td></tr>
<tr class="memdesc:ga88842e10f2046b4bb6cd24f6e605ccad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set WM8960 as master or slave. <a href="#ga88842e10f2046b4bb6cd24f6e605ccad">More...</a><br/></td></tr>
<tr class="separator:ga88842e10f2046b4bb6cd24f6e605ccad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga046444c70f68c74b0514211a6f4ab3a7"><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="a00065.html#ga046444c70f68c74b0514211a6f4ab3a7">WM8960_SetVolume</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, <a class="el" href="a00065.html#ga7f071b8fcc908a03ce6bfc7ec3f8e51e">wm8960_module_t</a> module, uint32_t volume)</td></tr>
<tr class="memdesc:ga046444c70f68c74b0514211a6f4ab3a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the volume of different modules in WM8960. <a href="#ga046444c70f68c74b0514211a6f4ab3a7">More...</a><br/></td></tr>
<tr class="separator:ga046444c70f68c74b0514211a6f4ab3a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57f8b8228a0031cccc8fba4c079ccd7b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga57f8b8228a0031cccc8fba4c079ccd7b">WM8960_GetVolume</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, <a class="el" href="a00065.html#ga7f071b8fcc908a03ce6bfc7ec3f8e51e">wm8960_module_t</a> module)</td></tr>
<tr class="memdesc:ga57f8b8228a0031cccc8fba4c079ccd7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the volume of different modules in WM8960. <a href="#ga57f8b8228a0031cccc8fba4c079ccd7b">More...</a><br/></td></tr>
<tr class="separator:ga57f8b8228a0031cccc8fba4c079ccd7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd5893a1845dfd1a4c1721f9cbf720e0"><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="a00065.html#gafd5893a1845dfd1a4c1721f9cbf720e0">WM8960_SetMute</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, <a class="el" href="a00065.html#ga7f071b8fcc908a03ce6bfc7ec3f8e51e">wm8960_module_t</a> module, bool isEnabled)</td></tr>
<tr class="memdesc:gafd5893a1845dfd1a4c1721f9cbf720e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mute modules in WM8960. <a href="#gafd5893a1845dfd1a4c1721f9cbf720e0">More...</a><br/></td></tr>
<tr class="separator:gafd5893a1845dfd1a4c1721f9cbf720e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa173f27a2ffcfc3d7c9fc60f96e1070f"><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="a00065.html#gaa173f27a2ffcfc3d7c9fc60f96e1070f">WM8960_SetModule</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, <a class="el" href="a00065.html#ga7f071b8fcc908a03ce6bfc7ec3f8e51e">wm8960_module_t</a> module, bool isEnabled)</td></tr>
<tr class="memdesc:gaa173f27a2ffcfc3d7c9fc60f96e1070f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable expected devices. <a href="#gaa173f27a2ffcfc3d7c9fc60f96e1070f">More...</a><br/></td></tr>
<tr class="separator:gaa173f27a2ffcfc3d7c9fc60f96e1070f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd0a4568108064adc221bd9c823e423a"><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="a00065.html#gadd0a4568108064adc221bd9c823e423a">WM8960_SetPlay</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, uint32_t playSource)</td></tr>
<tr class="memdesc:gadd0a4568108064adc221bd9c823e423a"><td class="mdescLeft">&#160;</td><td class="mdescRight">SET the WM8960 play source. <a href="#gadd0a4568108064adc221bd9c823e423a">More...</a><br/></td></tr>
<tr class="separator:gadd0a4568108064adc221bd9c823e423a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ac24f4e16ca54145d44e38ac8085e6f"><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="a00065.html#ga8ac24f4e16ca54145d44e38ac8085e6f">WM8960_ConfigDataFormat</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, uint32_t sysclk, uint32_t sample_rate, uint32_t bits)</td></tr>
<tr class="memdesc:ga8ac24f4e16ca54145d44e38ac8085e6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure the data format of audio data. <a href="#ga8ac24f4e16ca54145d44e38ac8085e6f">More...</a><br/></td></tr>
<tr class="separator:ga8ac24f4e16ca54145d44e38ac8085e6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2bb7a2a1dfb0513f8e1238a952cc77cc"><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="a00065.html#ga2bb7a2a1dfb0513f8e1238a952cc77cc">WM8960_SetJackDetect</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, bool isEnabled)</td></tr>
<tr class="memdesc:ga2bb7a2a1dfb0513f8e1238a952cc77cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable jack detect feature. <a href="#ga2bb7a2a1dfb0513f8e1238a952cc77cc">More...</a><br/></td></tr>
<tr class="separator:ga2bb7a2a1dfb0513f8e1238a952cc77cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46c9a029f9e5155486506e4493fe983f"><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="a00065.html#ga46c9a029f9e5155486506e4493fe983f">WM8960_WriteReg</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, uint8_t reg, uint16_t val)</td></tr>
<tr class="memdesc:ga46c9a029f9e5155486506e4493fe983f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write register to WM8960 using I2C. <a href="#ga46c9a029f9e5155486506e4493fe983f">More...</a><br/></td></tr>
<tr class="separator:ga46c9a029f9e5155486506e4493fe983f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32914c3d6d76e5507f945966400229ca"><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="a00065.html#ga32914c3d6d76e5507f945966400229ca">WM8960_ReadReg</a> (uint8_t reg, uint16_t *val)</td></tr>
<tr class="memdesc:ga32914c3d6d76e5507f945966400229ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read register from WM8960 using I2C. <a href="#ga32914c3d6d76e5507f945966400229ca">More...</a><br/></td></tr>
<tr class="separator:ga32914c3d6d76e5507f945966400229ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7aa751625c271e00860ab99b33a9532"><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="a00065.html#gab7aa751625c271e00860ab99b33a9532">WM8960_ModifyReg</a> (<a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *handle, uint8_t reg, uint16_t mask, uint16_t val)</td></tr>
<tr class="memdesc:gab7aa751625c271e00860ab99b33a9532"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify some bits in the register using I2C. <a href="#gab7aa751625c271e00860ab99b33a9532">More...</a><br/></td></tr>
<tr class="separator:gab7aa751625c271e00860ab99b33a9532"><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:ga4a96a53318ae1b2c8778b10501018fc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4a96a53318ae1b2c8778b10501018fc3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga4a96a53318ae1b2c8778b10501018fc3">FSL_WM8960_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="a00242.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 2, 4))</td></tr>
<tr class="memdesc:ga4a96a53318ae1b2c8778b10501018fc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">CLOCK driver version 2.2.4. <br/></td></tr>
<tr class="separator:ga4a96a53318ae1b2c8778b10501018fc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00442" id="a00442"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _wm8960_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:a7180f103e4a00cac0ca98bb0ba6b91b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7180f103e4a00cac0ca98bb0ba6b91b5"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a7180f103e4a00cac0ca98bb0ba6b91b5">mclk_HZ</a></td></tr>
<tr class="memdesc:a7180f103e4a00cac0ca98bb0ba6b91b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">master clock frequency <br/></td></tr>
<tr class="separator:a7180f103e4a00cac0ca98bb0ba6b91b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8aeaaaaed872647194a4097d7f480fbb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8aeaaaaed872647194a4097d7f480fbb"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a8aeaaaaed872647194a4097d7f480fbb">sampleRate</a></td></tr>
<tr class="memdesc:a8aeaaaaed872647194a4097d7f480fbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">sample rate <br/></td></tr>
<tr class="separator:a8aeaaaaed872647194a4097d7f480fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdc221cc99b09282efa2cb49ecd0d065"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afdc221cc99b09282efa2cb49ecd0d065"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#afdc221cc99b09282efa2cb49ecd0d065">bitWidth</a></td></tr>
<tr class="memdesc:afdc221cc99b09282efa2cb49ecd0d065"><td class="mdescLeft">&#160;</td><td class="mdescRight">bit width <br/></td></tr>
<tr class="separator:afdc221cc99b09282efa2cb49ecd0d065"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<a name="a00444" id="a00444"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _wm8960_master_sysclk_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:a99725eabfcb37c9f30ef0d73802c48d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99725eabfcb37c9f30ef0d73802c48d0"></a>
<a class="el" href="a00065.html#ga8efab9d9c9c28387bf3dbd71471d6ab6">wm8960_sysclk_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a99725eabfcb37c9f30ef0d73802c48d0">sysclkSource</a></td></tr>
<tr class="memdesc:a99725eabfcb37c9f30ef0d73802c48d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">sysclk source <br/></td></tr>
<tr class="separator:a99725eabfcb37c9f30ef0d73802c48d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fd297cb70ff39d027dc56070d197263"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fd297cb70ff39d027dc56070d197263"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a5fd297cb70ff39d027dc56070d197263">sysclkFreq</a></td></tr>
<tr class="memdesc:a5fd297cb70ff39d027dc56070d197263"><td class="mdescLeft">&#160;</td><td class="mdescRight">PLL output frequency value. <br/></td></tr>
<tr class="separator:a5fd297cb70ff39d027dc56070d197263"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<a name="a00463" id="a00463"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct wm8960_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:a6cdbcdc23ae542b3366200b4c7fe46cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00065.html#ga0bed3278cace35d0648925d1ec53c8f5">wm8960_route_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a6cdbcdc23ae542b3366200b4c7fe46cf">route</a></td></tr>
<tr class="memdesc:a6cdbcdc23ae542b3366200b4c7fe46cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio data route. <a href="#a6cdbcdc23ae542b3366200b4c7fe46cf">More...</a><br/></td></tr>
<tr class="separator:a6cdbcdc23ae542b3366200b4c7fe46cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26563155e6bfb38f95450fe5b24cf533"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26563155e6bfb38f95450fe5b24cf533"></a>
<a class="el" href="a00065.html#ga746684e61e4c3c9b1ab2b3a7de4f98a5">wm8960_protocol_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a26563155e6bfb38f95450fe5b24cf533">bus</a></td></tr>
<tr class="memdesc:a26563155e6bfb38f95450fe5b24cf533"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio transfer protocol. <br/></td></tr>
<tr class="separator:a26563155e6bfb38f95450fe5b24cf533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85223f027316e94ce61fc2001b473e88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85223f027316e94ce61fc2001b473e88"></a>
<a class="el" href="a00065.html#ga9d1e244cddbb47b7c98bf2afd1a9d334">wm8960_audio_format_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a85223f027316e94ce61fc2001b473e88">format</a></td></tr>
<tr class="memdesc:a85223f027316e94ce61fc2001b473e88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio format. <br/></td></tr>
<tr class="separator:a85223f027316e94ce61fc2001b473e88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42f8f7ad1e4aeb151a619da97f3523bc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a42f8f7ad1e4aeb151a619da97f3523bc">master_slave</a></td></tr>
<tr class="memdesc:a42f8f7ad1e4aeb151a619da97f3523bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Master or slave. <a href="#a42f8f7ad1e4aeb151a619da97f3523bc">More...</a><br/></td></tr>
<tr class="separator:a42f8f7ad1e4aeb151a619da97f3523bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb04133b9d7660e84b2e62cc4d47ed7a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb04133b9d7660e84b2e62cc4d47ed7a"></a>
<a class="el" href="a00065.html#gad8812b6edba6fcb0691ee95cb6cb5571">wm8960_master_sysclk_config_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#abb04133b9d7660e84b2e62cc4d47ed7a">masterClock</a></td></tr>
<tr class="memdesc:abb04133b9d7660e84b2e62cc4d47ed7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">master clock configurations <br/></td></tr>
<tr class="separator:abb04133b9d7660e84b2e62cc4d47ed7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0d4f71e0869795ee583f2b0e3b797f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab0d4f71e0869795ee583f2b0e3b797f2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ab0d4f71e0869795ee583f2b0e3b797f2">enableSpeaker</a></td></tr>
<tr class="memdesc:ab0d4f71e0869795ee583f2b0e3b797f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">True means enable class D speaker as output, false means no. <br/></td></tr>
<tr class="separator:ab0d4f71e0869795ee583f2b0e3b797f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad19b3b32dfa610eb689406c8567526ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad19b3b32dfa610eb689406c8567526ee"></a>
<a class="el" href="a00065.html#ga37f2279444431b77afaf1119aca6ad2a">wm8960_input_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ad19b3b32dfa610eb689406c8567526ee">leftInputSource</a></td></tr>
<tr class="memdesc:ad19b3b32dfa610eb689406c8567526ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Left input source for WM8960. <br/></td></tr>
<tr class="separator:ad19b3b32dfa610eb689406c8567526ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45b0e63f08c6c58520ae41eb366fb0b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45b0e63f08c6c58520ae41eb366fb0b7"></a>
<a class="el" href="a00065.html#ga37f2279444431b77afaf1119aca6ad2a">wm8960_input_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a45b0e63f08c6c58520ae41eb366fb0b7">rightInputSource</a></td></tr>
<tr class="memdesc:a45b0e63f08c6c58520ae41eb366fb0b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Right input source for wm8960. <br/></td></tr>
<tr class="separator:a45b0e63f08c6c58520ae41eb366fb0b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a375170d1bd6ed08974bade34a4e0716a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a375170d1bd6ed08974bade34a4e0716a"></a>
<a class="el" href="a00065.html#ga400d064b6c2d774932b98f43a42dbb48">wm8960_play_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a375170d1bd6ed08974bade34a4e0716a">playSource</a></td></tr>
<tr class="memdesc:a375170d1bd6ed08974bade34a4e0716a"><td class="mdescLeft">&#160;</td><td class="mdescRight">play source <br/></td></tr>
<tr class="separator:a375170d1bd6ed08974bade34a4e0716a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4c2f00b5616d788d729d821f74d1ae2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4c2f00b5616d788d729d821f74d1ae2"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ab4c2f00b5616d788d729d821f74d1ae2">slaveAddress</a></td></tr>
<tr class="memdesc:ab4c2f00b5616d788d729d821f74d1ae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8960 device address <br/></td></tr>
<tr class="separator:ab4c2f00b5616d788d729d821f74d1ae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76fd7d19751949b7e970ea37ca8ee47b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76fd7d19751949b7e970ea37ca8ee47b"></a>
<a class="el" href="a00012.html#ga7cef6c41744cbf081437214aa3a6acec">codec_i2c_config_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a76fd7d19751949b7e970ea37ca8ee47b">i2cConfig</a></td></tr>
<tr class="memdesc:a76fd7d19751949b7e970ea37ca8ee47b"><td class="mdescLeft">&#160;</td><td class="mdescRight">i2c configuration <br/></td></tr>
<tr class="separator:a76fd7d19751949b7e970ea37ca8ee47b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a6cdbcdc23ae542b3366200b4c7fe46cf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00065.html#ga0bed3278cace35d0648925d1ec53c8f5">wm8960_route_t</a> wm8960_config::route</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a42f8f7ad1e4aeb151a619da97f3523bc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool wm8960_config::master_slave</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00443" id="a00443"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _wm8960_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:a1b806721264a9bcf9573b79e44a8b2e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b806721264a9bcf9573b79e44a8b2e9"></a>
const <a class="el" href="a00065.html#ga421bc3f23306aa034c3e67b6e81044a2">wm8960_config_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a1b806721264a9bcf9573b79e44a8b2e9">config</a></td></tr>
<tr class="memdesc:a1b806721264a9bcf9573b79e44a8b2e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">wm8904 config pointer <br/></td></tr>
<tr class="separator:a1b806721264a9bcf9573b79e44a8b2e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa67ddea171aa27a3beefb2ff5e7288e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa67ddea171aa27a3beefb2ff5e7288e0"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#aa67ddea171aa27a3beefb2ff5e7288e0">i2cHandle</a> [<a class="el" href="a00065.html#gad42c885e755bfa53b74cd811af45db8a">WM8960_I2C_HANDLER_SIZE</a>]</td></tr>
<tr class="memdesc:aa67ddea171aa27a3beefb2ff5e7288e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">i2c handle <br/></td></tr>
<tr class="separator:aa67ddea171aa27a3beefb2ff5e7288e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gae6c6a3b67c7930937dd877390dc94cbe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define WM8960_LINVOL&#160;&#160;&#160;0x0U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gab3675ad227d4528542916e9b591ace43"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define WM8960_I2C_ADDR&#160;&#160;&#160;0x1A</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga7f071b8fcc908a03ce6bfc7ec3f8e51e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00065.html#ga1356707eb679cb829473f97ff60b0942">_wm8960_module</a> <a class="el" href="a00065.html#ga7f071b8fcc908a03ce6bfc7ec3f8e51e">wm8960_module_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga0bed3278cace35d0648925d1ec53c8f5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00065.html#gaca20160a18589132d07a8942107f9957">_wm8960_route</a> <a class="el" href="a00065.html#ga0bed3278cace35d0648925d1ec53c8f5">wm8960_route_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Only provide some typical data route, not all route listed. Note: Users cannot combine any routes, once a new route is set, the previous one would be replaced. </p>
</div>
</div>
<a class="anchor" id="ga746684e61e4c3c9b1ab2b3a7de4f98a5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00065.html#gae52d20d1c4877494d478b7eee5153db2">_wm8960_protocol</a> <a class="el" href="a00065.html#ga746684e61e4c3c9b1ab2b3a7de4f98a5">wm8960_protocol_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>WM8960 only supports I2S format and PCM format. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga1356707eb679cb829473f97ff60b0942"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00065.html#ga1356707eb679cb829473f97ff60b0942">_wm8960_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="gga1356707eb679cb829473f97ff60b0942ae06d8a84878c6ea432e3401e65fb87cb"></a>kWM8960_ModuleADC</em>&nbsp;</td><td class="fielddoc">
<p>ADC module in WM8960. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1356707eb679cb829473f97ff60b0942a536f29cc4bde51273aee16ca2f5e6079"></a>kWM8960_ModuleDAC</em>&nbsp;</td><td class="fielddoc">
<p>DAC module in WM8960. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1356707eb679cb829473f97ff60b0942a73f24782244c9b2965072eaa7e59a5d3"></a>kWM8960_ModuleVREF</em>&nbsp;</td><td class="fielddoc">
<p>VREF module. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1356707eb679cb829473f97ff60b0942ac5579774be5b12a7a18f98d1cf374c55"></a>kWM8960_ModuleHP</em>&nbsp;</td><td class="fielddoc">
<p>Headphone. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1356707eb679cb829473f97ff60b0942a4db03d48e615c4643ad53e361737218d"></a>kWM8960_ModuleMICB</em>&nbsp;</td><td class="fielddoc">
<p>Mic bias. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1356707eb679cb829473f97ff60b0942a2ccb86eb6c7ce514a7ce51b97206c426"></a>kWM8960_ModuleMIC</em>&nbsp;</td><td class="fielddoc">
<p>Input Mic. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1356707eb679cb829473f97ff60b0942a303a97aa3ca809c7f6a972d64287a878"></a>kWM8960_ModuleLineIn</em>&nbsp;</td><td class="fielddoc">
<p>Analog in PGA. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1356707eb679cb829473f97ff60b0942afee92d11ea3a0fc6f9345eac1c648215"></a>kWM8960_ModuleLineOut</em>&nbsp;</td><td class="fielddoc">
<p>Line out module. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1356707eb679cb829473f97ff60b0942ab2927284f295d943ba601829f5c85d25"></a>kWM8960_ModuleSpeaker</em>&nbsp;</td><td class="fielddoc">
<p>Speaker module. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1356707eb679cb829473f97ff60b0942a0bedf71e89a9a96bf649200db84f77be"></a>kWM8960_ModuleOMIX</em>&nbsp;</td><td class="fielddoc">
<p>Output mixer. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gab39a415800ebd0d977c477376649649b"></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="_wm8960_play_channel"></a></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggab39a415800ebd0d977c477376649649ba5cb5a5fd1015f7957c198a440d406e96"></a>kWM8960_HeadphoneLeft</em>&nbsp;</td><td class="fielddoc">
<p>wm8960 headphone left channel </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab39a415800ebd0d977c477376649649ba0721220fe5946056318d7e0ec3cbb682"></a>kWM8960_HeadphoneRight</em>&nbsp;</td><td class="fielddoc">
<p>wm8960 headphone right channel </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab39a415800ebd0d977c477376649649ba38ea4c658535deb51658ce2e00aa4c3e"></a>kWM8960_SpeakerLeft</em>&nbsp;</td><td class="fielddoc">
<p>wm8960 speaker left channel </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab39a415800ebd0d977c477376649649ba12ce651420aecbccd5be4512ab204523"></a>kWM8960_SpeakerRight</em>&nbsp;</td><td class="fielddoc">
<p>wm8960 speaker right channel </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gac0a8588642de94ed227ed7151a266a3b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00065.html#gac0a8588642de94ed227ed7151a266a3b">_wm8960_play_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="ggac0a8588642de94ed227ed7151a266a3ba861dc114e341d3245bed939058c16183"></a>kWM8960_PlaySourcePGA</em>&nbsp;</td><td class="fielddoc">
<p>wm8960 play source PGA </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggac0a8588642de94ed227ed7151a266a3baac489a1eedbfc272a9023862efedacc0"></a>kWM8960_PlaySourceInput</em>&nbsp;</td><td class="fielddoc">
<p>wm8960 play source Input </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggac0a8588642de94ed227ed7151a266a3ba5a1779ecd2781e184cbb41aa826f9550"></a>kWM8960_PlaySourceDAC</em>&nbsp;</td><td class="fielddoc">
<p>wm8960 play source DAC </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaca20160a18589132d07a8942107f9957"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00065.html#gaca20160a18589132d07a8942107f9957">_wm8960_route</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Only provide some typical data route, not all route listed. Note: Users cannot combine any routes, once a new route is set, the previous one would be replaced. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaca20160a18589132d07a8942107f9957a7ebcfe6753412e27508fab055a844642"></a>kWM8960_RouteBypass</em>&nbsp;</td><td class="fielddoc">
<p>LINEIN-&gt;Headphone. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaca20160a18589132d07a8942107f9957a952a2f8b6834cb61b67f6430a71094ef"></a>kWM8960_RoutePlayback</em>&nbsp;</td><td class="fielddoc">
<p>I2SIN-&gt;DAC-&gt;Headphone. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaca20160a18589132d07a8942107f9957a6a5973f3f8f53223a26f9e1368eae9c9"></a>kWM8960_RoutePlaybackandRecord</em>&nbsp;</td><td class="fielddoc">
<p>I2SIN-&gt;DAC-&gt;Headphone, LINEIN-&gt;ADC-&gt;I2SOUT. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaca20160a18589132d07a8942107f9957a6d7f4a4f100efb3ad5b05ba3eae74def"></a>kWM8960_RouteRecord</em>&nbsp;</td><td class="fielddoc">
<p>LINEIN-&gt;ADC-&gt;I2SOUT. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gae52d20d1c4877494d478b7eee5153db2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00065.html#gae52d20d1c4877494d478b7eee5153db2">_wm8960_protocol</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>WM8960 only supports I2S format and PCM format. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae52d20d1c4877494d478b7eee5153db2a8efabaf43c6bb17acf54ae37cec6c5f5"></a>kWM8960_BusI2S</em>&nbsp;</td><td class="fielddoc">
<p>I2S type. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae52d20d1c4877494d478b7eee5153db2af87b1ee7c9c54da5f136f1b79a64b5b9"></a>kWM8960_BusLeftJustified</em>&nbsp;</td><td class="fielddoc">
<p>Left justified mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae52d20d1c4877494d478b7eee5153db2aed00553ce02a48439a5ec8984d5db467"></a>kWM8960_BusRightJustified</em>&nbsp;</td><td class="fielddoc">
<p>Right justified mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae52d20d1c4877494d478b7eee5153db2a8fb45995b3bf25ee5122e4ab270c7d2a"></a>kWM8960_BusPCMA</em>&nbsp;</td><td class="fielddoc">
<p>PCM A mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae52d20d1c4877494d478b7eee5153db2a7a6a94a2db557a1ebe08f4cf10b23f66"></a>kWM8960_BusPCMB</em>&nbsp;</td><td class="fielddoc">
<p>PCM B mode. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaa2b181363627dbe27cd0d1fffd643b98"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00065.html#gaa2b181363627dbe27cd0d1fffd643b98">_wm8960_input</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="ggaa2b181363627dbe27cd0d1fffd643b98a2c6eae84feeba20a1b15e8538202bdbf"></a>kWM8960_InputClosed</em>&nbsp;</td><td class="fielddoc">
<p>Input device is closed. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa2b181363627dbe27cd0d1fffd643b98a1013bdcf916395fb0c7cda34bc9218df"></a>kWM8960_InputSingleEndedMic</em>&nbsp;</td><td class="fielddoc">
<p>Input as single ended mic, only use L/RINPUT1. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa2b181363627dbe27cd0d1fffd643b98a96dd0a1fbf73e530b2a8f73994fa8788"></a>kWM8960_InputDifferentialMicInput2</em>&nbsp;</td><td class="fielddoc">
<p>Input as differential mic, use L/RINPUT1 and L/RINPUT2. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa2b181363627dbe27cd0d1fffd643b98a26c5d1f279052c5b3991a563af490ae0"></a>kWM8960_InputDifferentialMicInput3</em>&nbsp;</td><td class="fielddoc">
<p>Input as differential mic, use L/RINPUT1 and L/RINPUT3. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa2b181363627dbe27cd0d1fffd643b98afb03754cff21d67de95242a285a3fc13"></a>kWM8960_InputLineINPUT2</em>&nbsp;</td><td class="fielddoc">
<p>Input as line input, only use L/RINPUT2. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa2b181363627dbe27cd0d1fffd643b98ae011db846215196ebcecb8cbbb17e5e3"></a>kWM8960_InputLineINPUT3</em>&nbsp;</td><td class="fielddoc">
<p>Input as line input, only use L/RINPUT3. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gae33c78feb670de33d2abf21ec0624531"></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="_wm8960_sample_rate"></a></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531a50961d3980d3e37dd41e3d8c62c3a870"></a>kWM8960_AudioSampleRate8KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 8000 Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531a509786e8390518009b7349ee35290f02"></a>kWM8960_AudioSampleRate11025Hz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 11025 Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531afc081d6675dcc61766d1db7b7a6e57ba"></a>kWM8960_AudioSampleRate12KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 12000 Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531a37f98eb4cc147382a0001729bfcffd98"></a>kWM8960_AudioSampleRate16KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 16000 Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531a0a285edc0cb7ce46f6844fca3f8f3689"></a>kWM8960_AudioSampleRate22050Hz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 22050 Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531acc8ce4cd6fa286f26a8850093f2aa696"></a>kWM8960_AudioSampleRate24KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 24000 Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531a59a22bfdc17d3ce83eb4d78507565700"></a>kWM8960_AudioSampleRate32KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 32000 Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531af44c5c0712d53f88943e56d8ccd466a4"></a>kWM8960_AudioSampleRate44100Hz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 44100 Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531ae09e315fe927817900e50edd8f5dc29c"></a>kWM8960_AudioSampleRate48KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 48000 Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531a07ce8a1ae26763623e24caed8f9c42e3"></a>kWM8960_AudioSampleRate96KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 96000 Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531ae9007085de5c77817b93a8d5ef16e227"></a>kWM8960_AudioSampleRate192KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 192000 Hz. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae33c78feb670de33d2abf21ec0624531abdd1e457644ed2ba495ab7c010876e9e"></a>kWM8960_AudioSampleRate384KHz</em>&nbsp;</td><td class="fielddoc">
<p>Sample rate 384000 Hz. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga950bf8e3371138ceb9649d45e9a96340"></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="_wm8960_audio_bit_width"></a></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga950bf8e3371138ceb9649d45e9a96340a1e3149fabb02a0cc14413352945cabef"></a>kWM8960_AudioBitWidth16bit</em>&nbsp;</td><td class="fielddoc">
<p>audio bit width 16 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga950bf8e3371138ceb9649d45e9a96340ab67c78216a745b5cd0c6b2bc348a6d85"></a>kWM8960_AudioBitWidth20bit</em>&nbsp;</td><td class="fielddoc">
<p>audio bit width 20 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga950bf8e3371138ceb9649d45e9a96340a32e10ddc499b7b6c91af8a4b515fb9b3"></a>kWM8960_AudioBitWidth24bit</em>&nbsp;</td><td class="fielddoc">
<p>audio bit width 24 </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga950bf8e3371138ceb9649d45e9a96340abd1253b6f3fa57dd356d1280add31a66"></a>kWM8960_AudioBitWidth32bit</em>&nbsp;</td><td class="fielddoc">
<p>audio bit width 32 </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gae7c836630b60d7e16f52d46cc2494a43"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00065.html#gae7c836630b60d7e16f52d46cc2494a43">_wm8960_sysclk_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="ggae7c836630b60d7e16f52d46cc2494a43a2f693bb4ba26726b322414de913c7952"></a>kWM8960_SysClkSourceMclk</em>&nbsp;</td><td class="fielddoc">
<p>sysclk source from external MCLK </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae7c836630b60d7e16f52d46cc2494a43a3c99b674642b963f84888733e1dcb80a"></a>kWM8960_SysClkSourceInternalPLL</em>&nbsp;</td><td class="fielddoc">
<p>sysclk source from internal PLL </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga858aef4726057dd44882d1ed86979b9b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_Init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00065.html#ga421bc3f23306aa034c3e67b6e81044a2">wm8960_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The second parameter is NULL to WM8960 in this version. If users want to change the settings, they have to use wm8960_write_reg() or wm8960_modify_reg() to set the register value of WM8960. Note: If the codec_config is NULL, it would initialize WM8960 using default settings. The default setting: codec_config-&gt;route = kWM8960_RoutePlaybackandRecord codec_config-&gt;bus = kWM8960_BusI2S codec_config-&gt;master = slave</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8960 handle structure. </td></tr>
<tr><td class="paramname">config</td><td>WM8960 configuration structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaedaaeb3e155069e1e7d6e41d8597561f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_Deinit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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 close all modules in WM8960 to save power.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8960 handle structure pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6922f6e4b7e5edec6f29549e1f9df98b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_SetDataRoute </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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="a00065.html#ga0bed3278cace35d0648925d1ec53c8f5">wm8960_route_t</a>&#160;</td>
<td class="paramname"><em>route</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function would set the data route according to route. The route cannot be combined, as all route would enable different modules. Note: If a new route is set, the previous route would not work.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8960 handle structure. </td></tr>
<tr><td class="paramname">route</td><td>Audio data route in WM8960. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf6b69e1ebbca5832f6c2c9065a8623e5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_SetLeftInput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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="a00065.html#ga37f2279444431b77afaf1119aca6ad2a">wm8960_input_t</a>&#160;</td>
<td class="paramname"><em>input</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>WM8960 handle structure. </td></tr>
<tr><td class="paramname">input</td><td>Audio input source. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga78f5175195593c91559abd992e9cf395"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_SetRightInput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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="a00065.html#ga37f2279444431b77afaf1119aca6ad2a">wm8960_input_t</a>&#160;</td>
<td class="paramname"><em>input</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>WM8960 handle structure. </td></tr>
<tr><td class="paramname">input</td><td>Audio input source. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga13e6e6f7bc58616cc9a79be31137ede5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_SetProtocol </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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="a00065.html#ga746684e61e4c3c9b1ab2b3a7de4f98a5">wm8960_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">
<p>WM8960 only supports I2S, left justified, right justified, PCM A, PCM B format.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8960 handle structure. </td></tr>
<tr><td class="paramname">protocol</td><td>Audio data transfer protocol. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga88842e10f2046b4bb6cd24f6e605ccad"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void WM8960_SetMasterSlave </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8960 handle structure. </td></tr>
<tr><td class="paramname">master</td><td>1 represent master, 0 represent slave. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga046444c70f68c74b0514211a6f4ab3a7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_SetVolume </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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="a00065.html#ga7f071b8fcc908a03ce6bfc7ec3f8e51e">wm8960_module_t</a>&#160;</td>
<td class="paramname"><em>module</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>This function would set the volume of WM8960 modules. Uses need to appoint the module. The function assume that left channel and right channel has the same volume.</p>
<p>Module:kWM8960_ModuleADC, volume range value: 0 is mute, 1-255 is -97db to 30db Module:kWM8960_ModuleDAC, volume range value: 0 is mute, 1-255 is -127db to 0db Module:kWM8960_ModuleHP, volume range value: 0 - 2F is mute, 0x30 - 0x7F is -73db to 6db Module:kWM8960_ModuleLineIn, volume range value: 0 - 0x3F is -17.25db to 30db Module:kWM8960_ModuleSpeaker, volume range value: 0 - 2F is mute, 0x30 - 0x7F is -73db to 6db</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8960 handle structure. </td></tr>
<tr><td class="paramname">module</td><td>Module to set volume, it can be ADC, DAC, Headphone and so on. </td></tr>
<tr><td class="paramname">volume</td><td>Volume value need to be set. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga57f8b8228a0031cccc8fba4c079ccd7b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t WM8960_GetVolume </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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="a00065.html#ga7f071b8fcc908a03ce6bfc7ec3f8e51e">wm8960_module_t</a>&#160;</td>
<td class="paramname"><em>module</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function gets the volume of WM8960 modules. Uses need to appoint the module. The function assume that left channel and right channel has the same volume.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8960 handle structure. </td></tr>
<tr><td class="paramname">module</td><td>Module to set volume, it can be ADC, DAC, Headphone and so on. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Volume value of the module. </dd></dl>
</div>
</div>
<a class="anchor" id="gafd5893a1845dfd1a4c1721f9cbf720e0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_SetMute </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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="a00065.html#ga7f071b8fcc908a03ce6bfc7ec3f8e51e">wm8960_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>WM8960 handle structure. </td></tr>
<tr><td class="paramname">module</td><td>Modules need to be mute. </td></tr>
<tr><td class="paramname">isEnabled</td><td>Mute or unmute, 1 represent mute. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa173f27a2ffcfc3d7c9fc60f96e1070f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_SetModule </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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="a00065.html#ga7f071b8fcc908a03ce6bfc7ec3f8e51e">wm8960_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>WM8960 handle structure. </td></tr>
<tr><td class="paramname">module</td><td>Module expected to enable. </td></tr>
<tr><td class="paramname">isEnabled</td><td>Enable or disable moudles. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gadd0a4568108064adc221bd9c823e423a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_SetPlay </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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>WM8960 handle structure. </td></tr>
<tr><td class="paramname">playSource</td><td>play source , can be a value combine of kWM8960_ModuleHeadphoneSourcePGA, kWM8960_ModuleHeadphoneSourceDAC, kWM8960_ModulePlaySourceInput, kWM8960_ModulePlayMonoRight, kWM8960_ModulePlayMonoLeft.</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="ga8ac24f4e16ca54145d44e38ac8085e6f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_ConfigDataFormat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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>sample_rate</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>bits</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function would configure the registers about the sample rate, bit depths.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>WM8960 handle structure pointer. </td></tr>
<tr><td class="paramname">sysclk</td><td>system clock of the codec which can be generated by MCLK or PLL output. </td></tr>
<tr><td class="paramname">sample_rate</td><td>Sample rate of audio file running in WM8960. WM8960 now supports 8k, 11.025k, 12k, 16k, 22.05k, 24k, 32k, 44.1k, 48k and 96k sample rate. </td></tr>
<tr><td class="paramname">bits</td><td>Bit depth of audio file (WM8960 only supports 16bit, 20bit, 24bit and 32 bit in HW). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2bb7a2a1dfb0513f8e1238a952cc77cc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_SetJackDetect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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>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>WM8960 handle structure. </td></tr>
<tr><td class="paramname">isEnabled</td><td>Enable or disable moudles. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga46c9a029f9e5155486506e4493fe983f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_WriteReg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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>val</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>WM8960 handle structure. </td></tr>
<tr><td class="paramname">reg</td><td>The register address in WM8960. </td></tr>
<tr><td class="paramname">val</td><td>Value needs to write into the register. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga32914c3d6d76e5507f945966400229ca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_ReadReg </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>val</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">reg</td><td>The register address in WM8960. </td></tr>
<tr><td class="paramname">val</td><td>Value written to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab7aa751625c271e00860ab99b33a9532"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> WM8960_ModifyReg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#gadeffac4b04b11aa90b8ed2b494499fec">wm8960_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>val</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>WM8960 handle structure. </td></tr>
<tr><td class="paramname">reg</td><td>The register address in WM8960. </td></tr>
<tr><td class="paramname">mask</td><td>The mask code for the bits want to write. The bit you want to write should be 0. </td></tr>
<tr><td class="paramname">val</td><td>Value needs to write into the register. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul class="foot">
<li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
</li>
</ul>
</div>
</body>
</html>