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

1499 lines
87 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: USDHC HOST adapter 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> </div>
<div class="headertitle">
<div class="title">USDHC HOST adapter Driver<div class="ingroups"><a class="el" href="a00286.html">SDMMC HOST Driver</a></div></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The USDHC host adapter driver provide adapter for blocking/non_blocking mode.</p>
<h1>Cache maintain capability</h1>
<p>To maintain data integrity during DMA operations on the platform that has cache, host driver provide a cache maintain functionality by set: host.enableCacheControl = kSDMMCHOST_CacheControlRWBuffer This is used for only when the low level driver cache maintain functionality is disabled. It is suggest that the address of buffer used for read/write is align with cache line size.</p>
<h1>Cache line alignment maintain capability</h1>
<p>when application submit a transfer request that the data buffer address is not align with cache line size, the potential data loss may happen during driver maintain the data cache, to aovid such issue happens, sdmmc usdhc host driver provides support on convert the unalign data transfer into align data transfer, if application would like to use the feature, please enable this functionality by define below macro firstly, <code>#define SDMMCHOST_ENABLE_CACHE_LINE_ALIGN_TRANSFER 1</code> And then call SDMMCHOST_InstallCacheAlignBuffer to install a cache line size align buffer, please note the installed buffer size must not small than 2 * cache line size. Please note that this functionality is support by the non blocking adapter only. </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:a00474"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a00474">_sdmmchost_</a></td></tr>
<tr class="memdesc:a00474"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host handler <a href="a00065.html#a00474">More...</a><br/></td></tr>
<tr class="separator:a00474"><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:gab7f416230cd008bf4453aca9e4ae6623"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gab7f416230cd008bf4453aca9e4ae6623">FSL_SDMMC_HOST_ADAPTER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="a00260.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2U, 6U, 3U)) /*2.6.3*/</td></tr>
<tr class="memdesc:gab7f416230cd008bf4453aca9e4ae6623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Middleware adapter version. <a href="#gab7f416230cd008bf4453aca9e4ae6623">More...</a><br/></td></tr>
<tr class="separator:gab7f416230cd008bf4453aca9e4ae6623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51ef85092e4c145fd0c3a422df20aa93"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga51ef85092e4c145fd0c3a422df20aa93"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga51ef85092e4c145fd0c3a422df20aa93">SDMMCHOST_SUPPORT_HIGH_SPEED</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:ga51ef85092e4c145fd0c3a422df20aa93"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host misc capability <br/></td></tr>
<tr class="separator:ga51ef85092e4c145fd0c3a422df20aa93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga00cdd080cd51a85324c018f15ad58498"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga00cdd080cd51a85324c018f15ad58498"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga00cdd080cd51a85324c018f15ad58498">SDMMCHOST_SUPPORT_DDR50</a>&#160;&#160;&#160;(SDMMCHOST_SUPPORT_DDR_MODE)</td></tr>
<tr class="memdesc:ga00cdd080cd51a85324c018f15ad58498"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host sdcard DDR50 mode capability <br/></td></tr>
<tr class="separator:ga00cdd080cd51a85324c018f15ad58498"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89d8638c2e97507e62d5e5418740f5f7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga89d8638c2e97507e62d5e5418740f5f7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga89d8638c2e97507e62d5e5418740f5f7">SDMMCHOST_SUPPORT_SDR104</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:ga89d8638c2e97507e62d5e5418740f5f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host sdcard SDR50 mode capability <br/></td></tr>
<tr class="separator:ga89d8638c2e97507e62d5e5418740f5f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef36d9fe71e7dd482af0b405d83a8512"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaef36d9fe71e7dd482af0b405d83a8512"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gaef36d9fe71e7dd482af0b405d83a8512">SDMMCHOST_SUPPORT_SDR50</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:gaef36d9fe71e7dd482af0b405d83a8512"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host sdcard SDR104/mmccard HS200 mode capability <br/></td></tr>
<tr class="separator:gaef36d9fe71e7dd482af0b405d83a8512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad70b40d70fe9382f3b2d4d951c765b4c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad70b40d70fe9382f3b2d4d951c765b4c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gad70b40d70fe9382f3b2d4d951c765b4c">SDMMCHOST_SUPPORT_HS400</a>&#160;&#160;&#160;(0U)</td></tr>
<tr class="memdesc:gad70b40d70fe9382f3b2d4d951c765b4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host mmccard HS400 mode capability <br/></td></tr>
<tr class="separator:gad70b40d70fe9382f3b2d4d951c765b4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga27fe2eca22de5770ae743c1e07bc1084"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga27fe2eca22de5770ae743c1e07bc1084"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga27fe2eca22de5770ae743c1e07bc1084">SDMMCHOST_INSTANCE_SUPPORT_8_BIT_WIDTH</a>(host)&#160;&#160;&#160;FSL_FEATURE_USDHC_INSTANCE_SUPPORT_8_BIT_WIDTHn(host-&gt;hostController.base)</td></tr>
<tr class="memdesc:ga27fe2eca22de5770ae743c1e07bc1084"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host instance capability <br/></td></tr>
<tr class="separator:ga27fe2eca22de5770ae743c1e07bc1084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga731d8662df92959d2bb4c45eebe9580f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga731d8662df92959d2bb4c45eebe9580f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga731d8662df92959d2bb4c45eebe9580f">SDMMCHOST_DATA3_DETECT_CARD_DELAY</a>&#160;&#160;&#160;(10U)</td></tr>
<tr class="memdesc:ga731d8662df92959d2bb4c45eebe9580f"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmchost delay for DAT3 detect card <br/></td></tr>
<tr class="separator:ga731d8662df92959d2bb4c45eebe9580f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9910e59364c563ce607bcd4b4b408fbb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9910e59364c563ce607bcd4b4b408fbb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga9910e59364c563ce607bcd4b4b408fbb">SDMMCHOST_DMA_DESCRIPTOR_BUFFER_ALIGN_SIZE</a>&#160;&#160;&#160;(4U)</td></tr>
<tr class="memdesc:ga9910e59364c563ce607bcd4b4b408fbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">SDMMC host dma descriptor buffer address align size. <br/></td></tr>
<tr class="separator:ga9910e59364c563ce607bcd4b4b408fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b005d6c35ae08d925db709007d29970"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga6b005d6c35ae08d925db709007d29970">SDMMCHOST_STANDARD_TUNING_START</a>&#160;&#160;&#160;(10U)</td></tr>
<tr class="memdesc:ga6b005d6c35ae08d925db709007d29970"><td class="mdescLeft">&#160;</td><td class="mdescRight">tuning configuration <a href="#ga6b005d6c35ae08d925db709007d29970">More...</a><br/></td></tr>
<tr class="separator:ga6b005d6c35ae08d925db709007d29970"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13fa044c64b48b9c2d59503cb4461d2c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga13fa044c64b48b9c2d59503cb4461d2c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga13fa044c64b48b9c2d59503cb4461d2c">SDMMCHOST_TUINIG_STEP</a>&#160;&#160;&#160;(2U)</td></tr>
<tr class="memdesc:ga13fa044c64b48b9c2d59503cb4461d2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">standard tuning stBep <br/></td></tr>
<tr class="separator:ga13fa044c64b48b9c2d59503cb4461d2c"><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:ga4cb15dfa790e535a38ec0b3ed86ff7b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4cb15dfa790e535a38ec0b3ed86ff7b8"></a>
typedef <a class="el" href="a00078.html#ga1f4def6a4bacac5d31ee1081c26e44f0">usdhc_transfer_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga4cb15dfa790e535a38ec0b3ed86ff7b8">sdmmchost_transfer_t</a></td></tr>
<tr class="memdesc:ga4cb15dfa790e535a38ec0b3ed86ff7b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host transfer function <br/></td></tr>
<tr class="separator:ga4cb15dfa790e535a38ec0b3ed86ff7b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3420a6f07f4698ce018b4020e720b9dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3420a6f07f4698ce018b4020e720b9dc"></a>
typedef struct <a class="el" href="a00065.html#a00474">_sdmmchost_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a></td></tr>
<tr class="memdesc:ga3420a6f07f4698ce018b4020e720b9dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host handler <br/></td></tr>
<tr class="separator:ga3420a6f07f4698ce018b4020e720b9dc"><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:ga29d44341ce767c5dfc737d622fc97ba1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1ab51bcc21ae354f392e9c4abd9d6961b1">kSDMMCHOST_SupportHighSpeed</a> = 1U &lt;&lt; 0U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1a4b51491d9394952f028a960c14c69708">kSDMMCHOST_SupportSuspendResume</a> = 1U &lt;&lt; 1U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1aff71f5474fde37213196348beb75a392">kSDMMCHOST_SupportVoltage3v3</a> = 1U &lt;&lt; 2U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1ae589248a31d21b97ccf7fe3b934c2a5a">kSDMMCHOST_SupportVoltage3v0</a> = 1U &lt;&lt; 3U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1a9fb837cc0caf22137a71f92be9256c02">kSDMMCHOST_SupportVoltage1v8</a> = 1U &lt;&lt; 4U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1a0459aebad28418d7a3bfc7d901a450ad">kSDMMCHOST_SupportVoltage1v2</a> = 1U &lt;&lt; 5U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1a218ba5f7a68298486be4e6779d6ef5c8">kSDMMCHOST_Support4BitDataWidth</a> = 1U &lt;&lt; 6U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1a91b63bab7088996a1d9e3d29df2fab6f">kSDMMCHOST_Support8BitDataWidth</a> = 1U &lt;&lt; 7U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1aff9f331e225f56b274db78e2d009b154">kSDMMCHOST_SupportDDRMode</a> = 1U &lt;&lt; 8U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1ad4f9d7cb24bcc490e098deb007a8deab">kSDMMCHOST_SupportDetectCardByData3</a> = 1U &lt;&lt; 9U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1ad65309bd33be9cdc527fe76a68b5c7d0">kSDMMCHOST_SupportDetectCardByCD</a> = 1U &lt;&lt; 10U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1a1cfe03e88e105a3694a480744d4c416a">kSDMMCHOST_SupportAutoCmd12</a> = 1U &lt;&lt; 11U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1aa4a62b272a09c81052633a56e4787d74">kSDMMCHOST_SupportSDR104</a> = 1U &lt;&lt; 12U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1af6a929b28e097d111a3dc7369b356b7e">kSDMMCHOST_SupportSDR50</a> = 1U &lt;&lt; 13U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1af85a3d7721af182ca291d323bda71e75">kSDMMCHOST_SupportHS200</a> = 1U &lt;&lt; 14U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga29d44341ce767c5dfc737d622fc97ba1ac224880ccd4bb3d6f23405eed39e577e">kSDMMCHOST_SupportHS400</a> = 1U &lt;&lt; 15U
<br/>
}</td></tr>
<tr class="memdesc:ga29d44341ce767c5dfc737d622fc97ba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host capability <a href="a00065.html#ga29d44341ce767c5dfc737d622fc97ba1">More...</a><br/></td></tr>
<tr class="separator:ga29d44341ce767c5dfc737d622fc97ba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b7b7893d940926615b39239ac05829d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00065.html#gga1b7b7893d940926615b39239ac05829da4ed3ac858d9b99252a49ca7a297d2dd0">kSDMMCHOST_EndianModeBig</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga1b7b7893d940926615b39239ac05829da2394f707bc8124fa714e61e0d9748264">kSDMMCHOST_EndianModeHalfWordBig</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga1b7b7893d940926615b39239ac05829daccb3b8b837fb20c01c79a99364ca0138">kSDMMCHOST_EndianModeLittle</a> = 2U
<br/>
}</td></tr>
<tr class="memdesc:ga1b7b7893d940926615b39239ac05829d"><td class="mdescLeft">&#160;</td><td class="mdescRight">host Endian mode corresponding to driver define <a href="a00065.html#ga1b7b7893d940926615b39239ac05829d">More...</a><br/></td></tr>
<tr class="separator:ga1b7b7893d940926615b39239ac05829d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga098384b0034af0daa7c9c5c82b563567"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00065.html#gga098384b0034af0daa7c9c5c82b563567ab6ab0377930594ffdc5552ce1bbe3841">kSDMMCHOST_StandardTuning</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga098384b0034af0daa7c9c5c82b563567aafec664445b46732b6f5e724e3088bf6">kSDMMCHOST_ManualTuning</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:ga098384b0034af0daa7c9c5c82b563567"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host tuning type <a href="a00065.html#ga098384b0034af0daa7c9c5c82b563567">More...</a><br/></td></tr>
<tr class="separator:ga098384b0034af0daa7c9c5c82b563567"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga92c4bd66c8074c3d126a069275a0a80c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00065.html#gga92c4bd66c8074c3d126a069275a0a80cac8a5cf0d2ab8c1251349826b371bcc4b">kSDMMCHOST_NoCacheControl</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00065.html#gga92c4bd66c8074c3d126a069275a0a80ca2961728c986f1d18e094110f4a233a8c">kSDMMCHOST_CacheControlRWBuffer</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:ga92c4bd66c8074c3d126a069275a0a80c"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host maintain cache flag <a href="a00065.html#ga92c4bd66c8074c3d126a069275a0a80c">More...</a><br/></td></tr>
<tr class="separator:ga92c4bd66c8074c3d126a069275a0a80c"><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>
USDHC host controller function</h2></td></tr>
<tr class="memitem:ga6a2f4160b4f2bf3a24c0a9e85f652cac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga6a2f4160b4f2bf3a24c0a9e85f652cac">SDMMCHOST_SetCardBusWidth</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, uint32_t dataBusWidth)</td></tr>
<tr class="memdesc:ga6a2f4160b4f2bf3a24c0a9e85f652cac"><td class="mdescLeft">&#160;</td><td class="mdescRight">set data bus width. <a href="#ga6a2f4160b4f2bf3a24c0a9e85f652cac">More...</a><br/></td></tr>
<tr class="separator:ga6a2f4160b4f2bf3a24c0a9e85f652cac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3167687798418ad802388c549a4dc79e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga3167687798418ad802388c549a4dc79e">SDMMCHOST_SendCardActive</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host)</td></tr>
<tr class="memdesc:ga3167687798418ad802388c549a4dc79e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send initilization active 80 clocks to card. <a href="#ga3167687798418ad802388c549a4dc79e">More...</a><br/></td></tr>
<tr class="separator:ga3167687798418ad802388c549a4dc79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed911872439a396900e606d88ec2f639"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gaed911872439a396900e606d88ec2f639">SDMMCHOST_SetCardClock</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, uint32_t targetClock)</td></tr>
<tr class="memdesc:gaed911872439a396900e606d88ec2f639"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set card bus clock. <a href="#gaed911872439a396900e606d88ec2f639">More...</a><br/></td></tr>
<tr class="separator:gaed911872439a396900e606d88ec2f639"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3ab76c607654db1629f1bbaf773c2c3"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gab3ab76c607654db1629f1bbaf773c2c3">SDMMCHOST_IsCardBusy</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host)</td></tr>
<tr class="memdesc:gab3ab76c607654db1629f1bbaf773c2c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">check card status by DATA0. <a href="#gab3ab76c607654db1629f1bbaf773c2c3">More...</a><br/></td></tr>
<tr class="separator:gab3ab76c607654db1629f1bbaf773c2c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6bd5a5d59633b4628f28c3599f3b897f"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga6bd5a5d59633b4628f28c3599f3b897f">SDMMCHOST_GetSignalLineStatus</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, uint32_t signalLine)</td></tr>
<tr class="memdesc:ga6bd5a5d59633b4628f28c3599f3b897f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get signal line status. <a href="#ga6bd5a5d59633b4628f28c3599f3b897f">More...</a><br/></td></tr>
<tr class="separator:ga6bd5a5d59633b4628f28c3599f3b897f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02e31cfbe66648fc70cb5ad1ad8d4e81"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga02e31cfbe66648fc70cb5ad1ad8d4e81">SDMMCHOST_EnableCardInt</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, bool enable)</td></tr>
<tr class="memdesc:ga02e31cfbe66648fc70cb5ad1ad8d4e81"><td class="mdescLeft">&#160;</td><td class="mdescRight">enable card interrupt. <a href="#ga02e31cfbe66648fc70cb5ad1ad8d4e81">More...</a><br/></td></tr>
<tr class="separator:ga02e31cfbe66648fc70cb5ad1ad8d4e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga325ef14ece0196e72dbb9f23fb3a6c05"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga325ef14ece0196e72dbb9f23fb3a6c05">SDMMCHOST_EnableDDRMode</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, bool enable, uint32_t nibblePos)</td></tr>
<tr class="memdesc:ga325ef14ece0196e72dbb9f23fb3a6c05"><td class="mdescLeft">&#160;</td><td class="mdescRight">enable DDR mode. <a href="#ga325ef14ece0196e72dbb9f23fb3a6c05">More...</a><br/></td></tr>
<tr class="separator:ga325ef14ece0196e72dbb9f23fb3a6c05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1cb3b2a1fc0014931ec3557d7a2539b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gaa1cb3b2a1fc0014931ec3557d7a2539b">SDMMCHOST_EnableHS400Mode</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, bool enable)</td></tr>
<tr class="memdesc:gaa1cb3b2a1fc0014931ec3557d7a2539b"><td class="mdescLeft">&#160;</td><td class="mdescRight">enable HS400 mode. <a href="#gaa1cb3b2a1fc0014931ec3557d7a2539b">More...</a><br/></td></tr>
<tr class="separator:gaa1cb3b2a1fc0014931ec3557d7a2539b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08cbe1e8c2a7f37be10f901761ff2870"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga08cbe1e8c2a7f37be10f901761ff2870">SDMMCHOST_EnableStrobeDll</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, bool enable)</td></tr>
<tr class="memdesc:ga08cbe1e8c2a7f37be10f901761ff2870"><td class="mdescLeft">&#160;</td><td class="mdescRight">enable STROBE DLL. <a href="#ga08cbe1e8c2a7f37be10f901761ff2870">More...</a><br/></td></tr>
<tr class="separator:ga08cbe1e8c2a7f37be10f901761ff2870"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b1a9d28ed22d8b7496372b0d1b2d068"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga1b1a9d28ed22d8b7496372b0d1b2d068">SDMMCHOST_StartBoot</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, <a class="el" href="a00078.html#a00509">sdmmchost_boot_config_t</a> *hostConfig, <a class="el" href="a00078.html#a00511">sdmmchost_cmd_t</a> *cmd, uint8_t *buffer)</td></tr>
<tr class="memdesc:ga1b1a9d28ed22d8b7496372b0d1b2d068"><td class="mdescLeft">&#160;</td><td class="mdescRight">start read boot data. <a href="#ga1b1a9d28ed22d8b7496372b0d1b2d068">More...</a><br/></td></tr>
<tr class="separator:ga1b1a9d28ed22d8b7496372b0d1b2d068"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67013c224293f28edf35bbd645f56171"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga67013c224293f28edf35bbd645f56171">SDMMCHOST_ReadBootData</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, <a class="el" href="a00078.html#a00509">sdmmchost_boot_config_t</a> *hostConfig, uint8_t *buffer)</td></tr>
<tr class="memdesc:ga67013c224293f28edf35bbd645f56171"><td class="mdescLeft">&#160;</td><td class="mdescRight">read boot data. <a href="#ga67013c224293f28edf35bbd645f56171">More...</a><br/></td></tr>
<tr class="separator:ga67013c224293f28edf35bbd645f56171"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95c2985329c39dd313a8ae3330dafbcf"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga95c2985329c39dd313a8ae3330dafbcf">SDMMCHOST_EnableBoot</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, bool enable)</td></tr>
<tr class="memdesc:ga95c2985329c39dd313a8ae3330dafbcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">enable boot mode. <a href="#ga95c2985329c39dd313a8ae3330dafbcf">More...</a><br/></td></tr>
<tr class="separator:ga95c2985329c39dd313a8ae3330dafbcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96724bd653d1ca166314f52bd8eaf9ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga96724bd653d1ca166314f52bd8eaf9ab">SDMMCHOST_CardIntInit</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, void *sdioInt)</td></tr>
<tr class="memdesc:ga96724bd653d1ca166314f52bd8eaf9ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">card interrupt function. <a href="#ga96724bd653d1ca166314f52bd8eaf9ab">More...</a><br/></td></tr>
<tr class="separator:ga96724bd653d1ca166314f52bd8eaf9ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5375f1305a451912d3ad33d85d45ce4e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga5375f1305a451912d3ad33d85d45ce4e">SDMMCHOST_ForceClockOn</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, bool enable)</td></tr>
<tr class="memdesc:ga5375f1305a451912d3ad33d85d45ce4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">force card clock on. <a href="#ga5375f1305a451912d3ad33d85d45ce4e">More...</a><br/></td></tr>
<tr class="separator:ga5375f1305a451912d3ad33d85d45ce4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96d258a5a09f079bfe135fe545c5778c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga96d258a5a09f079bfe135fe545c5778c">SDMMCHOST_SwitchToVoltage</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, uint32_t voltage)</td></tr>
<tr class="memdesc:ga96d258a5a09f079bfe135fe545c5778c"><td class="mdescLeft">&#160;</td><td class="mdescRight">switch to voltage. <a href="#ga96d258a5a09f079bfe135fe545c5778c">More...</a><br/></td></tr>
<tr class="separator:ga96d258a5a09f079bfe135fe545c5778c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae33c669f37f6354c1618e4354e7a2d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gaae33c669f37f6354c1618e4354e7a2d8">SDMMCHOST_CardDetectInit</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, void *cd)</td></tr>
<tr class="memdesc:gaae33c669f37f6354c1618e4354e7a2d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">card detect init function. <a href="#gaae33c669f37f6354c1618e4354e7a2d8">More...</a><br/></td></tr>
<tr class="separator:gaae33c669f37f6354c1618e4354e7a2d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga846a7644c956ee5533e913327cb85c3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga846a7644c956ee5533e913327cb85c3c">SDMMCHOST_PollingCardDetectStatus</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, uint32_t waitCardStatus, uint32_t timeout)</td></tr>
<tr class="memdesc:ga846a7644c956ee5533e913327cb85c3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detect card insert, only need for SD cases. <a href="#ga846a7644c956ee5533e913327cb85c3c">More...</a><br/></td></tr>
<tr class="separator:ga846a7644c956ee5533e913327cb85c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0989b876590f6ae75709a06de205ae7"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gae0989b876590f6ae75709a06de205ae7">SDMMCHOST_CardDetectStatus</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host)</td></tr>
<tr class="memdesc:gae0989b876590f6ae75709a06de205ae7"><td class="mdescLeft">&#160;</td><td class="mdescRight">card detect status. <a href="#gae0989b876590f6ae75709a06de205ae7">More...</a><br/></td></tr>
<tr class="separator:gae0989b876590f6ae75709a06de205ae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8f316244d63b01d005de110482ca125f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga8f316244d63b01d005de110482ca125f">SDMMCHOST_Init</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host)</td></tr>
<tr class="memdesc:ga8f316244d63b01d005de110482ca125f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init host controller. <a href="#ga8f316244d63b01d005de110482ca125f">More...</a><br/></td></tr>
<tr class="separator:ga8f316244d63b01d005de110482ca125f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8070be281bdd447d149114b4445bcdc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gad8070be281bdd447d149114b4445bcdc">SDMMCHOST_Deinit</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host)</td></tr>
<tr class="memdesc:gad8070be281bdd447d149114b4445bcdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deinit host controller. <a href="#gad8070be281bdd447d149114b4445bcdc">More...</a><br/></td></tr>
<tr class="separator:gad8070be281bdd447d149114b4445bcdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga587da6c26c9e6401e77d083011b8e474"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga587da6c26c9e6401e77d083011b8e474">SDMMCHOST_SetCardPower</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, bool enable)</td></tr>
<tr class="memdesc:ga587da6c26c9e6401e77d083011b8e474"><td class="mdescLeft">&#160;</td><td class="mdescRight">host power off card function. <a href="#ga587da6c26c9e6401e77d083011b8e474">More...</a><br/></td></tr>
<tr class="separator:ga587da6c26c9e6401e77d083011b8e474"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62429a2a668ae8bef49352256bbc6a48"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga62429a2a668ae8bef49352256bbc6a48">SDMMCHOST_TransferFunction</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, <a class="el" href="a00065.html#ga4cb15dfa790e535a38ec0b3ed86ff7b8">sdmmchost_transfer_t</a> *content)</td></tr>
<tr class="memdesc:ga62429a2a668ae8bef49352256bbc6a48"><td class="mdescLeft">&#160;</td><td class="mdescRight">host transfer function. <a href="#ga62429a2a668ae8bef49352256bbc6a48">More...</a><br/></td></tr>
<tr class="separator:ga62429a2a668ae8bef49352256bbc6a48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeb989c127eb1ca6bc4a831220be0f384"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gaeb989c127eb1ca6bc4a831220be0f384">SDMMCHOST_ExecuteTuning</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, uint32_t tuningCmd, uint32_t *revBuf, uint32_t blockSize)</td></tr>
<tr class="memdesc:gaeb989c127eb1ca6bc4a831220be0f384"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host excute tuning. <a href="#gaeb989c127eb1ca6bc4a831220be0f384">More...</a><br/></td></tr>
<tr class="separator:gaeb989c127eb1ca6bc4a831220be0f384"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4d25fd8cb129e822223b868bdfa6c10"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#gac4d25fd8cb129e822223b868bdfa6c10">SDMMCHOST_Reset</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host)</td></tr>
<tr class="memdesc:gac4d25fd8cb129e822223b868bdfa6c10"><td class="mdescLeft">&#160;</td><td class="mdescRight">host reset function. <a href="#gac4d25fd8cb129e822223b868bdfa6c10">More...</a><br/></td></tr>
<tr class="separator:gac4d25fd8cb129e822223b868bdfa6c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d6ed81a627153dfdfc9527193026490"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ga8d6ed81a627153dfdfc9527193026490">SDMMCHOST_ConvertDataToLittleEndian</a> (<a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *host, uint32_t *data, uint32_t wordSize, uint32_t format)</td></tr>
<tr class="memdesc:ga8d6ed81a627153dfdfc9527193026490"><td class="mdescLeft">&#160;</td><td class="mdescRight">sdmmc host convert data sequence to little endian sequence <a href="#ga8d6ed81a627153dfdfc9527193026490">More...</a><br/></td></tr>
<tr class="separator:ga8d6ed81a627153dfdfc9527193026490"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00474" id="a00474"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _sdmmchost_</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:ad3687fe9bd8a33f3d9aba48961162d40"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3687fe9bd8a33f3d9aba48961162d40"></a>
<a class="el" href="a00078.html#gaa8513207d28237cf3f64825d67b15c64">usdhc_host_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ad3687fe9bd8a33f3d9aba48961162d40">hostController</a></td></tr>
<tr class="memdesc:ad3687fe9bd8a33f3d9aba48961162d40"><td class="mdescLeft">&#160;</td><td class="mdescRight">host configuration <br/></td></tr>
<tr class="separator:ad3687fe9bd8a33f3d9aba48961162d40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee980f7170010a5adbf01c49c81127a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee980f7170010a5adbf01c49c81127a7"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#aee980f7170010a5adbf01c49c81127a7">dmaDesBuffer</a></td></tr>
<tr class="memdesc:aee980f7170010a5adbf01c49c81127a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">DMA descriptor buffer address. <br/></td></tr>
<tr class="separator:aee980f7170010a5adbf01c49c81127a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af15ac50990e050af2358b004d14b658f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af15ac50990e050af2358b004d14b658f"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#af15ac50990e050af2358b004d14b658f">dmaDesBufferWordsNum</a></td></tr>
<tr class="memdesc:af15ac50990e050af2358b004d14b658f"><td class="mdescLeft">&#160;</td><td class="mdescRight">DMA descriptor buffer size in byte. <br/></td></tr>
<tr class="separator:af15ac50990e050af2358b004d14b658f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3689689dc68ccc2c65497911690e53da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3689689dc68ccc2c65497911690e53da"></a>
<a class="el" href="a00078.html#gaab782b80a4d401f314a7eb13c65ffd4e">usdhc_handle_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a3689689dc68ccc2c65497911690e53da">handle</a></td></tr>
<tr class="memdesc:a3689689dc68ccc2c65497911690e53da"><td class="mdescLeft">&#160;</td><td class="mdescRight">host controller handler <br/></td></tr>
<tr class="separator:a3689689dc68ccc2c65497911690e53da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04e1ecfb476d78e27319d113139f0829"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04e1ecfb476d78e27319d113139f0829"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a04e1ecfb476d78e27319d113139f0829">capability</a></td></tr>
<tr class="memdesc:a04e1ecfb476d78e27319d113139f0829"><td class="mdescLeft">&#160;</td><td class="mdescRight">host controller capability <br/></td></tr>
<tr class="separator:a04e1ecfb476d78e27319d113139f0829"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f071c70d624bcabe0d65d5f8f8d1895"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f071c70d624bcabe0d65d5f8f8d1895"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a9f071c70d624bcabe0d65d5f8f8d1895">maxBlockCount</a></td></tr>
<tr class="memdesc:a9f071c70d624bcabe0d65d5f8f8d1895"><td class="mdescLeft">&#160;</td><td class="mdescRight">host controller maximum block count <br/></td></tr>
<tr class="separator:a9f071c70d624bcabe0d65d5f8f8d1895"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1918a12425c3fadc5c6d1f6663bda9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1918a12425c3fadc5c6d1f6663bda9a"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#af1918a12425c3fadc5c6d1f6663bda9a">maxBlockSize</a></td></tr>
<tr class="memdesc:af1918a12425c3fadc5c6d1f6663bda9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">host controller maximum block size <br/></td></tr>
<tr class="separator:af1918a12425c3fadc5c6d1f6663bda9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac69536951aebfd038ebbe73cc468b0cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac69536951aebfd038ebbe73cc468b0cb"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ac69536951aebfd038ebbe73cc468b0cb">tuningType</a></td></tr>
<tr class="memdesc:ac69536951aebfd038ebbe73cc468b0cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">host tuning type <br/></td></tr>
<tr class="separator:ac69536951aebfd038ebbe73cc468b0cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3e0c39f94740a1702f029eac9b7c9ca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3e0c39f94740a1702f029eac9b7c9ca"></a>
<a class="el" href="a00064.html#ga0d2253ec8cd6cb6c58b593e53da638b0">sdmmc_osa_event_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ab3e0c39f94740a1702f029eac9b7c9ca">hostEvent</a></td></tr>
<tr class="memdesc:ab3e0c39f94740a1702f029eac9b7c9ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">host event handler <br/></td></tr>
<tr class="separator:ab3e0c39f94740a1702f029eac9b7c9ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e58fbb96a87f676da3298f3b0a79e51"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e58fbb96a87f676da3298f3b0a79e51"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a8e58fbb96a87f676da3298f3b0a79e51">cd</a></td></tr>
<tr class="memdesc:a8e58fbb96a87f676da3298f3b0a79e51"><td class="mdescLeft">&#160;</td><td class="mdescRight">card detect <br/></td></tr>
<tr class="separator:a8e58fbb96a87f676da3298f3b0a79e51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac120515c01e62781db7e3d7eab00eff3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac120515c01e62781db7e3d7eab00eff3"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#ac120515c01e62781db7e3d7eab00eff3">cardInt</a></td></tr>
<tr class="memdesc:ac120515c01e62781db7e3d7eab00eff3"><td class="mdescLeft">&#160;</td><td class="mdescRight">call back function for card interrupt <br/></td></tr>
<tr class="separator:ac120515c01e62781db7e3d7eab00eff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64270c1f8f17f532c6bb8f95dd43b826"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a64270c1f8f17f532c6bb8f95dd43b826"></a>
<a class="el" href="a00064.html#gab4b501fd4e841889183b1177e468eba9">sdmmc_osa_mutex_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a64270c1f8f17f532c6bb8f95dd43b826">lock</a></td></tr>
<tr class="memdesc:a64270c1f8f17f532c6bb8f95dd43b826"><td class="mdescLeft">&#160;</td><td class="mdescRight">host access lock <br/></td></tr>
<tr class="separator:a64270c1f8f17f532c6bb8f95dd43b826"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gab7f416230cd008bf4453aca9e4ae6623"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_SDMMC_HOST_ADAPTER_VERSION&#160;&#160;&#160;(<a class="el" href="a00260.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2U, 6U, 3U)) /*2.6.3*/</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga6b005d6c35ae08d925db709007d29970"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDMMCHOST_STANDARD_TUNING_START&#160;&#160;&#160;(10U)</td>
</tr>
</table>
</div><div class="memdoc">
<p>standard tuning start point </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga29d44341ce767c5dfc737d622fc97ba1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1ab51bcc21ae354f392e9c4abd9d6961b1"></a>kSDMMCHOST_SupportHighSpeed</em>&nbsp;</td><td class="fielddoc">
<p>high speed capability </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1a4b51491d9394952f028a960c14c69708"></a>kSDMMCHOST_SupportSuspendResume</em>&nbsp;</td><td class="fielddoc">
<p>suspend resume capability </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1aff71f5474fde37213196348beb75a392"></a>kSDMMCHOST_SupportVoltage3v3</em>&nbsp;</td><td class="fielddoc">
<p>3V3 capability </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1ae589248a31d21b97ccf7fe3b934c2a5a"></a>kSDMMCHOST_SupportVoltage3v0</em>&nbsp;</td><td class="fielddoc">
<p>3V0 capability </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1a9fb837cc0caf22137a71f92be9256c02"></a>kSDMMCHOST_SupportVoltage1v8</em>&nbsp;</td><td class="fielddoc">
<p>1V8 capability </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1a0459aebad28418d7a3bfc7d901a450ad"></a>kSDMMCHOST_SupportVoltage1v2</em>&nbsp;</td><td class="fielddoc">
<p>1V2 capability </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1a218ba5f7a68298486be4e6779d6ef5c8"></a>kSDMMCHOST_Support4BitDataWidth</em>&nbsp;</td><td class="fielddoc">
<p>4 bit data width capability </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1a91b63bab7088996a1d9e3d29df2fab6f"></a>kSDMMCHOST_Support8BitDataWidth</em>&nbsp;</td><td class="fielddoc">
<p>8 bit data width capability </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1aff9f331e225f56b274db78e2d009b154"></a>kSDMMCHOST_SupportDDRMode</em>&nbsp;</td><td class="fielddoc">
<p>DDR mode capability. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1ad4f9d7cb24bcc490e098deb007a8deab"></a>kSDMMCHOST_SupportDetectCardByData3</em>&nbsp;</td><td class="fielddoc">
<p>data3 detect card capability </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1ad65309bd33be9cdc527fe76a68b5c7d0"></a>kSDMMCHOST_SupportDetectCardByCD</em>&nbsp;</td><td class="fielddoc">
<p>CD detect card capability. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1a1cfe03e88e105a3694a480744d4c416a"></a>kSDMMCHOST_SupportAutoCmd12</em>&nbsp;</td><td class="fielddoc">
<p>auto command 12 capability </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1aa4a62b272a09c81052633a56e4787d74"></a>kSDMMCHOST_SupportSDR104</em>&nbsp;</td><td class="fielddoc">
<p>SDR104 capability. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1af6a929b28e097d111a3dc7369b356b7e"></a>kSDMMCHOST_SupportSDR50</em>&nbsp;</td><td class="fielddoc">
<p>SDR50 capability. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1af85a3d7721af182ca291d323bda71e75"></a>kSDMMCHOST_SupportHS200</em>&nbsp;</td><td class="fielddoc">
<p>HS200 capability. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29d44341ce767c5dfc737d622fc97ba1ac224880ccd4bb3d6f23405eed39e577e"></a>kSDMMCHOST_SupportHS400</em>&nbsp;</td><td class="fielddoc">
<p>HS400 capability. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga1b7b7893d940926615b39239ac05829d"></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="_sdmmchost_endian_mode"></a></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga1b7b7893d940926615b39239ac05829da4ed3ac858d9b99252a49ca7a297d2dd0"></a>kSDMMCHOST_EndianModeBig</em>&nbsp;</td><td class="fielddoc">
<p>Big endian mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1b7b7893d940926615b39239ac05829da2394f707bc8124fa714e61e0d9748264"></a>kSDMMCHOST_EndianModeHalfWordBig</em>&nbsp;</td><td class="fielddoc">
<p>Half word big endian mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1b7b7893d940926615b39239ac05829daccb3b8b837fb20c01c79a99364ca0138"></a>kSDMMCHOST_EndianModeLittle</em>&nbsp;</td><td class="fielddoc">
<p>Little endian mode. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga098384b0034af0daa7c9c5c82b563567"></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="_sdmmchost_tuning_type"></a></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga098384b0034af0daa7c9c5c82b563567ab6ab0377930594ffdc5552ce1bbe3841"></a>kSDMMCHOST_StandardTuning</em>&nbsp;</td><td class="fielddoc">
<p>standard tuning type </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga098384b0034af0daa7c9c5c82b563567aafec664445b46732b6f5e724e3088bf6"></a>kSDMMCHOST_ManualTuning</em>&nbsp;</td><td class="fielddoc">
<p>manual tuning type </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga92c4bd66c8074c3d126a069275a0a80c"></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="_sdmmc_host_cache_control"></a></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga92c4bd66c8074c3d126a069275a0a80cac8a5cf0d2ab8c1251349826b371bcc4b"></a>kSDMMCHOST_NoCacheControl</em>&nbsp;</td><td class="fielddoc">
<p>sdmmc host cache control disabled </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga92c4bd66c8074c3d126a069275a0a80ca2961728c986f1d18e094110f4a233a8c"></a>kSDMMCHOST_CacheControlRWBuffer</em>&nbsp;</td><td class="fielddoc">
<p>sdmmc host cache control read/write buffer </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga6a2f4160b4f2bf3a24c0a9e85f652cac"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SDMMCHOST_SetCardBusWidth </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>dataBusWidth</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">host</td><td>host handler </td></tr>
<tr><td class="paramname">dataBusWidth</td><td>data bus width </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga3167687798418ad802388c549a4dc79e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SDMMCHOST_SendCardActive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaed911872439a396900e606d88ec2f639"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SDMMCHOST_SetCardClock </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>targetClock</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
<tr><td class="paramname">targetClock</td><td>target clock frequency </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">actual</td><td>clock frequency can be reach. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab3ab76c607654db1629f1bbaf773c2c3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool SDMMCHOST_IsCardBusy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">true</td><td>is busy, false is idle. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6bd5a5d59633b4628f28c3599f3b897f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t SDMMCHOST_GetSignalLineStatus </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>signalLine</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
<tr><td class="paramname">signalLine</td><td>signal line type, reference _sdmmc_signal_line </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga02e31cfbe66648fc70cb5ad1ad8d4e81"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SDMMCHOST_EnableCardInt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
<tr><td class="paramname">enable</td><td>true is enable, false is disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga325ef14ece0196e72dbb9f23fb3a6c05"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SDMMCHOST_EnableDDRMode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>nibblePos</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
<tr><td class="paramname">enable</td><td>true is enable, false is disable. </td></tr>
<tr><td class="paramname">nibblePos</td><td>nibble position indictation. 0- the sequence is 'odd high nibble -&gt; even high nibble -&gt; odd low nibble -&gt; even low nibble'; 1- the sequence is 'odd high nibble -&gt; odd low nibble -&gt; even high nibble -&gt; even low nibble'. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa1cb3b2a1fc0014931ec3557d7a2539b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SDMMCHOST_EnableHS400Mode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
<tr><td class="paramname">enable</td><td>true is enable, false is disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga08cbe1e8c2a7f37be10f901761ff2870"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SDMMCHOST_EnableStrobeDll </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
<tr><td class="paramname">enable</td><td>true is enable, false is disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga1b1a9d28ed22d8b7496372b0d1b2d068"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SDMMCHOST_StartBoot </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00078.html#a00509">sdmmchost_boot_config_t</a> *&#160;</td>
<td class="paramname"><em>hostConfig</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00078.html#a00511">sdmmchost_cmd_t</a> *&#160;</td>
<td class="paramname"><em>cmd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>buffer</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">host</td><td>host handler </td></tr>
<tr><td class="paramname">hostConfig</td><td>boot configuration </td></tr>
<tr><td class="paramname">cmd</td><td>boot command </td></tr>
<tr><td class="paramname">buffer</td><td>buffer address </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga67013c224293f28edf35bbd645f56171"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SDMMCHOST_ReadBootData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00078.html#a00509">sdmmchost_boot_config_t</a> *&#160;</td>
<td class="paramname"><em>hostConfig</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>buffer</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">host</td><td>host handler </td></tr>
<tr><td class="paramname">hostConfig</td><td>boot configuration </td></tr>
<tr><td class="paramname">buffer</td><td>buffer address </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga95c2985329c39dd313a8ae3330dafbcf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SDMMCHOST_EnableBoot </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
<tr><td class="paramname">enable</td><td>true is enable, false is disable </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga96724bd653d1ca166314f52bd8eaf9ab"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SDMMCHOST_CardIntInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>sdioInt</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">host</td><td>host handler </td></tr>
<tr><td class="paramname">sdioInt</td><td>card interrupt configuration </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5375f1305a451912d3ad33d85d45ce4e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SDMMCHOST_ForceClockOn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
<tr><td class="paramname">enable</td><td>true is enable, false is disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga96d258a5a09f079bfe135fe545c5778c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SDMMCHOST_SwitchToVoltage </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>voltage</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">host</td><td>host handler </td></tr>
<tr><td class="paramname">voltage</td><td>switch to voltage level. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaae33c669f37f6354c1618e4354e7a2d8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SDMMCHOST_CardDetectInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>cd</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">host</td><td>host handler </td></tr>
<tr><td class="paramname">cd</td><td>card detect configuration </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga846a7644c956ee5533e913327cb85c3c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SDMMCHOST_PollingCardDetectStatus </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>waitCardStatus</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>timeout</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">host</td><td>host handler </td></tr>
<tr><td class="paramname">waitCardStatus</td><td>status which user want to wait </td></tr>
<tr><td class="paramname">timeout</td><td>wait time out. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>detect card insert </td></tr>
<tr><td class="paramname">kStatus_Fail</td><td>card insert event fail </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae0989b876590f6ae75709a06de205ae7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t SDMMCHOST_CardDetectStatus </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kSD_Inserted,kSD_Removed</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga8f316244d63b01d005de110482ca125f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SDMMCHOST_Init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Thread safe function, please note that the function will create the mutex lock dynamically by default, so to avoid the mutex create redundantly, application must follow bellow sequence for card re-initialization </p>
<div class="fragment"><div class="line">* <a class="code" href="a00065.html#gad8070be281bdd447d149114b4445bcdc">SDMMCHOST_Deinit</a>(host);</div>
<div class="line">* <a class="code" href="a00065.html#ga8f316244d63b01d005de110482ca125f">SDMMCHOST_Init</a>(host);</div>
<div class="line">* </div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>host init success </td></tr>
<tr><td class="paramname">kStatus_Fail</td><td>event fail </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad8070be281bdd447d149114b4445bcdc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SDMMCHOST_Deinit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Please note it is a thread safe function.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga587da6c26c9e6401e77d083011b8e474"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SDMMCHOST_SetCardPower </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
<tr><td class="paramname">enable</td><td>true is power on, false is power down. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga62429a2a668ae8bef49352256bbc6a48"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SDMMCHOST_TransferFunction </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00065.html#ga4cb15dfa790e535a38ec0b3ed86ff7b8">sdmmchost_transfer_t</a> *&#160;</td>
<td class="paramname"><em>content</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Please note it is a thread safe function.</p>
<dl class="section note"><dt>Note</dt><dd>the host transfer function support below functionality,<ol type="1">
<li>Non-cache line size alignment check on the data buffer, it is means that no matter the data buffer used for data transfer is align with cache line size or not, sdmmc host driver will use the address directly.</li>
<li>Cache line size alignment check on the data buffer, sdmmc host driver will check the data buffer address, if the buffer is not align with cache line size, sdmmc host driver will convert it to cache line size align buffer, the functionality is enabled by #define SDMMCHOST_ENABLE_CACHE_LINE_ALIGN_TRANSFER 1 #define FSL_USDHC_ENABLE_SCATTER_GATHER_TRANSFER 1U If application would like to enable the cache line size align functionality, please make sure the SDMMCHOST_InstallCacheAlignBuffer is called before submit data transfer request and make sure the installing buffer size is not smaller than 2 * cache line size.</li>
</ol>
</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
<tr><td class="paramname">content</td><td>transfer content. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaeb989c127eb1ca6bc4a831220be0f384"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SDMMCHOST_ExecuteTuning </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>tuningCmd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>revBuf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>blockSize</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">host</td><td>host handler </td></tr>
<tr><td class="paramname">tuningCmd</td><td>tuning command. </td></tr>
<tr><td class="paramname">revBuf</td><td>receive buffer pointer </td></tr>
<tr><td class="paramname">blockSize</td><td>tuning data block size. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac4d25fd8cb129e822223b868bdfa6c10"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SDMMCHOST_Reset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga8d6ed81a627153dfdfc9527193026490"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SDMMCHOST_ConvertDataToLittleEndian </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00065.html#ga3420a6f07f4698ce018b4020e720b9dc">sdmmchost_t</a> *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>wordSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>format</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>host handler. </td></tr>
<tr><td class="paramname">data</td><td>data buffer address. </td></tr>
<tr><td class="paramname">wordSize</td><td>data buffer size in word. </td></tr>
<tr><td class="paramname">format</td><td>data packet format. </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>