Files
6CAR/doc/Doxygen/html/sdrv__sdhci_8h_source.html
2026-04-18 09:16:58 +08:00

721 lines
156 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SemiDrive SSDK Appication Program Interface: Z:/01-Code/06-SSDK-DEV-Firewall/ssdk/drivers/include/sdrv_sdhci.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">SemiDrive SSDK Appication Program Interface<span id="projectnumber">&#160;PTG3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_14bc92f4b96c8519b376567118ac28b3.html">drivers</a></li><li class="navelem"><a class="el" href="dir_ee023d43c33bfccc31aa50a48a76892b.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">sdrv_sdhci.h</div></div>
</div><!--header-->
<div class="contents">
<a href="sdrv__sdhci_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#ifndef SDRV_SDHCI_H_</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#define SDRV_SDHCI_H_</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;reg.h&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;udelay/udelay.h&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#if CONFIG_OS_FREERTOS</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;FreeRTOS.h&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;queue.h&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;semphr.h&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;task.h&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &lt;<a class="code" href="irq_8h.html">irq.h</a>&gt;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &lt;timers.h&gt;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &quot;<a class="code" href="sdrv__common_8h.html">sdrv_common.h</a>&quot;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#undef BIT</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4eaf4bf81c52c3f375967906e4d5ba17"> 24</a></span><span class="preprocessor">#define BIT(nr) (1U &lt;&lt; (nr))</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a738aef717dec4966ef7476f4a834c9fa"> 26</a></span><span class="preprocessor">#define SDHCI_CMD_SW_TIMEOUT 0x100</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ac726dff9b9f91e53d25b23f9999729ce"> 27</a></span><span class="preprocessor">#define SDHCI_DATA_SW_TIMEOUT 0x1000</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6e7f2484cf049ae36ac98c20a717cc08"> 29</a></span><span class="preprocessor">#define SDHCI_INHIBIT_COUNT 0x100</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a5e898daf48afbceb3f1c1060ed5aaff6"> 31</a></span><span class="preprocessor">#define ADMA_DESC_LIST_SIZE (64)</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aac19f33e761fdac58e36c1305761fc9a"> 33</a></span><span class="preprocessor">#define SDHCI_HW_TUNING_MIN_COUNT 40</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#ifdef SDHCI_DESC_ADDR_64BITS</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#define desc_entry desc_entry_a64</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ab999ceb679c9bad43f44964a5f314584"> 38</a></span><span class="preprocessor">#define desc_entry desc_entry_a32</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ac0c2cc6b0ae6b73a0bc5d83767712637"> 41</a></span><span class="preprocessor">#define SDHCI_MMC_RETRY</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor">#ifdef SDHCI_MMC_RETRY</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ad23eea40763ed7927178dafdbfd16af1"> 44</a></span><span class="preprocessor">#define MMC_CMD_RETRIES 0x3</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor">#define MMC_CMD_RETRIES 0x0</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af3b71ddec2e64d7a4cf4f8f3ce1be55b"> 49</a></span><span class="preprocessor">#define SDHCI_TRANS_COUNT_MAX 0x10</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="structhost__caps.html"> 56</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structhost__caps.html">host_caps</a> {</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="structhost__caps.html#aaab15b44be013e897ce59f476d251bba"> 57</a></span> uint32_t <a class="code hl_variable" href="structhost__caps.html#aaab15b44be013e897ce59f476d251bba">base_clk_rate</a>; </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="structhost__caps.html#a9f329ecfb3b689f44a9fbbfff6d57aba"> 58</a></span> uint32_t <a class="code hl_variable" href="structhost__caps.html#a9f329ecfb3b689f44a9fbbfff6d57aba">max_blk_len</a>; </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="structhost__caps.html#a681f9b630696b4e2e70c21c814e9ba61"> 59</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#a681f9b630696b4e2e70c21c814e9ba61">bus_width_8bit</a>; </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="structhost__caps.html#a494540492933d33589e89f98a15afb58"> 60</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#a494540492933d33589e89f98a15afb58">spec_version</a>; </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="structhost__caps.html#a45927d1243a746e6035217cc51b6d7dc"> 61</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#a45927d1243a746e6035217cc51b6d7dc">adma2_support</a>; </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="structhost__caps.html#a868259d093d46070a1e6c742cdf0c1b5"> 62</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#a868259d093d46070a1e6c742cdf0c1b5">addr_64bit_v3</a>; </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="structhost__caps.html#a120013f4e7c361b194c2d6e2600b81ee"> 63</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#a120013f4e7c361b194c2d6e2600b81ee">addr_64bit_v4</a>; </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="structhost__caps.html#a802fdc14b8dabf84a890df9b560f0409"> 64</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#a802fdc14b8dabf84a890df9b560f0409">voltage</a>; </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="structhost__caps.html#aaa104adc28f326bff2dd9299cf7147e9"> 65</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#aaa104adc28f326bff2dd9299cf7147e9">sdr_support</a>; </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="structhost__caps.html#ae6e972d74d4eab38c5052eb3e0d6e6da"> 66</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#ae6e972d74d4eab38c5052eb3e0d6e6da">ddr_support</a>; </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="structhost__caps.html#a20bcb421aff92ad77b010581e98b721d"> 67</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#a20bcb421aff92ad77b010581e98b721d">sdr50_support</a>; </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="structhost__caps.html#a4c42537b9846343a3fa9343d4d8dd14e"> 68</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#a4c42537b9846343a3fa9343d4d8dd14e">sdr104_support</a>; </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="structhost__caps.html#a6d758a56fad767693a4995cbb2b7b36d"> 69</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#a6d758a56fad767693a4995cbb2b7b36d">hs200_support</a>; </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="structhost__caps.html#acec97c333e5094545bca1aeba82c62ef"> 70</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#acec97c333e5094545bca1aeba82c62ef">hs400_support</a>; </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="structhost__caps.html#a3caeab8b8383260dd63e14f35a10c11d"> 71</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#a3caeab8b8383260dd63e14f35a10c11d">hw_reset_support</a>; </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="structhost__caps.html#af3fc645428d2d442ddc4a8546910df81"> 72</a></span> uint8_t <a class="code hl_variable" href="structhost__caps.html#af3fc645428d2d442ddc4a8546910df81">uhs_support</a>; </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span>};</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="structmmc__data.html"> 76</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structmmc__data.html">mmc_data</a> {</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="structmmc__data.html#abd166fdd046bf6ad359ddbd822a90911"> 77</a></span> <span class="keywordtype">void</span> *<a class="code hl_variable" href="structmmc__data.html#abd166fdd046bf6ad359ddbd822a90911">data_ptr</a>; </div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="structmmc__data.html#a5f436ead1962ec24075f7884227b8572"> 78</a></span> <span class="keyword">struct </span><a class="code hl_define" href="sdrv__sdhci_8h.html#ab999ceb679c9bad43f44964a5f314584">desc_entry</a> *<a class="code hl_variable" href="structmmc__data.html#a5f436ead1962ec24075f7884227b8572">sg_list</a>;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="structmmc__data.html#a4d251522dd4c06dbe05aa093f3bf7b06"> 79</a></span> uint32_t <a class="code hl_variable" href="structmmc__data.html#a4d251522dd4c06dbe05aa093f3bf7b06">blk_sz</a>; </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> uint32_t</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="structmmc__data.html#a4f3082976948d4834b6928985faca106"> 81</a></span> <a class="code hl_variable" href="structmmc__data.html#a4f3082976948d4834b6928985faca106">num_blocks</a>; </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span>};</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="structmmc__command.html"> 84</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structmmc__command.html">mmc_command</a> {</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="structmmc__command.html#ae9deb10cdd143a2176b89113debcbd87"> 85</a></span> uint16_t <a class="code hl_variable" href="structmmc__command.html#ae9deb10cdd143a2176b89113debcbd87">cmd_index</a>; </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="structmmc__command.html#a4dc1a4b8ee198043a5cecc0aac569587"> 86</a></span> uint32_t <a class="code hl_variable" href="structmmc__command.html#a4dc1a4b8ee198043a5cecc0aac569587">argument</a>; </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="structmmc__command.html#a822de8d02350b86bc83a445cacd0c5e5"> 87</a></span> uint8_t <a class="code hl_variable" href="structmmc__command.html#a822de8d02350b86bc83a445cacd0c5e5">data_present</a>; </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="structmmc__command.html#a64247a20015aac6b9d16af3d71b6c5af"> 88</a></span> uint8_t <a class="code hl_variable" href="structmmc__command.html#a64247a20015aac6b9d16af3d71b6c5af">cmd_type</a>; </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="structmmc__command.html#a4a706d3e37ee62cc0d7dbfdf3c4706a4"> 89</a></span> uint16_t <a class="code hl_variable" href="structmmc__command.html#a4a706d3e37ee62cc0d7dbfdf3c4706a4">resp_type</a>; </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="structmmc__command.html#a0bc2c3f6977e07f9146d488018f902b3"> 90</a></span> uint32_t <a class="code hl_variable" href="structmmc__command.html#a0bc2c3f6977e07f9146d488018f902b3">resp</a>[4]; </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="structmmc__command.html#ad9982f3a23bc0429bf581af4f79a4bde"> 91</a></span> uint32_t <a class="code hl_variable" href="structmmc__command.html#ad9982f3a23bc0429bf581af4f79a4bde">trans_mode</a>; </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="structmmc__command.html#a950a11f055bc98ff0ec64531ddedf003"> 92</a></span> uint32_t <a class="code hl_variable" href="structmmc__command.html#a950a11f055bc98ff0ec64531ddedf003">cmd_retry</a>; </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="structmmc__command.html#aa2bfdb518452e86302c12cfb7fe76e32"> 93</a></span> uint32_t <a class="code hl_variable" href="structmmc__command.html#aa2bfdb518452e86302c12cfb7fe76e32">cmd23_support</a>; </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="structmmc__command.html#a44452bd389a8df25ef50d5b1c5dff305"> 94</a></span> uint64_t <a class="code hl_variable" href="structmmc__command.html#a44452bd389a8df25ef50d5b1c5dff305">cmd_timeout</a>; </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="structmmc__command.html#a99592fe04ede9a6d96f47e16472b9d4d"> 95</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structmmc__command.html#a99592fe04ede9a6d96f47e16472b9d4d">write_flag</a>; </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="structmmc__command.html#aa8d183302fdfa4a6892f1d80300cdb32"> 96</a></span> uint32_t <a class="code hl_variable" href="structmmc__command.html#aa8d183302fdfa4a6892f1d80300cdb32">error</a>;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="structmmc__command.html#afae57bc4eae51730b7c5cc1ac29ea99a"> 97</a></span> uint32_t <a class="code hl_variable" href="structmmc__command.html#afae57bc4eae51730b7c5cc1ac29ea99a">retries</a>;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="structmmc__command.html#a9459ec8221b74b5109792dfe93acb720"> 98</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structmmc__data.html">mmc_data</a> <a class="code hl_variable" href="structmmc__command.html#a9459ec8221b74b5109792dfe93acb720">data</a>; </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="comment">// uint32_t data_complete; /**&lt; non zero: complete*/</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span>};</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="structsdhci__host.html"> 103</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> {</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a8da4ee0fe1f6d2dcab3b7562d79c10a1"> 104</a></span> uint32_t <a class="code hl_variable" href="structsdhci__host.html#a8da4ee0fe1f6d2dcab3b7562d79c10a1">slot</a>;</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a9a629e672b8983fd640b195f94321fd0"> 105</a></span> addr_t <a class="code hl_variable" href="structsdhci__host.html#a9a629e672b8983fd640b195f94321fd0">base</a>; </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a17fdd15a71ced1e05faf127882011db3"> 106</a></span> uint32_t <a class="code hl_variable" href="structsdhci__host.html#a17fdd15a71ced1e05faf127882011db3">irq</a>; </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a57f7434a753621369f0664396a193b11"> 108</a></span><span class="preprocessor">#define SDHCI_SYNC_MODE (0)</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ad426556f1faf582253269957fa4c3738"> 109</a></span><span class="preprocessor">#define SDHCI_ASYNC_MODE (1)</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a83b9da38c352d4e37b8c529b7437f9fc"> 110</a></span> uint32_t <a class="code hl_variable" href="structsdhci__host.html#a83b9da38c352d4e37b8c529b7437f9fc">async_mode</a>;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="preprocessor">#if CONFIG_OS_FREERTOS</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="structsdhci__host.html#aad0998fa81ef755777c0ae215028726c"> 112</a></span> SemaphoreHandle_t <a class="code hl_variable" href="structsdhci__host.html#aad0998fa81ef755777c0ae215028726c">cmd_sema</a>;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a236c6d53bf67db0a4799b677f67695e9"> 113</a></span> SemaphoreHandle_t <a class="code hl_variable" href="structsdhci__host.html#a236c6d53bf67db0a4799b677f67695e9">data_sema</a>;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a6823bdb25474954dece1008e962b5c1c"> 114</a></span> SemaphoreHandle_t <a class="code hl_variable" href="structsdhci__host.html#a6823bdb25474954dece1008e962b5c1c">data_complete_sema</a>;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="structsdhci__host.html#abf215719fd938639d82a25b99de0a095"> 115</a></span> SemaphoreHandle_t <a class="code hl_variable" href="structsdhci__host.html#abf215719fd938639d82a25b99de0a095">timer_sema</a>;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a62e2ae76ea2a8214b3043e80d6f055f5"> 116</a></span> TimerHandle_t <a class="code hl_variable" href="structsdhci__host.html#a62e2ae76ea2a8214b3043e80d6f055f5">data_timer</a>;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a6d18b01acc80b7b8bd160081682728fd"> 117</a></span> uint32_t <a class="code hl_variable" href="structsdhci__host.html#a6d18b01acc80b7b8bd160081682728fd">data_end_trans_count</a>;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="comment">//spin_lock_t spin_lock; /**&lt; reverse */</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a87de359dfd3509554662accb6e6586a7"> 121</a></span> uint32_t <a class="code hl_variable" href="structsdhci__host.html#a87de359dfd3509554662accb6e6586a7">cur_clk_rate</a>; </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="structsdhci__host.html#acd3969fc3e7c60ef9290cfa9b2e1f74f"> 122</a></span> uint32_t <a class="code hl_variable" href="structsdhci__host.html#acd3969fc3e7c60ef9290cfa9b2e1f74f">max_clk_rate</a>; </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="structsdhci__host.html#ab959e3815107a3c2b7fc5f0413de881b"> 123</a></span> uint32_t <a class="code hl_variable" href="structsdhci__host.html#ab959e3815107a3c2b7fc5f0413de881b">timing</a>; </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a21344812dcaa40c24fcd631b7b8915ea"> 124</a></span> uint32_t <a class="code hl_variable" href="structsdhci__host.html#a21344812dcaa40c24fcd631b7b8915ea">card_type</a>;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="structsdhci__host.html#af5aa651f3beb738d223d6312236bf46f"> 125</a></span> uint32_t <a class="code hl_variable" href="structsdhci__host.html#af5aa651f3beb738d223d6312236bf46f">bus_width</a>;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a0ee1950ffba0584ef2ff38b68320a3a7"> 126</a></span> uint8_t <a class="code hl_variable" href="structsdhci__host.html#a0ee1950ffba0584ef2ff38b68320a3a7">tuning_in_progress</a>;</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a9ec69fc28f1a2f9fd37ab70e8a115fa5"> 127</a></span> uint8_t <a class="code hl_variable" href="structsdhci__host.html#a9ec69fc28f1a2f9fd37ab70e8a115fa5">sw_tuning_in_progress</a>;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a70c6bcf79c44aee3f3591baff44c4e28"> 128</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structmmc__command.html">mmc_command</a> *<a class="code hl_variable" href="structsdhci__host.html#a70c6bcf79c44aee3f3591baff44c4e28">cmd</a>;</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a8d55722fbd757c654cc61f063ccfe5eb"> 129</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structmmc__command.html">mmc_command</a> <a class="code hl_variable" href="structsdhci__host.html#a8d55722fbd757c654cc61f063ccfe5eb">data_cmd</a>;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="structsdhci__host.html#aa0b03f3661ab60590badb6b209f79d78"> 130</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structhost__caps.html">host_caps</a> <a class="code hl_variable" href="structsdhci__host.html#aa0b03f3661ab60590badb6b209f79d78">caps</a>; </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a33e7865dc6cf5cbd56a8f1a654e306a5"> 131</a></span> <span class="keywordtype">void</span> *<a class="code hl_variable" href="structsdhci__host.html#a33e7865dc6cf5cbd56a8f1a654e306a5">priv_data</a>; </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a5f450b216725a37cbc0acd54340144d9"> 132</a></span> <span class="keywordtype">void</span> *<a class="code hl_variable" href="structsdhci__host.html#a5f450b216725a37cbc0acd54340144d9">parent</a>; </div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="structsdhci__host.html#a37fc2e40d93cd7168b84a8ccc7ba267f"> 133</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structsdhci__ops.html">sdhci_ops</a> *<a class="code hl_variable" href="structsdhci__host.html#a37fc2e40d93cd7168b84a8ccc7ba267f">ops</a>;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span>};</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="structsdhci__ops.html"> 138</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structsdhci__ops.html">sdhci_ops</a> {</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="structsdhci__ops.html#aea5497eb686bfb0f879068e61cc30e63"> 139</a></span> void (*<a class="code hl_variable" href="structsdhci__ops.html#aea5497eb686bfb0f879068e61cc30e63">priv_init</a>)(<span class="keyword">struct </span><a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host);</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="structsdhci__ops.html#a703683a7b2306bd17ef9819fa203dfe6"> 140</a></span> void (*<a class="code hl_variable" href="structsdhci__ops.html#a703683a7b2306bd17ef9819fa203dfe6">hw_reset</a>)(<span class="keyword">struct </span><a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host);</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="structsdhci__ops.html#a0b4d83c184537790073d4935037a5be8"> 141</a></span> <a class="code hl_typedef" href="sdrv__common_8h.html#aaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> (*<a class="code hl_variable" href="structsdhci__ops.html#a0b4d83c184537790073d4935037a5be8">set_clock</a>)(<span class="keyword">struct </span><a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> clock);</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="structsdhci__ops.html#a84a3ac0d366e4c4e828544551ae683fb"> 142</a></span> void (*<a class="code hl_variable" href="structsdhci__ops.html#a84a3ac0d366e4c4e828544551ae683fb">set_power</a>)(<span class="keyword">struct </span><a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host);</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="structsdhci__ops.html#a08d17c5d58952459e2e00c697630e1d1"> 143</a></span> void (*<a class="code hl_variable" href="structsdhci__ops.html#a08d17c5d58952459e2e00c697630e1d1">config_pin</a>)(<span class="keyword">struct </span><a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host);</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="structsdhci__ops.html#a2a131745ecddae53576e9811f36829d6"> 144</a></span> void (*<a class="code hl_variable" href="structsdhci__ops.html#a2a131745ecddae53576e9811f36829d6">set_uhs_mode</a>)(<span class="keyword">struct </span><a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host, uint32_t mode);</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="structsdhci__ops.html#ad5847eb2e2143af8f35d3bea21b23e54"> 145</a></span> bool (*<a class="code hl_variable" href="structsdhci__ops.html#ad5847eb2e2143af8f35d3bea21b23e54">mmc_ending_trans</a>)(<span class="keyword">struct </span><a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host);</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="structsdhci__ops.html#a16cbe1ba819b3a7092963d5cf7187d8f"> 146</a></span> <a class="code hl_typedef" href="sdrv__common_8h.html#aaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> (*<a class="code hl_variable" href="structsdhci__ops.html#a16cbe1ba819b3a7092963d5cf7187d8f">platform_execute_tuning</a>)(<span class="keyword">struct </span><a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host, uint32_t opcode,</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> uint32_t <a class="code hl_variable" href="structsdhci__host.html#af5aa651f3beb738d223d6312236bf46f">bus_width</a>);</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span>};</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> </div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="structdesc__entry__a32.html"> 152</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structdesc__entry__a32.html">desc_entry_a32</a> {</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="structdesc__entry__a32.html#ad2c678923c570b5383d5beee3778434d"> 153</a></span> uint32_t <a class="code hl_variable" href="structdesc__entry__a32.html#ad2c678923c570b5383d5beee3778434d">tran_att</a>; </div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"><a class="line" href="structdesc__entry__a32.html#ab439e3a90339e2e8ca8f82d4557a34e5"> 154</a></span> uint32_t <a class="code hl_variable" href="structdesc__entry__a32.html#ab439e3a90339e2e8ca8f82d4557a34e5">addr</a>; </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span>};</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="structdesc__entry__a64.html"> 158</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structdesc__entry__a64.html">desc_entry_a64</a> {</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="structdesc__entry__a64.html#ad2c678923c570b5383d5beee3778434d"> 159</a></span> uint32_t <a class="code hl_variable" href="structdesc__entry__a64.html#ad2c678923c570b5383d5beee3778434d">tran_att</a>; </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="structdesc__entry__a64.html#ab6780fd855b415d06f11d852b99a791d"> 160</a></span> uint32_t <a class="code hl_variable" href="structdesc__entry__a64.html#ab6780fd855b415d06f11d852b99a791d">addr_l</a>; </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="structdesc__entry__a64.html#aa88921cdc35a964aa1e50d38789105f8"> 161</a></span> uint32_t <a class="code hl_variable" href="structdesc__entry__a64.html#aa88921cdc35a964aa1e50d38789105f8">addr_h</a>;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"><a class="line" href="structdesc__entry__a64.html#ac85388da58e586ae119667e0bb2622ec"> 162</a></span> uint32_t <a class="code hl_variable" href="structdesc__entry__a64.html#ac85388da58e586ae119667e0bb2622ec">rsvd</a>;</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span>};</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1"> 167</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1add2af5ce9652856415094bd84498380a"> 168</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1add2af5ce9652856415094bd84498380a">SDHCI_EMMC_CARD</a> = 0,</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1a7f1cdd27eb319bd88073cfc82b8d5667"> 169</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1a7f1cdd27eb319bd88073cfc82b8d5667">SDHCI_SD_CARD</a>,</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1aea969d5fcae3c24912d0aff3172a7d53"> 170</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1aea969d5fcae3c24912d0aff3172a7d53">SDHCI_UHS2_CARD</a>,</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1a89dbcab6d9006c066f36c96adbcd0be5"> 171</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1a89dbcab6d9006c066f36c96adbcd0be5">SDHCI_SDIO_CARD</a>,</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1a7e837ed2ac02660af2f35a6d96dd2f85"> 172</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1a7e837ed2ac02660af2f35a6d96dd2f85">SDHCI_CARD_TYPE_ABORT</a>,</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span>} <a class="code hl_enumeration" href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1">sdhci_card_type</a>;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860"> 177</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860add0f58a050b9bcef99b238b2c0dd17de"> 178</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860add0f58a050b9bcef99b238b2c0dd17de">SDHCI_CMD_TYPE_NORMAL</a> = 0,</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860a6e75823d632ebf2eaa1defe88da0cb13"> 179</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860a6e75823d632ebf2eaa1defe88da0cb13">SDHCI_CMD_TYPE_SUSPEND</a>,</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860ada95806026d3b9ab4ac4ddfb39336ab6"> 180</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860ada95806026d3b9ab4ac4ddfb39336ab6">SDHCI_CMD_TYPE_RESUME</a>,</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860a71555fcc9b7d96e59f52e3d554fe4470"> 181</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860a71555fcc9b7d96e59f52e3d554fe4470">SDHCI_CMD_TYPE_ABORT</a>,</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span>} <a class="code hl_enumeration" href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860">sdhci_cmd_type</a>;</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385"> 185</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385a76ef2de0a2e35beeb384b649e13bbc7f"> 186</a></span> <a class="code hl_define" href="sdrv__sdhci_8h.html#a055f8f84f5379a6cd5442b47da232593">SDHCI_CMD_RESP_NONE</a> = 0,</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385a6628a903d6e1c7484cbe06d8e55a9816"> 187</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385a6628a903d6e1c7484cbe06d8e55a9816">SDHCI_CMD_RESP_136</a>,</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385a84dad1913c097979220fce07d1ba9cb1"> 188</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385a84dad1913c097979220fce07d1ba9cb1">SDHCI_CMD_RESP_48</a>,</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385a49ea0b7df3d3b86030cc33e6ea83b8e6"> 189</a></span> <a class="code hl_enumvalue" href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385a49ea0b7df3d3b86030cc33e6ea83b8e6">SDHCI_CMD_RESP_48_BUSY</a>,</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span>} <a class="code hl_enumeration" href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385">sdhci_resp_type</a>;</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> </div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#abe6a458b8fcb9173431470f0280a0f91"> 196</a></span><span class="preprocessor">#define readhw(a) (*REG16(a))</span></div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#afce9bde81ce3a6b854e51c06e2c966f8"> 197</a></span><span class="preprocessor">#define writehw(v, a) (*REG16(a) = (v))</span></div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ab89451f98993da32eece7b888483c44f"> 199</a></span><span class="preprocessor">#define REG_READ8(host, a) readb(((host)-&gt;base) + (a))</span></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aea4a170da7bc02e8002dc184b1e54bb8"> 200</a></span><span class="preprocessor">#define REG_WRITE8(host, v, a) writeb((v), (((host)-&gt;base) + (a)))</span></div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> </div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a0d16d0272ce6c43954976a2f625eb353"> 202</a></span><span class="preprocessor">#define REG_READ32(host, a) readl(((host)-&gt;base) + (a))</span></div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae3163f5d885ab25cf1de022e2d4a66e5"> 203</a></span><span class="preprocessor">#define REG_WRITE32(host, v, a) writel((v), (((host)-&gt;base) + (a)))</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ac555376b6a712427bfdc463a0f35eca8"> 204</a></span><span class="preprocessor">#define REG_RMW32(host, a, s, w, v) RMWREG32((((host)-&gt;base) + (a)), (s), (w), (v))</span></div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a2b61dabfe1746ffec8275ec7b77ccd30"> 206</a></span><span class="preprocessor">#define REG_READ16(host, a) readhw(((host)-&gt;base) + (a))</span></div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a7fcb51e12bd1391bdb7911416fea9cbe"> 207</a></span><span class="preprocessor">#define REG_WRITE16(host, v, a) writehw((v), (((host)-&gt;base) + (a)))</span></div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> </div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a0167e30cca9cc8c8e5c87003b863a0bd"> 212</a></span><span class="preprocessor">#define SDHCI_CMD_EVENT_FLAG 0x1u</span></div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a0e837a6d52447d9eb13bab98ea3a845b"> 213</a></span><span class="preprocessor">#define SDHCI_DATA_EVENT_FLAG 0x1u</span></div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a9fd507db0f6c084c1643a7814bf2add1"> 214</a></span><span class="preprocessor">#define SDHCI_DATA_COMPLETE_EVENT_FLAG 0x1u</span></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ada86a284c0f7901ab4c9fe3dc28e205e"> 219</a></span><span class="preprocessor">#define SDHCI_SDMASA_BLKCNT_REG (0x000)</span></div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#acb8bf4c72fce0d1b0912eb39d1ec57e6"> 220</a></span><span class="preprocessor">#define SDHCI_BLKSZ_REG (0x004)</span></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#acaf9719f23a21e118b2a4b1b58d4549c"> 221</a></span><span class="preprocessor">#define SDHCI_BLK_CNT_REG (0x006)</span></div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#abac53b5f5fdf7f914841747ddbd6d5bb"> 222</a></span><span class="preprocessor">#define SDHCI_ARGUMENT_REG (0x008)</span></div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a12705e16994c6702c08b29af8adf471d"> 223</a></span><span class="preprocessor">#define SDHCI_TRANS_MODE_REG (0x00C)</span></div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a3bb5c63e7c0b8ac78fd5ddc0c64698d4"> 224</a></span><span class="preprocessor">#define SDHCI_CMD_REG (0x00E)</span></div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a31702aa6ff0e6fd1b789df2b7eeef716"> 225</a></span><span class="preprocessor">#define SDHCI_RESP_REG (0x010)</span></div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a9cfc3010ce174649c92672557f6fd094"> 226</a></span><span class="preprocessor">#define SDHCI_BUF_DATA (0x020)</span></div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a9e0b2de9731647394c9adca67e8e6156"> 227</a></span><span class="preprocessor">#define SDHCI_PRESENT_STATE_REG (0x024)</span></div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ab4a0981159559e0dcdfb2a944fccae28"> 228</a></span><span class="preprocessor">#define SDHCI_HOST_CTRL1_REG (0x028)</span></div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a686404966f4ca5d449b40c455b242cdf"> 229</a></span><span class="preprocessor">#define SDHCI_PWR_CTRL_REG (0x029)</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ad33a78cd47a4267c97ab993558b1f0ec"> 230</a></span><span class="preprocessor">#define SDHCI_CLK_CTRL_REG (0x02C)</span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae9065e5851b9c5c5db628d4c2fd043b5"> 231</a></span><span class="preprocessor">#define SDHCI_TIMEOUT_REG (0x02E)</span></div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae49ef02ee7c067804a67562baa2f56be"> 232</a></span><span class="preprocessor">#define SDHCI_RESET_REG (0x02F)</span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a1c24ec87632ba3c007eb0aab98879524"> 233</a></span><span class="preprocessor">#define SDHCI_NRML_INT_STS_REG (0x030)</span></div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4db25b1c37d532b71224b70dde824a09"> 234</a></span><span class="preprocessor">#define SDHCI_ERR_INT_STS_REG (0x032)</span></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4f694a1c86319fdb8e9fe8ebe82cdbf5"> 235</a></span><span class="preprocessor">#define SDHCI_NRML_INT_STS_EN_REG (0x034)</span></div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a46a43b78f5445f02d1d620d7f22352e9"> 236</a></span><span class="preprocessor">#define SDHCI_ERR_INT_STS_EN_REG (0x036)</span></div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a58c4925cd17c33a64926af524b96eb57"> 237</a></span><span class="preprocessor">#define SDHCI_NRML_INT_SIG_EN_REG (0x038)</span></div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aa45687d12d02fee7633c6daacb672386"> 238</a></span><span class="preprocessor">#define SDHCI_ERR_INT_SIG_EN_REG (0x03A)</span></div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ac487f8f34c97c5f5ad6943067b146076"> 239</a></span><span class="preprocessor">#define SDHCI_AUTO_CMD_ERR (0x03C)</span></div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a5a07dec06fb52531288388b65fba2048"> 240</a></span><span class="preprocessor">#define SDHCI_HOST_CTRL2_REG (0x03E)</span></div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a92507e4676c105584fab28b64845abeb"> 241</a></span><span class="preprocessor">#define SDHCI_CAPS_REG1 (0x040)</span></div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af7e5ac97727eeb6b92652af8c136401f"> 242</a></span><span class="preprocessor">#define SDHCI_CAPS_REG2 (0x044)</span></div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4e1fb9cfba3de53d4996c4ed0fd6bc8e"> 243</a></span><span class="preprocessor">#define SDHCI_ADM_ERR_REG (0x054)</span></div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a75fe645f40a3d46d598f0a83c36c2242"> 244</a></span><span class="preprocessor">#define SDHCI_ADM_ADDR_REG (0x058)</span></div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aeff3e0f83d095dc26f66fae9400d1819"> 245</a></span><span class="preprocessor">#define SDHCI_VENDOR_BASE_REG (0xE8)</span></div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae5553dd935c75b5f859f9422c16dfafe"> 246</a></span><span class="preprocessor">#define SDHCI_SPEC_VERSION_REG (0xFE)</span></div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> </div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a9132fc8ccefd37ba5d001029484b7e48"> 248</a></span><span class="preprocessor">#define SDHCI_VENDER_AT_CTRL_REG (0x40)</span></div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a47282255b0ffb59bbd1931f697a70042"> 249</a></span><span class="preprocessor">#define SDHCI_TUNE_SWIN_TH_VAL_MASK 0xFF</span></div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af40f6f3e3a367acb128a09128b43d3a6"> 250</a></span><span class="preprocessor">#define SDHCI_TUNE_SWIN_TH_VAL_LSB (24)</span></div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a80cac7e6d5a75f3c14fe3c3d3e633542"> 251</a></span><span class="preprocessor">#define SDHCI_TUNE_CLK_STOP_EN_MASK BIT(16)</span></div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> </div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#adf3f7a713323d4843f02575eb8c4247a"> 256</a></span><span class="preprocessor">#define SDHCI_SOFT_RESET BIT(0)</span></div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#abde7d139b798f7b9ce86e0ea4cdfb018"> 257</a></span><span class="preprocessor">#define SOFT_RESET_CMD BIT(1)</span></div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a90c66d4887e1d3b5722612fed87ae075"> 258</a></span><span class="preprocessor">#define SOFT_RESET_DATA BIT(2)</span></div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#abc57769e32626ed528d76f705acb4e17"> 259</a></span><span class="preprocessor">#define SDHCI_RESET_MAX_TIMEOUT 0x64</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af574ac8a28d3d35e8f3c0950914ee75a"> 260</a></span><span class="preprocessor">#define SDHCI_1_8_VOL_SET BIT(3)</span></div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> </div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ac5fb3c544e6f532597fefbe87babb9fd"> 265</a></span><span class="preprocessor">#define SDHCI_NRML_INT_STS_EN 0x003B</span></div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#abe4ab573905c5ceb00d9a0e507f552e4"> 266</a></span><span class="preprocessor">#define SDHCI_ERR_INT_STS_EN 0xFFFF</span></div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a659df0c42c345fcee2b69fc0f05497ca"> 267</a></span><span class="preprocessor">#define SDHCI_NRML_INT_SIG_EN 0x003B</span></div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a1bc1b4a04333fc8148e40d3e2dcab58f"> 268</a></span><span class="preprocessor">#define SDHCI_ERR_INT_SIG_EN 0xFFFF</span></div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a90ff44748e00d7012c50efbacc20475e"> 270</a></span><span class="preprocessor">#define SDCC_HC_INT_CARD_REMOVE BIT(7)</span></div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a0bccfb80c6c3ab07d2b8ece7f7b58e0b"> 271</a></span><span class="preprocessor">#define SDCC_HC_INT_CARD_INSERT BIT(6)</span></div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> </div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a86605b3b80accd0201f56e3ad1c82b2c"> 273</a></span><span class="preprocessor">#define SDHCI_INT_RESPONSE BIT(0)</span></div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af7fabe428ae6bb40ccfbc3434d9e107d"> 274</a></span><span class="preprocessor">#define SDHCI_INT_DATA_END BIT(1)</span></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aee92fade3def49747b0f3688e4d7a46a"> 275</a></span><span class="preprocessor">#define SDHCI_INT_BLK_GAP BIT(2)</span></div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ade1cc75fdf110eb3729e81557beaf0e2"> 276</a></span><span class="preprocessor">#define SDHCI_INT_DMA_END BIT(3)</span></div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a48063a2d673d034acc72d9661d3ae00d"> 277</a></span><span class="preprocessor">#define SDHCI_INT_SPACE_AVAIL BIT(4)</span></div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a8e563759254785e78f0eeed92e100f71"> 278</a></span><span class="preprocessor">#define SDHCI_INT_DATA_AVAIL BIT(5)</span></div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a7d0ab6fbd992f168141a2c5edc6df12c"> 279</a></span><span class="preprocessor">#define SDHCI_INT_CARD_INSERT BIT(6)</span></div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a2af523f20e93d3ec055441aa9d65aec3"> 280</a></span><span class="preprocessor">#define SDHCI_INT_CARD_REMOVE BIT(7)</span></div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a98c675173a9ed2edead0dc7846951ecd"> 281</a></span><span class="preprocessor">#define SDHCI_INT_CARD_INT BIT(8)</span></div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af119979a08a3b0365ec4d3cbcaf3e973"> 282</a></span><span class="preprocessor">#define SDHCI_INT_RETUNE BIT(12)</span></div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a333120883f5fb3914243cc701fb9d1df"> 283</a></span><span class="preprocessor">#define SDHCI_INT_CQE BIT(14)</span></div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a9e57d978daac54c3ced2c1872538f6cf"> 284</a></span><span class="preprocessor">#define SDHCI_INT_ERROR BIT(15)</span></div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ada8649d9cf1bee218f9791f26793ed12"> 285</a></span><span class="preprocessor">#define SDHCI_INT_TIMEOUT BIT(16)</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a8f385c840ca5cf51300c8c0f358114d3"> 286</a></span><span class="preprocessor">#define SDHCI_INT_CRC BIT(17)</span></div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a721694598ff61f51aff2562e68a098ad"> 287</a></span><span class="preprocessor">#define SDHCI_INT_END_BIT BIT(18)</span></div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aefa4323c959c2935ed3be0e7b0347f09"> 288</a></span><span class="preprocessor">#define SDHCI_INT_INDEX BIT(19)</span></div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a5b4123129fda95cd485f70af8d178b77"> 289</a></span><span class="preprocessor">#define SDHCI_INT_DATA_TIMEOUT BIT(20)</span></div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a1752ab11bd448cb7d5b8b7863f204dfd"> 290</a></span><span class="preprocessor">#define SDHCI_INT_DATA_CRC BIT(21)</span></div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6354727e5e7d3286f19c4a1c5efe93da"> 291</a></span><span class="preprocessor">#define SDHCI_INT_DATA_END_BIT BIT(22)</span></div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af2aca5e45ee97ddb64d2cecf17fe121b"> 292</a></span><span class="preprocessor">#define SDHCI_INT_BUS_POWER BIT(23)</span></div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a302249e30ee4a1060b817742c1c3fa03"> 293</a></span><span class="preprocessor">#define SDHCI_INT_ACMD12ERR BIT(24)</span></div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a070dba0efc9e6a2124f2148237448a29"> 294</a></span><span class="preprocessor">#define SDHCI_INT_ADMA_ERROR BIT(25)</span></div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a7b821cafdaad46a2a0d96d2839a16d6c"> 295</a></span><span class="preprocessor">#define SDHCI_INT_NORMAL_MASK 0x00007FFF</span></div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a787d20e5c9da613a2221756f9b553edc"> 296</a></span><span class="preprocessor">#define SDHCI_INT_ERROR_MASK 0xFFFF8000</span></div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> </div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae0f8c589e0a602981ea916ad8da05f24"> 298</a></span><span class="preprocessor">#define SDHCI_INT_CMD_MASK \</span></div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span><span class="preprocessor"> (SDHCI_INT_RESPONSE | SDHCI_INT_TIMEOUT | SDHCI_INT_CRC | \</span></div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span><span class="preprocessor"> SDHCI_INT_END_BIT | SDHCI_INT_INDEX | SDHCI_INT_ACMD12ERR)</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a1c6ccc4a3cf2114b1a2fc0431e6f28f0"> 301</a></span><span class="preprocessor">#define SDHCI_INT_DATA_MASK \</span></div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span><span class="preprocessor"> (SDHCI_INT_DATA_END | SDHCI_INT_DMA_END | SDHCI_INT_DATA_AVAIL | \</span></div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span><span class="preprocessor"> SDHCI_INT_SPACE_AVAIL | SDHCI_INT_DATA_TIMEOUT | SDHCI_INT_DATA_CRC | \</span></div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span><span class="preprocessor"> SDHCI_INT_DATA_END_BIT | SDHCI_INT_ADMA_ERROR | SDHCI_INT_BLK_GAP)</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6d1a913d0b71544f6d6037c9f4c7b97b"> 305</a></span><span class="preprocessor">#define SDHCI_INT_ABORT_MASK \</span></div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span><span class="preprocessor"> (SDHCI_INT_TIMEOUT | SDHCI_INT_CRC | SDHCI_INT_END_BIT | \</span></div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span><span class="preprocessor"> SDHCI_INT_INDEX)</span></div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> </div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae12e85114999d89740e1a1b72fdf706d"> 312</a></span><span class="preprocessor">#define SDHCI_HC_MODE_EN BIT(0)</span></div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6cd8d87d254c39d97ec7b3bb91fecd86"> 313</a></span><span class="preprocessor">#define SDHCI_HC_MODE_DIS (0 &lt;&lt; 1)</span></div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> </div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aebbd8e1adac5d485c1f7466296a3e78b"> 318</a></span><span class="preprocessor">#define SDHCI_CLK_MAX_DIV 2046</span></div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a3fa4395061fdec033a6572cd277d8013"> 319</a></span><span class="preprocessor">#define SDHCI_SDCLK_FREQ_SEL 8</span></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aa54a58fa520134b6545977b955500f6c"> 320</a></span><span class="preprocessor">#define SDHCI_SDCLK_UP_BIT_SEL 6</span></div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a7fb40b19068e043e106b83c99e6c8b1c"> 321</a></span><span class="preprocessor">#define SDHCI_SDCLK_FREQ_MASK 0xFF</span></div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a68db04282d365634d2ce39abf593b0fe"> 322</a></span><span class="preprocessor">#define SDHC_SDCLK_UP_BIT_MASK 0x300</span></div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ab43706f3d06523fa15b386c9f942d49d"> 323</a></span><span class="preprocessor">#define SDHCI_INT_CLK_EN BIT(0)</span></div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#abcfaf74aff33b033d6c6a6dcca42e4ce"> 324</a></span><span class="preprocessor">#define SDHCI_CLK_STABLE_MASK BIT(1)</span></div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a622e4eb41e737a9c34aaae478a98a2c6"> 325</a></span><span class="preprocessor">#define SDHCI_CLK_STABLE BIT(1)</span></div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a8ac203fe8304554065df5b08524244f9"> 326</a></span><span class="preprocessor">#define SDHCI_CLK_EN BIT(2)</span></div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6ba054a6db43d1cf7e98f1a37b9513b6"> 327</a></span><span class="preprocessor">#define SDHCI_CLK_DIS (0 &lt;&lt; 2)</span></div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aebc9946a86a9b105c2ca37b15851cc16"> 328</a></span><span class="preprocessor">#define SDHCI_CLK_PLL_EN BIT(3)</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a0f59d74336be4f37ffb13f63cbfbb70e"> 329</a></span><span class="preprocessor">#define SDHCI_CLK_RATE_MASK 0x0000FF00</span></div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a17d52f507fb93414694810b973e25851"> 330</a></span><span class="preprocessor">#define SDHCI_CLK_RATE_BIT 8</span></div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> </div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#afe6ed04cb16c86297b5d83ef549247cc"> 332</a></span><span class="preprocessor">#define SDHCI_CMD_ACT BIT(0)</span></div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a28d56d715c73f9eff1e32dff5ec4c83d"> 333</a></span><span class="preprocessor">#define SDHCI_DAT_ACT BIT(1)</span></div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> </div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a37b44b165dab425bb199db842a39c71a"> 338</a></span><span class="preprocessor">#define SDHCI_BUS_VOL_SEL 1</span></div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#afd2bd526de9a217ba4c6ff97b9702adb"> 339</a></span><span class="preprocessor">#define SDHCI_BUS_PWR_EN BIT(0)</span></div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aa7d54402a4c81cd787d9117fd0269d93"> 340</a></span><span class="preprocessor">#define SDHCI_VOL_1_8 5</span></div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a9f122ae1617484ea8173fe1c9550193b"> 341</a></span><span class="preprocessor">#define SDHCI_VOL_3_0 6</span></div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#adbaba9f259057441900bb4e727724892"> 342</a></span><span class="preprocessor">#define SDHCI_EMMC_VOL_1_8 5</span></div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a0c1d9f2ed6917130f106f0e883963049"> 343</a></span><span class="preprocessor">#define SDHCI_EMMC_VOL_3_0 6</span></div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a134958ec61968176d0a99a10b41de12b"> 344</a></span><span class="preprocessor">#define SDHCI_VOL_3_3 7</span></div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ab82ebb292d96441c904be88a74d2da50"> 345</a></span><span class="preprocessor">#define SDHCI_3_3_VOL_MASK 0x01000000</span></div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#abae0d231bffb7ba93a3b4f93f42ccc14"> 346</a></span><span class="preprocessor">#define SDHCI_3_0_VOL_MASK 0x02000000</span></div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae32ad11d9da12de1793a77d6070585b8"> 347</a></span><span class="preprocessor">#define SDHCI_1_8_VOL_MASK 0x04000000</span></div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> </div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a573544f91b7f51f1750f2a91c837fb7b"> 352</a></span><span class="preprocessor">#define SDHCI_8BIT_WIDTH_MASK 0x00040000</span></div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> </div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aa10e2db3a54c0ea71e3ee9f67a447548"> 354</a></span><span class="preprocessor">#define SDHCI_BUS_WITDH_1BIT (0)</span></div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a66bdd4d91e6245b8b82a3a47ffd00e05"> 355</a></span><span class="preprocessor">#define SDHCI_BUS_WITDH_4BIT BIT(1)</span></div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a10ce27966296ea71bf54423a39584dce"> 356</a></span><span class="preprocessor">#define SDHCI_BUS_WITDH_8BIT BIT(5)</span></div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> </div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a7281df4d845d25cb710149a2a6c82503"> 361</a></span><span class="preprocessor">#define SDHCI_BLK_LEN_MASK 0x00030000</span></div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a46f6566bf50ff8bcc4685ec1f07fa47c"> 362</a></span><span class="preprocessor">#define SDHCI_BLK_LEN_BIT 16</span></div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a84bbb2969ee90f08f0664efa09b87a1b"> 363</a></span><span class="preprocessor">#define SDHCI_BLK_ADMA_MASK 0x00080000</span></div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a11786bc31bc11454d31bcd3e08b13fa7"> 364</a></span><span class="preprocessor">#define SDHCI_INT_STS_TRANS_COMPLETE BIT(1)</span></div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af82f3473a6f6d265d21c87f52d1bde7b"> 365</a></span><span class="preprocessor">#define SDHCI_STATE_CMD_MASK BIT(0)</span></div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae2547b8dc9686044d99152e5f9fd76c7"> 366</a></span><span class="preprocessor">#define SDHCI_STATE_DAT_MASK BIT(1)</span></div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a296acc55bac4c7ae390a7c18c1934b9c"> 367</a></span><span class="preprocessor">#define SDHCI_STATE_CMD_DAT_MASK 0x0003</span></div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a0347772424dad8e66d8c72ac5bcb0357"> 368</a></span><span class="preprocessor">#define SDHCI_INT_STS_CMD_COMPLETE BIT(0)</span></div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ac244f259d157bcbc6362576d02902ffb"> 369</a></span><span class="preprocessor">#define SDHCI_ERR_INT_STAT_MASK 0x8000</span></div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a7b10b2a1e5df8d77bf5e65d9ce6ec1ed"> 370</a></span><span class="preprocessor">#define SDHCI_ADMA_DESC_LINE_SZ 0x10000</span></div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6aaa5d8a2e285cc0cdd8b8f6ff503bd5"> 371</a></span><span class="preprocessor">#define SDHCI_ADMA_MAX_TRANS_SZ (0xFFFFFFFFF * 512)</span></div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae2fe25a638997d545e01760911739f2a"> 372</a></span><span class="preprocessor">#define SDHCI_ADMA_TRANS_VALID BIT(0)</span></div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a77a7e6b27febe54406cdc26642547216"> 373</a></span><span class="preprocessor">#define SDHCI_ADMA_TRANS_END BIT(1)</span></div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a11e85080b14b6c9d3ef26cef0da2f8b9"> 374</a></span><span class="preprocessor">#define SDHCI_ADMA_TRANS_INT BIT(2)</span></div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a032ceabd285bc59a175ffba9045dbacd"> 375</a></span><span class="preprocessor">#define SDHCI_ADMA_TRANS_DATA BIT(5)</span></div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ad23759d3b856dbf25d309f42481f5da1"> 376</a></span><span class="preprocessor">#define SDHCI_ADMA_DATA_VALID SDHCI_ADMA_TRANS_DATA | SDHCI_ADMA_TRANS_VALID</span></div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a95799f9597edafa5c3f655a6ba9bcb41"> 377</a></span><span class="preprocessor">#define SDHCI_ADMA_DATA_VALID_END SDHCI_ADMA_TRANS_DATA | SDHCI_ADMA_TRANS_VALID | SDHCI_ADMA_TRANS_END</span></div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ade5723dd7286fb42206cfe42df3ec985"> 378</a></span><span class="preprocessor">#define SDHCI_ADMA_NOP_END_VALID SDHCI_ADMA_TRANS_END | SDHCI_ADMA_TRANS_VALID</span></div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a43e41afeed048375e407edc16515d641"> 379</a></span><span class="preprocessor">#define SDHCI_MMC_BLK_SZ 512</span></div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a8b242f9855ed8712dbf63f37a123ae38"> 380</a></span><span class="preprocessor">#define SDHCI_MMC_CUR_BLK_CNT_BIT 16</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a5c369c691bed2b53edd3584b05cdaf31"> 381</a></span><span class="preprocessor">#define SDHCI_MMC_BLK_SZ_BIT 0</span></div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a21f193298740c3390a5b437505681782"> 382</a></span><span class="preprocessor">#define SDHCI_TRANS_MULTI BIT(5)</span></div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a9e8d0c1586484aac239def63dd72230d"> 383</a></span><span class="preprocessor">#define SDHCI_TRANS_SINGLE (0 &lt;&lt; 5)</span></div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#abcd41b074498f5249616eb07955fbd96"> 384</a></span><span class="preprocessor">#define SDHCI_BLK_CNT_EN BIT(1)</span></div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a22c55f49c7299f06ed46d99d90fec81f"> 385</a></span><span class="preprocessor">#define SDHCI_DMA_EN BIT(0)</span></div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a85b971b25dd2112c7d94d93bf4820f5c"> 386</a></span><span class="preprocessor">#define SDHCI_AUTO_CMD23_EN BIT(3)</span></div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4f3dc036577a26e35fad96dce5cdb202"> 387</a></span><span class="preprocessor">#define SDHCI_AUTO_CMD12_EN BIT(2)</span></div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a32b3ce6aa18b61f6e824999494cb7e1c"> 388</a></span><span class="preprocessor">#define SDHCI_ADMA_32BIT BIT(4)</span></div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a925804a91012ee9e54b08b1149480720"> 389</a></span><span class="preprocessor">#define SDHCI_ADMA_64BIT (BIT(3) | BIT(4))</span></div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aac40dc4de7b012d103dbd93ee5d6f22c"> 390</a></span><span class="preprocessor">#define SDHCI_ADMA2_SEL BIT(4)</span></div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af6095c558dca100d2bed657ec9b66009"> 391</a></span><span class="preprocessor">#define SDHCI_ADMA23_SEL (BIT(3) | BIT(4))</span></div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a1e50a702b954db500a6e9d45e094ee35"> 392</a></span><span class="preprocessor">#define SDHCI_ADMA_SEL_MASK (BIT(3) | BIT(4))</span></div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> </div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a50f10e00f34347d1a0c1637e98b1e808"> 397</a></span><span class="preprocessor">#define SDHCI_SPEC_VER4_NUM (0x3)</span></div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aaf56a81a95247215a710727d1087d32d"> 398</a></span><span class="preprocessor">#define SDHCI_CAP_ADDR_64BIT_V3 BIT(28)</span></div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ab178e85c4d255f102e59ebe1176d3ae4"> 399</a></span><span class="preprocessor">#define SDHCI_CAP_ADDR_64BIT_V4 BIT(27)</span></div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a71edac85c8c1ad81df72d2fc34011056"> 400</a></span><span class="preprocessor">#define SDHCI_ADMA_64BIT_V4 BIT(13)</span></div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aaf926b32ef91bb1ba2e2e2883190fe1f"> 401</a></span><span class="preprocessor">#define SDHCI_VER4_ENABLE BIT(12)</span></div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a84d53431d3c65111bb2eb8c447441345"> 402</a></span><span class="preprocessor">#define SDHCI_ADMA2_26BIT_LEN_MODE BIT(10)</span></div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae5dfc9a5ea0e38738b6adad58243dec6"> 403</a></span><span class="preprocessor">#define SDHCI_ADMA2_DESC_LINE_SZ_V4 0x1000000</span></div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a85c08487e3d48bd1e158a9d718feea9e"> 404</a></span><span class="preprocessor">#define SDHCI_ADMA2_MAX_TRANS_SZ_V4 (0xFFFFFFFF * 512)</span></div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ac28866c3650a83f30dedffbae8667d0b"> 405</a></span><span class="preprocessor">#define SDHCI_ADMA2_DESC_26BIT_LEN_LSB (6)</span></div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a377ff8d8f5774a0c4fcb5275ee3b681b"> 406</a></span><span class="preprocessor">#define SDHCI_ADMA2_DESC_16BIT_LEN_LSB (16)</span></div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> </div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ab07f8e03122a26acae99d61f444aafad"> 411</a></span><span class="preprocessor">#define SDHCI_CMD_RESP_TYPE_SEL_BIT 0</span></div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a2d95330b74b7c6d7ee2d75629e40b22e"> 412</a></span><span class="preprocessor">#define SDHCI_CMD_CRC_CHECK_BIT 3</span></div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a3686da3d5283bc3e56d97575863b09f3"> 413</a></span><span class="preprocessor">#define SDHCI_CMD_IDX_CHECK_BIT 4</span></div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a68840e6bdf2cde59ee72e7907cc64983"> 414</a></span><span class="preprocessor">#define SDHCI_CMD_DATA_PRESENT_BIT 5</span></div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a89cdd5d263bf2d8a972e1996bec5170c"> 415</a></span><span class="preprocessor">#define SDHCI_CMD_CMD_TYPE_BIT 6</span></div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#adb7db073c32a4176ab5cd6b2ded4a364"> 416</a></span><span class="preprocessor">#define SDHCI_CMD_CMD_IDX_BIT 8</span></div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a55ae3eeae30e9c9b20d97987f279a807"> 417</a></span><span class="preprocessor">#define SDHCI_CMD_TIMEOUT_MASK BIT(0)</span></div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a9d5f596c30e87e5efd6e705deeb3b33a"> 418</a></span><span class="preprocessor">#define SDHCI_CMD_CRC_MASK BIT(1)</span></div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#acbc14ed9b8339692d73bf845cbc38516"> 419</a></span><span class="preprocessor">#define SDHCI_CMD_END_BIT_MASK BIT(2)</span></div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a2f9191dea93c0aab41cf8861ca476b2f"> 420</a></span><span class="preprocessor">#define SDHCI_CMD_IDX_MASK BIT(3)</span></div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aee0ac55e193761aae7ed15f869422f74"> 421</a></span><span class="preprocessor">#define SDHCI_DAT_TIMEOUT_MASK BIT(4)</span></div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af74977a14d8ce8b3d16fe591cbd15cad"> 422</a></span><span class="preprocessor">#define SDHCI_DAT_CRC_MASK BIT(5)</span></div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a1a7485b1c28b1945537123211c6d9e15"> 423</a></span><span class="preprocessor">#define SDHCI_DAT_END_BIT_MASK BIT(6)</span></div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ab85ab401451637e3557c6b696beaab2b"> 424</a></span><span class="preprocessor">#define SDHCI_CUR_LIM_MASK BIT(7)</span></div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a46f1b1cf7d38d6775fa2c5be4f3a4d26"> 425</a></span><span class="preprocessor">#define SDHCI_AUTO_CMD12_MASK BIT(8)</span></div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aeb1c258df5a2eb2c8676fe7817e0c24f"> 426</a></span><span class="preprocessor">#define SDHCI_CMD_SW_TIMEOUT_MASK BIT(16)</span></div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4c70a154249f20d02472cf98f84a5dba"> 427</a></span><span class="preprocessor">#define SDHCI_DAT_SW_TIMEOUT_MASK BIT(17)</span></div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> </div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a85c78ceddc17dd21ccba20d8522c4f43"> 429</a></span><span class="preprocessor">#define SDHCI_ADMA_MASK BIT(9)</span></div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a630e1e9b3e188666484d503cdbc1d678"> 430</a></span><span class="preprocessor">#define SDHCI_READ_MODE BIT(4)</span></div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a47bfd2c5c5c3b45e86747958163b4a42"> 431</a></span><span class="preprocessor">#define SDHCI_SWITCH_CMD 6</span></div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a23a868f47760b180facfbfa6db1140ec"> 432</a></span><span class="preprocessor">#define SDHCI_CMD_TIMEOUT 0xE</span></div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a34ae5502e3f9c00c491373ea4ea4191c"> 433</a></span><span class="preprocessor">#define SDHCI_MAX_CMD_RETRY 5000000</span></div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae2f4751be75f5b4d3d6ed3aa0c5cfb96"> 434</a></span><span class="preprocessor">#define SDHCI_MAX_TRANS_RETRY 10000000</span></div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af05744a420bba82b40f6fcc731df678e"> 435</a></span><span class="preprocessor">#define SDHCI_CMD_ERR_MASK \</span></div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span><span class="preprocessor"> (SDHCI_CMD_TIMEOUT_MASK | SDHCI_CMD_CRC_MASK | SDHCI_CMD_END_BIT_MASK | \</span></div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span><span class="preprocessor"> SDHCI_CMD_IDX_MASK | SDHCI_AUTO_CMD12_MASK)</span></div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a038d0f005fb19d0b7f0b0e8e24f5342d"> 438</a></span><span class="preprocessor">#define SDHCI_DATA_ERR_MASK \</span></div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span><span class="preprocessor"> (SDHCI_DAT_TIMEOUT_MASK | SDHCI_DAT_CRC_MASK | SDHCI_DAT_END_BIT_MASK | \</span></div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span><span class="preprocessor"> SDHCI_ADMA_MASK) </span><span class="comment">/* end of Command related */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> </div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a2c5e7dee655af11aaecf24646d60225b"> 445</a></span><span class="preprocessor">#define SDHCI_HIGH_SPEED_EN BIT(2)</span></div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> </div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ac13b7bffa742fcaf31013fb2b757d907"> 447</a></span><span class="preprocessor">#define SDHCI_SAMPLE_CLK_SEL BIT(7)</span></div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a15f856053ae3b53eb4867ff54453285c"> 448</a></span><span class="preprocessor">#define SDHCI_EXEC_TUNING BIT(6)</span></div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> </div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a3f1c3a1d213d3de9a966d0cac07f460c"> 450</a></span><span class="preprocessor">#define SDHCI_PREP_CMD(c, f) ((((c)&amp;0xff) &lt;&lt; 8) | ((f)&amp;0xff))</span></div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> </div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aefc5048ff93f054b48751fe9d0ba24c6"> 455</a></span><span class="preprocessor">#define SDHCI_RESP_LSHIFT 8</span></div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a73bc36abffc8d3ab99a1bf61a0d1719c"> 456</a></span><span class="preprocessor">#define SDHCI_RESP_RSHIFT 24</span></div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> </div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a19fc46616816d54670c983819105311c"> 461</a></span><span class="preprocessor">#define SDCC_HC_PWR_CTRL_INT 0xF</span></div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae1465fa2a87c7f55b68ff616f17c19b4"> 462</a></span><span class="preprocessor">#define SDCC_HC_BUS_ON BIT(0)</span></div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a1fe29f3e5bfa65775173be244ebf2246"> 463</a></span><span class="preprocessor">#define SDCC_HC_BUS_OFF BIT(1)</span></div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a334805ce10354fd30d8e9c420294b2e3"> 464</a></span><span class="preprocessor">#define SDCC_HC_BUS_ON_OFF_SUCC BIT(0)</span></div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a18240d0e55501ce81162097e03c8797f"> 465</a></span><span class="preprocessor">#define SDCC_HC_IO_SIG_LOW BIT(2)</span></div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a7c650f17403b21ed37f0204f997f623c"> 466</a></span><span class="preprocessor">#define SDCC_HC_IO_SIG_HIGH BIT(3)</span></div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6dc185ad342bb7dde62057a385cfe1c4"> 467</a></span><span class="preprocessor">#define SDCC_HC_IO_SIG_SUCC BIT(2)</span></div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> </div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a055f8f84f5379a6cd5442b47da232593"> 472</a></span><span class="preprocessor">#define SDHCI_CMD_RESP_NONE 0</span></div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a55b3ed5bddf2b4a0f1b9984c05a9bc25"> 473</a></span><span class="preprocessor">#define SDHCI_CMD_RESP_R1 BIT(0)</span></div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a312195b18ef59064c83b83816f0ed345"> 474</a></span><span class="preprocessor">#define SDHCI_CMD_RESP_R1B BIT(1)</span></div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a5d8ef3f9aeef6fefb0e6db84487f6ba7"> 475</a></span><span class="preprocessor">#define SDHCI_CMD_RESP_R2 BIT(2)</span></div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ad53b37d46fcd1ef93a4d6843549f8796"> 476</a></span><span class="preprocessor">#define SDHCI_CMD_RESP_R3 BIT(3)</span></div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ac5cbfd0d9d4b2128c76eec7baf005d7c"> 477</a></span><span class="preprocessor">#define SDHCI_CMD_RESP_R6 BIT(6)</span></div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a997f7ce0410160da6824d16689d5fa73"> 478</a></span><span class="preprocessor">#define SDHCI_CMD_RESP_R7 BIT(7)</span></div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> </div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ade1245b4bdfab9e70d023664e6a722f5"> 483</a></span><span class="preprocessor">#define SDHCI_CLK_400KHZ 400000</span></div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#acf01edf25adf97717d8658cdc9b62e4a"> 484</a></span><span class="preprocessor">#define SDHCI_CLK_25MHZ 25000000</span></div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ad93c932798303aa465e405ff23281392"> 485</a></span><span class="preprocessor">#define SDHCI_CLK_50MHZ 50000000</span></div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aa6ee1227526123d150c0dda71182a070"> 486</a></span><span class="preprocessor">#define SDHCI_CLK_100MHZ 100000000</span></div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#abb50b3c1202d4175328a956053876b33"> 487</a></span><span class="preprocessor">#define SDHCI_CLK_200MHZ 200000000</span></div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af5d6f854ab2d0b044b8ef0336a96f740"> 488</a></span><span class="preprocessor">#define SDHCI_CLK_400MHZ 400000000</span></div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> </div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a2c6a8fb954f147e78e159d87661d1fac"> 491</a></span><span class="preprocessor">#define SDHCI_UHS_MODE_MASK 0x0007</span></div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> </div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a160438a6da61fdcd38501d45e44e9956"> 496</a></span><span class="preprocessor">#define SDHCI_SDR50_MODE_MASK BIT(0)</span></div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae2472db179665d20602d7f7281fcbf34"> 497</a></span><span class="preprocessor">#define SDHCI_SDR104_MODE_MASK BIT(1)</span></div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ae3786d2cfb9a13722d9ba5cf1f379208"> 498</a></span><span class="preprocessor">#define SDHCI_DDR50_MODE_MASK BIT(2)</span></div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> </div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a7b5fbae10b5dc73d7b8849fd15aad694"> 500</a></span><span class="preprocessor">#define SDHCI_UHS_SDR104_MODE 0x3</span></div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a828ca94a3ea39d58caedcc628b04fdc6"> 501</a></span><span class="preprocessor">#define SDHCI_UHS_SDR50_MODE 0x2</span></div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a06b1c98a46693b26274943d8ecf5d08a"> 502</a></span><span class="preprocessor">#define SDHCI_UHS_DDR50_MODE 0x4</span></div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a7f368f7f3d9cc44e965d3bc7221a3231"> 503</a></span><span class="preprocessor">#define SDHCI_UHS_SDR25_MODE 0x1</span></div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a79abe16364bf74778a40bd3052152f39"> 504</a></span><span class="preprocessor">#define SDHCI_UHS_SDR12_MODE 0x0</span></div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> </div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#adb012feb7fd35be4c5ab2861d283b270"> 506</a></span><span class="preprocessor">#define SDHCI_EMMC_HS400_MODE 0x7</span></div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6dbea81f17309316e2afb06f93122a94"> 507</a></span><span class="preprocessor">#define SDHCI_EMMC_DDR52_MODE 0x4</span></div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ad4e3165bc998a231baf5c5a760b4ff58"> 508</a></span><span class="preprocessor">#define SDHCI_EMMC_HS200_MODE 0x3</span></div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a925600fcf6267b41d7f9eed44239fa92"> 509</a></span><span class="preprocessor">#define SDHCI_EMMC_HISPEED_MODE 0x1</span></div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aa6e9076ec29da7709c5f562ecf31d8a9"> 510</a></span><span class="preprocessor">#define SDHCI_EMMC_LEGACY_MODE 0x0</span></div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> </div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a6bc1ce4de0584611a309bc19f27146cf"> 515</a></span><span class="preprocessor">#define MMC_BUS_WIDTH_1BIT 0</span></div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4503c60ff4f74dff0be1550f814a4889"> 516</a></span><span class="preprocessor">#define MMC_BUS_WIDTH_4BIT 1</span></div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a544638511140d3856f69a8e6ea71d3b1"> 517</a></span><span class="preprocessor">#define MMC_BUS_WIDTH_8BIT 2</span></div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> </div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a476ffc7ef7bc448217743052a250a47a"> 522</a></span><span class="preprocessor">#define SDHCI_PSTATE_DAT_3_0_MASK 0x00f00000</span></div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aee839c310616160d7ae87a231c8deb88"> 523</a></span><span class="preprocessor">#define SDHCI_PSTATE_DAT_7_4_MASK 0x000000f0</span></div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a73739b9520daf1b92acf5f77516b124d"> 524</a></span><span class="preprocessor">#define SDHCI_PSTATE_CMD_INHIBIT_DAT_MASK BIT(1)</span></div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a7f49121725272b97782ab873ddd2f04a"> 525</a></span><span class="preprocessor">#define SDHCI_PSTATE_CMD_INHIBIT_MASK BIT(0)</span></div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> </div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#add741c7cd8d577f82fa2af71d712f28e"> 527</a></span><span class="preprocessor">#define SDHCI_PRESENT_STATE_DAT_MASK (SDHCI_PSTATE_DAT_3_0_MASK | SDHCI_PSTATE_DAT_7_4_MASK)</span></div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#af28cd625a82dc8e30f44c02316f3ba17"> 528</a></span><span class="preprocessor">#define SDHCI_PRESENT_STATE_DAT_8BIT_MASK (SDHCI_PSTATE_DAT_3_0_MASK | SDHCI_PSTATE_DAT_7_4_MASK)</span></div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ad23ee60690e9c80b2b00833bca4e4c48"> 529</a></span><span class="preprocessor">#define SDHCI_PRESENT_STATE_DAT_4BIT_MASK (SDHCI_PSTATE_DAT_3_0_MASK)</span></div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a9c320da91b6fec6e285ea7d69dd75c60"> 530</a></span><span class="preprocessor">#define SDHCI_PRESENT_STATE_DAT_1BIT_MASK (SDHCI_PSTATE_DAT_3_0_MASK &amp; 0x00100000)</span></div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> </div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ab26caccdcbdb55d9f845e5822ebb5d49"> 535</a></span><span class="preprocessor">#define SDHCI_MMC_WRITE 0</span></div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ad5648189f6a989b5afe3869056883dce"> 536</a></span><span class="preprocessor">#define SDHCI_MMC_READ 1</span></div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> </div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a4d0dc9262e02c6254a8c5fbcb966682b"> 541</a></span><span class="preprocessor">#define MMC_DATA_BUS_WIDTH_1BIT 0</span></div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#abc8822f397e98cddeb4ec05c6e03cee3"> 542</a></span><span class="preprocessor">#define MMC_DATA_BUS_WIDTH_4BIT 1</span></div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aebe3c6428de42821ae6825b7ff15807a"> 543</a></span><span class="preprocessor">#define MMC_DATA_BUS_WIDTH_8BIT 2</span></div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aa95f38bdb34e971235f159df98b5272e"> 544</a></span><span class="preprocessor">#define MMC_DATA_DDR_BUS_WIDTH_4BIT 5</span></div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ad05757623d5c87b19d75d37a5e2ab0f6"> 545</a></span><span class="preprocessor">#define MMC_DATA_DDR_BUS_WIDTH_8BIT 6</span></div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> </div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span><span class="preprocessor">#ifndef DETAIL_PRINTF</span></div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#ad91f33a05ba89b871b308e6518f50b1b"> 548</a></span><span class="preprocessor">#define DETAIL_PRINTF(level, x...) \</span></div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span><span class="preprocessor">{ \</span></div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span><span class="preprocessor"> ssdk_printf(level, &quot;[%s|%d|%s]\n&quot;</span>,__FILE__,__LINE__,__func__); \</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> ssdk_printf(level,x); \</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span>}</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> <span class="comment">/* end of group mmc data bus width */</span></div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> </div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a167f1eafd4cbcb498ab2e7abce06052e"> 559</a></span><span class="preprocessor">#define FV_ADMA2_ATTR_LEN(v) \</span></div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span><span class="preprocessor"> ((((v)&amp;0xffffU) &lt;&lt; 16) | ((((v)&amp;0x3ff0000U)) &gt;&gt; 10))</span></div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> </div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#abcbd80fd40c9479819057ae8bee3ea94"> 563</a></span><span class="keyword">inline</span> <span class="keyword">static</span> <a class="code hl_typedef" href="sdrv__common_8h.html#aaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> <a class="code hl_function" href="sdrv__sdhci_8h.html#abcbd80fd40c9479819057ae8bee3ea94">sdrv_sdhci_wait_for_bit</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host, addr_t reg,</div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> uint16_t mask, <span class="keywordtype">bool</span> clear, uint32_t ms)</div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span>{</div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> uint32_t val;</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> uint32_t timeout;</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span> </div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> timeout = ms * 1000;</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> </div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span> <span class="comment">//reserve</span></div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> <span class="comment">//timeout = current_time() + ms;</span></div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span> </div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span> <span class="keywordflow">while</span> (timeout --) {</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> val = <a class="code hl_define" href="sdrv__sdhci_8h.html#a2b61dabfe1746ffec8275ec7b77ccd30">REG_READ16</a>(host, reg);</div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span> </div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> <span class="keywordflow">if</span> (clear)</div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span> val = ~val;</div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> </div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> val &amp;= mask;</div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> </div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span> <span class="keywordflow">if</span> (val == mask)</div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="sdrv__common_8h.html#ae4d5251432e1a9e6803c0240cc492e18ad0b8e972f5ce6b290b1b1626dfe919a8">SDRV_STATUS_OK</a>;</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span> </div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> <span class="comment">//if (current_time() &gt; timeout)</span></div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> <span class="keywordflow">if</span> (timeout == 0)</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="sdrv__common_8h.html#ae4d5251432e1a9e6803c0240cc492e18ad39b65025f135d1e9277dc40a933bc06">SDRV_STATUS_TIMEOUT</a>;</div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span> </div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> <a class="code hl_define" href="sdrv-cam-os-def_8h.html#a84b5bf7ed1d3df07f4b011f169d5b174">udelay</a>(1);</div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span> }</div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span> </div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="sdrv__common_8h.html#ae4d5251432e1a9e6803c0240cc492e18a9d7a977c6615025d7d40ed9925e4ffbf">SDRV_STATUS_FAIL</a>;</div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span>}</div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> </div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a63f16c126176ea1a2748c76b20eb25bb"> 600</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sdrv__sdhci_8h.html#a63f16c126176ea1a2748c76b20eb25bb">sdrv_sdhci_init</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host);</div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span> </div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a787e506512749874ead3c338dfc49001"> 612</a></span><a class="code hl_typedef" href="sdrv__common_8h.html#aaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> <a class="code hl_function" href="sdrv__sdhci_8h.html#a787e506512749874ead3c338dfc49001">sdrv_sdhci_send_command</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host,</div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structmmc__command.html">mmc_command</a> *cmd);</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> </div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a90c48032cb9547c8919a224eef21e467"> 623</a></span><a class="code hl_typedef" href="sdrv__common_8h.html#aaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> <a class="code hl_function" href="sdrv__sdhci_8h.html#a90c48032cb9547c8919a224eef21e467">sdrv_sdhci_set_bus_width</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host, uint16_t <a class="code hl_variable" href="logo__rgb565_8h.html#aca34d28e3d8bcbcadb8edb4e3af24f8c">width</a>);</div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span> </div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a0166f1f3490073b23ced4ea7e2ba203b"> 635</a></span><a class="code hl_typedef" href="sdrv__common_8h.html#aaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> <a class="code hl_function" href="sdrv__sdhci_8h.html#a0166f1f3490073b23ced4ea7e2ba203b">sdrv_sdhci_execute_tuning</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host, uint32_t opcode,</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span> uint32_t bus_width);</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a5cbd95cf8072e79c0dedbbcfbe97c1c7"> 645</a></span>uint32_t <a class="code hl_function" href="sdrv__sdhci_8h.html#a5cbd95cf8072e79c0dedbbcfbe97c1c7">sdrv_sdhci_clk_supply</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host, uint32_t type);</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span> </div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aa78d166e7bcae7b8835b7cb9963fb079"> 653</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sdrv__sdhci_8h.html#aa78d166e7bcae7b8835b7cb9963fb079">sdrv_sdhci_set_uhs_mode</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host, uint32_t mode);</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span> </div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#aab21e0b77c1f2acd033553a4f11b35ae"> 660</a></span><a class="code hl_typedef" href="sdrv__common_8h.html#aaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> <a class="code hl_function" href="sdrv__sdhci_8h.html#aab21e0b77c1f2acd033553a4f11b35ae">sdrv_sdhci_reset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host, uint8_t mask);</div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span> </div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a613033c3558120ff5e62c69a021f218c"> 666</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sdrv__sdhci_8h.html#a613033c3558120ff5e62c69a021f218c">sdrv_sdhci_start_tuning</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host);</div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span> </div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a63aef93cf06a04c27971753dda090396"> 672</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sdrv__sdhci_8h.html#a63aef93cf06a04c27971753dda090396">sdrv_sdhci_reset_tuning</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host);</div>
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"> 673</span> </div>
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a97d1cd9cdd84ece3793a4c3d652fc17d"> 678</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sdrv__sdhci_8h.html#a97d1cd9cdd84ece3793a4c3d652fc17d">sdrv_sdhci_abort_tuning</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host);</div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"> 679</span> </div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"><a class="line" href="sdrv__sdhci_8h.html#a38000cea9ceb0b334d12b751303be723"> 689</a></span><a class="code hl_typedef" href="sdrv__common_8h.html#aaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> <a class="code hl_function" href="sdrv__sdhci_8h.html#a38000cea9ceb0b334d12b751303be723">sdrv_sdhci_tuning_sequence</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structsdhci__host.html">sdhci_host</a> *host, uint32_t opcode,</div>
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"> 690</span> uint32_t bus_width);</div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span> </div>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"> 692</span><span class="preprocessor">#endif </span><span class="comment">/* SDRV_SDHCI_H_ */</span><span class="preprocessor"></span></div>
<div class="ttc" id="airq_8h_html"><div class="ttname"><a href="irq_8h.html">irq.h</a></div><div class="ttdoc">Interrupt interface hearder file.</div></div>
<div class="ttc" id="alogo__rgb565_8h_html_aca34d28e3d8bcbcadb8edb4e3af24f8c"><div class="ttname"><a href="logo__rgb565_8h.html#aca34d28e3d8bcbcadb8edb4e3af24f8c">width</a></div><div class="ttdeci">unsigned int width</div><div class="ttdef"><b>Definition:</b> logo_rgb565.h:32912</div></div>
<div class="ttc" id="asdrv-cam-os-def_8h_html_a84b5bf7ed1d3df07f4b011f169d5b174"><div class="ttname"><a href="sdrv-cam-os-def_8h.html#a84b5bf7ed1d3df07f4b011f169d5b174">udelay</a></div><div class="ttdeci">#define udelay(us)</div><div class="ttdef"><b>Definition:</b> sdrv-cam-os-def.h:121</div></div>
<div class="ttc" id="asdrv__common_8h_html"><div class="ttname"><a href="sdrv__common_8h.html">sdrv_common.h</a></div><div class="ttdoc">SemiDrive driver common header file.</div></div>
<div class="ttc" id="asdrv__common_8h_html_aaabdaf7ee58ca7269bd4bf24efcde092"><div class="ttname"><a href="sdrv__common_8h.html#aaabdaf7ee58ca7269bd4bf24efcde092">status_t</a></div><div class="ttdeci">int32_t status_t</div><div class="ttdoc">Type used for all status and error return values.</div><div class="ttdef"><b>Definition:</b> sdrv_common.h:82</div></div>
<div class="ttc" id="asdrv__common_8h_html_ae4d5251432e1a9e6803c0240cc492e18a9d7a977c6615025d7d40ed9925e4ffbf"><div class="ttname"><a href="sdrv__common_8h.html#ae4d5251432e1a9e6803c0240cc492e18a9d7a977c6615025d7d40ed9925e4ffbf">SDRV_STATUS_FAIL</a></div><div class="ttdeci">@ SDRV_STATUS_FAIL</div><div class="ttdef"><b>Definition:</b> sdrv_common.h:73</div></div>
<div class="ttc" id="asdrv__common_8h_html_ae4d5251432e1a9e6803c0240cc492e18ad0b8e972f5ce6b290b1b1626dfe919a8"><div class="ttname"><a href="sdrv__common_8h.html#ae4d5251432e1a9e6803c0240cc492e18ad0b8e972f5ce6b290b1b1626dfe919a8">SDRV_STATUS_OK</a></div><div class="ttdeci">@ SDRV_STATUS_OK</div><div class="ttdef"><b>Definition:</b> sdrv_common.h:72</div></div>
<div class="ttc" id="asdrv__common_8h_html_ae4d5251432e1a9e6803c0240cc492e18ad39b65025f135d1e9277dc40a933bc06"><div class="ttname"><a href="sdrv__common_8h.html#ae4d5251432e1a9e6803c0240cc492e18ad39b65025f135d1e9277dc40a933bc06">SDRV_STATUS_TIMEOUT</a></div><div class="ttdeci">@ SDRV_STATUS_TIMEOUT</div><div class="ttdef"><b>Definition:</b> sdrv_common.h:75</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a0166f1f3490073b23ced4ea7e2ba203b"><div class="ttname"><a href="sdrv__sdhci_8h.html#a0166f1f3490073b23ced4ea7e2ba203b">sdrv_sdhci_execute_tuning</a></div><div class="ttdeci">status_t sdrv_sdhci_execute_tuning(struct sdhci_host *host, uint32_t opcode, uint32_t bus_width)</div><div class="ttdoc">sdhci execute tuning</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a055f8f84f5379a6cd5442b47da232593"><div class="ttname"><a href="sdrv__sdhci_8h.html#a055f8f84f5379a6cd5442b47da232593">SDHCI_CMD_RESP_NONE</a></div><div class="ttdeci">#define SDHCI_CMD_RESP_NONE</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:472</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a2b61dabfe1746ffec8275ec7b77ccd30"><div class="ttname"><a href="sdrv__sdhci_8h.html#a2b61dabfe1746ffec8275ec7b77ccd30">REG_READ16</a></div><div class="ttdeci">#define REG_READ16(host, a)</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:206</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a38000cea9ceb0b334d12b751303be723"><div class="ttname"><a href="sdrv__sdhci_8h.html#a38000cea9ceb0b334d12b751303be723">sdrv_sdhci_tuning_sequence</a></div><div class="ttdeci">status_t sdrv_sdhci_tuning_sequence(struct sdhci_host *host, uint32_t opcode, uint32_t bus_width)</div><div class="ttdoc">sdhci clk supply</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a4fd13e773d1b93782c9e5e824b77f385"><div class="ttname"><a href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385">sdhci_resp_type</a></div><div class="ttdeci">sdhci_resp_type</div><div class="ttdoc">Response type values for sdhci.</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:185</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a4fd13e773d1b93782c9e5e824b77f385a49ea0b7df3d3b86030cc33e6ea83b8e6"><div class="ttname"><a href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385a49ea0b7df3d3b86030cc33e6ea83b8e6">SDHCI_CMD_RESP_48_BUSY</a></div><div class="ttdeci">@ SDHCI_CMD_RESP_48_BUSY</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:189</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a4fd13e773d1b93782c9e5e824b77f385a6628a903d6e1c7484cbe06d8e55a9816"><div class="ttname"><a href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385a6628a903d6e1c7484cbe06d8e55a9816">SDHCI_CMD_RESP_136</a></div><div class="ttdeci">@ SDHCI_CMD_RESP_136</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:187</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a4fd13e773d1b93782c9e5e824b77f385a84dad1913c097979220fce07d1ba9cb1"><div class="ttname"><a href="sdrv__sdhci_8h.html#a4fd13e773d1b93782c9e5e824b77f385a84dad1913c097979220fce07d1ba9cb1">SDHCI_CMD_RESP_48</a></div><div class="ttdeci">@ SDHCI_CMD_RESP_48</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:188</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a5cbd95cf8072e79c0dedbbcfbe97c1c7"><div class="ttname"><a href="sdrv__sdhci_8h.html#a5cbd95cf8072e79c0dedbbcfbe97c1c7">sdrv_sdhci_clk_supply</a></div><div class="ttdeci">uint32_t sdrv_sdhci_clk_supply(struct sdhci_host *host, uint32_t type)</div><div class="ttdoc">sdhci clk supply</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a613033c3558120ff5e62c69a021f218c"><div class="ttname"><a href="sdrv__sdhci_8h.html#a613033c3558120ff5e62c69a021f218c">sdrv_sdhci_start_tuning</a></div><div class="ttdeci">void sdrv_sdhci_start_tuning(struct sdhci_host *host)</div><div class="ttdoc">start tuning</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a63aef93cf06a04c27971753dda090396"><div class="ttname"><a href="sdrv__sdhci_8h.html#a63aef93cf06a04c27971753dda090396">sdrv_sdhci_reset_tuning</a></div><div class="ttdeci">void sdrv_sdhci_reset_tuning(struct sdhci_host *host)</div><div class="ttdoc">sdhci reset tuning</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a63f16c126176ea1a2748c76b20eb25bb"><div class="ttname"><a href="sdrv__sdhci_8h.html#a63f16c126176ea1a2748c76b20eb25bb">sdrv_sdhci_init</a></div><div class="ttdeci">void sdrv_sdhci_init(struct sdhci_host *host)</div><div class="ttdoc">initialize the controller.</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a6b12992be609b3bc8561c726e26ae860"><div class="ttname"><a href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860">sdhci_cmd_type</a></div><div class="ttdeci">sdhci_cmd_type</div><div class="ttdoc">Command types for sdhci.</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:177</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a6b12992be609b3bc8561c726e26ae860a6e75823d632ebf2eaa1defe88da0cb13"><div class="ttname"><a href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860a6e75823d632ebf2eaa1defe88da0cb13">SDHCI_CMD_TYPE_SUSPEND</a></div><div class="ttdeci">@ SDHCI_CMD_TYPE_SUSPEND</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:179</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a6b12992be609b3bc8561c726e26ae860a71555fcc9b7d96e59f52e3d554fe4470"><div class="ttname"><a href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860a71555fcc9b7d96e59f52e3d554fe4470">SDHCI_CMD_TYPE_ABORT</a></div><div class="ttdeci">@ SDHCI_CMD_TYPE_ABORT</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:181</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a6b12992be609b3bc8561c726e26ae860ada95806026d3b9ab4ac4ddfb39336ab6"><div class="ttname"><a href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860ada95806026d3b9ab4ac4ddfb39336ab6">SDHCI_CMD_TYPE_RESUME</a></div><div class="ttdeci">@ SDHCI_CMD_TYPE_RESUME</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:180</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a6b12992be609b3bc8561c726e26ae860add0f58a050b9bcef99b238b2c0dd17de"><div class="ttname"><a href="sdrv__sdhci_8h.html#a6b12992be609b3bc8561c726e26ae860add0f58a050b9bcef99b238b2c0dd17de">SDHCI_CMD_TYPE_NORMAL</a></div><div class="ttdeci">@ SDHCI_CMD_TYPE_NORMAL</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:178</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a787e506512749874ead3c338dfc49001"><div class="ttname"><a href="sdrv__sdhci_8h.html#a787e506512749874ead3c338dfc49001">sdrv_sdhci_send_command</a></div><div class="ttdeci">status_t sdrv_sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)</div><div class="ttdoc">sdhci send command</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a90c48032cb9547c8919a224eef21e467"><div class="ttname"><a href="sdrv__sdhci_8h.html#a90c48032cb9547c8919a224eef21e467">sdrv_sdhci_set_bus_width</a></div><div class="ttdeci">status_t sdrv_sdhci_set_bus_width(struct sdhci_host *host, uint16_t width)</div><div class="ttdoc">set the bus width for controller</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_a97d1cd9cdd84ece3793a4c3d652fc17d"><div class="ttname"><a href="sdrv__sdhci_8h.html#a97d1cd9cdd84ece3793a4c3d652fc17d">sdrv_sdhci_abort_tuning</a></div><div class="ttdeci">void sdrv_sdhci_abort_tuning(struct sdhci_host *host)</div><div class="ttdoc">sdhci abort tuning</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_aa78d166e7bcae7b8835b7cb9963fb079"><div class="ttname"><a href="sdrv__sdhci_8h.html#aa78d166e7bcae7b8835b7cb9963fb079">sdrv_sdhci_set_uhs_mode</a></div><div class="ttdeci">void sdrv_sdhci_set_uhs_mode(struct sdhci_host *host, uint32_t mode)</div><div class="ttdoc">sdhci clk supply</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_aab21e0b77c1f2acd033553a4f11b35ae"><div class="ttname"><a href="sdrv__sdhci_8h.html#aab21e0b77c1f2acd033553a4f11b35ae">sdrv_sdhci_reset</a></div><div class="ttdeci">status_t sdrv_sdhci_reset(struct sdhci_host *host, uint8_t mask)</div><div class="ttdoc">Soft reset for the controller.</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_ab999ceb679c9bad43f44964a5f314584"><div class="ttname"><a href="sdrv__sdhci_8h.html#ab999ceb679c9bad43f44964a5f314584">desc_entry</a></div><div class="ttdeci">#define desc_entry</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:38</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_abcbd80fd40c9479819057ae8bee3ea94"><div class="ttname"><a href="sdrv__sdhci_8h.html#abcbd80fd40c9479819057ae8bee3ea94">sdrv_sdhci_wait_for_bit</a></div><div class="ttdeci">static status_t sdrv_sdhci_wait_for_bit(struct sdhci_host *host, addr_t reg, uint16_t mask, bool clear, uint32_t ms)</div><div class="ttdoc">sdhci wait for bit mask</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:563</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_acd5931a59c77e22982a13d018c3424f1"><div class="ttname"><a href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1">sdhci_card_type</a></div><div class="ttdeci">sdhci_card_type</div><div class="ttdoc">Card types for sdhci.</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:167</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_acd5931a59c77e22982a13d018c3424f1a7e837ed2ac02660af2f35a6d96dd2f85"><div class="ttname"><a href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1a7e837ed2ac02660af2f35a6d96dd2f85">SDHCI_CARD_TYPE_ABORT</a></div><div class="ttdeci">@ SDHCI_CARD_TYPE_ABORT</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:172</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_acd5931a59c77e22982a13d018c3424f1a7f1cdd27eb319bd88073cfc82b8d5667"><div class="ttname"><a href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1a7f1cdd27eb319bd88073cfc82b8d5667">SDHCI_SD_CARD</a></div><div class="ttdeci">@ SDHCI_SD_CARD</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:169</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_acd5931a59c77e22982a13d018c3424f1a89dbcab6d9006c066f36c96adbcd0be5"><div class="ttname"><a href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1a89dbcab6d9006c066f36c96adbcd0be5">SDHCI_SDIO_CARD</a></div><div class="ttdeci">@ SDHCI_SDIO_CARD</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:171</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_acd5931a59c77e22982a13d018c3424f1add2af5ce9652856415094bd84498380a"><div class="ttname"><a href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1add2af5ce9652856415094bd84498380a">SDHCI_EMMC_CARD</a></div><div class="ttdeci">@ SDHCI_EMMC_CARD</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:168</div></div>
<div class="ttc" id="asdrv__sdhci_8h_html_acd5931a59c77e22982a13d018c3424f1aea969d5fcae3c24912d0aff3172a7d53"><div class="ttname"><a href="sdrv__sdhci_8h.html#acd5931a59c77e22982a13d018c3424f1aea969d5fcae3c24912d0aff3172a7d53">SDHCI_UHS2_CARD</a></div><div class="ttdeci">@ SDHCI_UHS2_CARD</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:170</div></div>
<div class="ttc" id="astructdesc__entry__a32_html"><div class="ttname"><a href="structdesc__entry__a32.html">desc_entry_a32</a></div><div class="ttdoc">Descriptor table for adma.</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:152</div></div>
<div class="ttc" id="astructdesc__entry__a32_html_ab439e3a90339e2e8ca8f82d4557a34e5"><div class="ttname"><a href="structdesc__entry__a32.html#ab439e3a90339e2e8ca8f82d4557a34e5">desc_entry_a32::addr</a></div><div class="ttdeci">uint32_t addr</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:154</div></div>
<div class="ttc" id="astructdesc__entry__a32_html_ad2c678923c570b5383d5beee3778434d"><div class="ttname"><a href="structdesc__entry__a32.html#ad2c678923c570b5383d5beee3778434d">desc_entry_a32::tran_att</a></div><div class="ttdeci">uint32_t tran_att</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:153</div></div>
<div class="ttc" id="astructdesc__entry__a64_html"><div class="ttname"><a href="structdesc__entry__a64.html">desc_entry_a64</a></div><div class="ttdoc">Descriptor table for adma.</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:158</div></div>
<div class="ttc" id="astructdesc__entry__a64_html_aa88921cdc35a964aa1e50d38789105f8"><div class="ttname"><a href="structdesc__entry__a64.html#aa88921cdc35a964aa1e50d38789105f8">desc_entry_a64::addr_h</a></div><div class="ttdeci">uint32_t addr_h</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:161</div></div>
<div class="ttc" id="astructdesc__entry__a64_html_ab6780fd855b415d06f11d852b99a791d"><div class="ttname"><a href="structdesc__entry__a64.html#ab6780fd855b415d06f11d852b99a791d">desc_entry_a64::addr_l</a></div><div class="ttdeci">uint32_t addr_l</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:160</div></div>
<div class="ttc" id="astructdesc__entry__a64_html_ac85388da58e586ae119667e0bb2622ec"><div class="ttname"><a href="structdesc__entry__a64.html#ac85388da58e586ae119667e0bb2622ec">desc_entry_a64::rsvd</a></div><div class="ttdeci">uint32_t rsvd</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:162</div></div>
<div class="ttc" id="astructdesc__entry__a64_html_ad2c678923c570b5383d5beee3778434d"><div class="ttname"><a href="structdesc__entry__a64.html#ad2c678923c570b5383d5beee3778434d">desc_entry_a64::tran_att</a></div><div class="ttdeci">uint32_t tran_att</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:159</div></div>
<div class="ttc" id="astructhost__caps_html"><div class="ttname"><a href="structhost__caps.html">host_caps</a></div><div class="ttdoc">Capabilities for the host controller These values are read from the capabilities egister in the contr...</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:56</div></div>
<div class="ttc" id="astructhost__caps_html_a120013f4e7c361b194c2d6e2600b81ee"><div class="ttname"><a href="structhost__caps.html#a120013f4e7c361b194c2d6e2600b81ee">host_caps::addr_64bit_v4</a></div><div class="ttdeci">uint8_t addr_64bit_v4</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:63</div></div>
<div class="ttc" id="astructhost__caps_html_a20bcb421aff92ad77b010581e98b721d"><div class="ttname"><a href="structhost__caps.html#a20bcb421aff92ad77b010581e98b721d">host_caps::sdr50_support</a></div><div class="ttdeci">uint8_t sdr50_support</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:67</div></div>
<div class="ttc" id="astructhost__caps_html_a3caeab8b8383260dd63e14f35a10c11d"><div class="ttname"><a href="structhost__caps.html#a3caeab8b8383260dd63e14f35a10c11d">host_caps::hw_reset_support</a></div><div class="ttdeci">uint8_t hw_reset_support</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:71</div></div>
<div class="ttc" id="astructhost__caps_html_a45927d1243a746e6035217cc51b6d7dc"><div class="ttname"><a href="structhost__caps.html#a45927d1243a746e6035217cc51b6d7dc">host_caps::adma2_support</a></div><div class="ttdeci">uint8_t adma2_support</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:61</div></div>
<div class="ttc" id="astructhost__caps_html_a494540492933d33589e89f98a15afb58"><div class="ttname"><a href="structhost__caps.html#a494540492933d33589e89f98a15afb58">host_caps::spec_version</a></div><div class="ttdeci">uint8_t spec_version</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:60</div></div>
<div class="ttc" id="astructhost__caps_html_a4c42537b9846343a3fa9343d4d8dd14e"><div class="ttname"><a href="structhost__caps.html#a4c42537b9846343a3fa9343d4d8dd14e">host_caps::sdr104_support</a></div><div class="ttdeci">uint8_t sdr104_support</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:68</div></div>
<div class="ttc" id="astructhost__caps_html_a681f9b630696b4e2e70c21c814e9ba61"><div class="ttname"><a href="structhost__caps.html#a681f9b630696b4e2e70c21c814e9ba61">host_caps::bus_width_8bit</a></div><div class="ttdeci">uint8_t bus_width_8bit</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:59</div></div>
<div class="ttc" id="astructhost__caps_html_a6d758a56fad767693a4995cbb2b7b36d"><div class="ttname"><a href="structhost__caps.html#a6d758a56fad767693a4995cbb2b7b36d">host_caps::hs200_support</a></div><div class="ttdeci">uint8_t hs200_support</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:69</div></div>
<div class="ttc" id="astructhost__caps_html_a802fdc14b8dabf84a890df9b560f0409"><div class="ttname"><a href="structhost__caps.html#a802fdc14b8dabf84a890df9b560f0409">host_caps::voltage</a></div><div class="ttdeci">uint8_t voltage</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:64</div></div>
<div class="ttc" id="astructhost__caps_html_a868259d093d46070a1e6c742cdf0c1b5"><div class="ttname"><a href="structhost__caps.html#a868259d093d46070a1e6c742cdf0c1b5">host_caps::addr_64bit_v3</a></div><div class="ttdeci">uint8_t addr_64bit_v3</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:62</div></div>
<div class="ttc" id="astructhost__caps_html_a9f329ecfb3b689f44a9fbbfff6d57aba"><div class="ttname"><a href="structhost__caps.html#a9f329ecfb3b689f44a9fbbfff6d57aba">host_caps::max_blk_len</a></div><div class="ttdeci">uint32_t max_blk_len</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:58</div></div>
<div class="ttc" id="astructhost__caps_html_aaa104adc28f326bff2dd9299cf7147e9"><div class="ttname"><a href="structhost__caps.html#aaa104adc28f326bff2dd9299cf7147e9">host_caps::sdr_support</a></div><div class="ttdeci">uint8_t sdr_support</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:65</div></div>
<div class="ttc" id="astructhost__caps_html_aaab15b44be013e897ce59f476d251bba"><div class="ttname"><a href="structhost__caps.html#aaab15b44be013e897ce59f476d251bba">host_caps::base_clk_rate</a></div><div class="ttdeci">uint32_t base_clk_rate</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:57</div></div>
<div class="ttc" id="astructhost__caps_html_acec97c333e5094545bca1aeba82c62ef"><div class="ttname"><a href="structhost__caps.html#acec97c333e5094545bca1aeba82c62ef">host_caps::hs400_support</a></div><div class="ttdeci">uint8_t hs400_support</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:70</div></div>
<div class="ttc" id="astructhost__caps_html_ae6e972d74d4eab38c5052eb3e0d6e6da"><div class="ttname"><a href="structhost__caps.html#ae6e972d74d4eab38c5052eb3e0d6e6da">host_caps::ddr_support</a></div><div class="ttdeci">uint8_t ddr_support</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:66</div></div>
<div class="ttc" id="astructhost__caps_html_af3fc645428d2d442ddc4a8546910df81"><div class="ttname"><a href="structhost__caps.html#af3fc645428d2d442ddc4a8546910df81">host_caps::uhs_support</a></div><div class="ttdeci">uint8_t uhs_support</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:72</div></div>
<div class="ttc" id="astructmmc__command_html"><div class="ttname"><a href="structmmc__command.html">mmc_command</a></div><div class="ttdoc">mmc command structure as per the spec</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:84</div></div>
<div class="ttc" id="astructmmc__command_html_a0bc2c3f6977e07f9146d488018f902b3"><div class="ttname"><a href="structmmc__command.html#a0bc2c3f6977e07f9146d488018f902b3">mmc_command::resp</a></div><div class="ttdeci">uint32_t resp[4]</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:90</div></div>
<div class="ttc" id="astructmmc__command_html_a44452bd389a8df25ef50d5b1c5dff305"><div class="ttname"><a href="structmmc__command.html#a44452bd389a8df25ef50d5b1c5dff305">mmc_command::cmd_timeout</a></div><div class="ttdeci">uint64_t cmd_timeout</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:94</div></div>
<div class="ttc" id="astructmmc__command_html_a4a706d3e37ee62cc0d7dbfdf3c4706a4"><div class="ttname"><a href="structmmc__command.html#a4a706d3e37ee62cc0d7dbfdf3c4706a4">mmc_command::resp_type</a></div><div class="ttdeci">uint16_t resp_type</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:89</div></div>
<div class="ttc" id="astructmmc__command_html_a4dc1a4b8ee198043a5cecc0aac569587"><div class="ttname"><a href="structmmc__command.html#a4dc1a4b8ee198043a5cecc0aac569587">mmc_command::argument</a></div><div class="ttdeci">uint32_t argument</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:86</div></div>
<div class="ttc" id="astructmmc__command_html_a64247a20015aac6b9d16af3d71b6c5af"><div class="ttname"><a href="structmmc__command.html#a64247a20015aac6b9d16af3d71b6c5af">mmc_command::cmd_type</a></div><div class="ttdeci">uint8_t cmd_type</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:88</div></div>
<div class="ttc" id="astructmmc__command_html_a822de8d02350b86bc83a445cacd0c5e5"><div class="ttname"><a href="structmmc__command.html#a822de8d02350b86bc83a445cacd0c5e5">mmc_command::data_present</a></div><div class="ttdeci">uint8_t data_present</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:87</div></div>
<div class="ttc" id="astructmmc__command_html_a9459ec8221b74b5109792dfe93acb720"><div class="ttname"><a href="structmmc__command.html#a9459ec8221b74b5109792dfe93acb720">mmc_command::data</a></div><div class="ttdeci">struct mmc_data data</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:98</div></div>
<div class="ttc" id="astructmmc__command_html_a950a11f055bc98ff0ec64531ddedf003"><div class="ttname"><a href="structmmc__command.html#a950a11f055bc98ff0ec64531ddedf003">mmc_command::cmd_retry</a></div><div class="ttdeci">uint32_t cmd_retry</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:92</div></div>
<div class="ttc" id="astructmmc__command_html_a99592fe04ede9a6d96f47e16472b9d4d"><div class="ttname"><a href="structmmc__command.html#a99592fe04ede9a6d96f47e16472b9d4d">mmc_command::write_flag</a></div><div class="ttdeci">bool write_flag</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:95</div></div>
<div class="ttc" id="astructmmc__command_html_aa2bfdb518452e86302c12cfb7fe76e32"><div class="ttname"><a href="structmmc__command.html#aa2bfdb518452e86302c12cfb7fe76e32">mmc_command::cmd23_support</a></div><div class="ttdeci">uint32_t cmd23_support</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:93</div></div>
<div class="ttc" id="astructmmc__command_html_aa8d183302fdfa4a6892f1d80300cdb32"><div class="ttname"><a href="structmmc__command.html#aa8d183302fdfa4a6892f1d80300cdb32">mmc_command::error</a></div><div class="ttdeci">uint32_t error</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:96</div></div>
<div class="ttc" id="astructmmc__command_html_ad9982f3a23bc0429bf581af4f79a4bde"><div class="ttname"><a href="structmmc__command.html#ad9982f3a23bc0429bf581af4f79a4bde">mmc_command::trans_mode</a></div><div class="ttdeci">uint32_t trans_mode</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:91</div></div>
<div class="ttc" id="astructmmc__command_html_ae9deb10cdd143a2176b89113debcbd87"><div class="ttname"><a href="structmmc__command.html#ae9deb10cdd143a2176b89113debcbd87">mmc_command::cmd_index</a></div><div class="ttdeci">uint16_t cmd_index</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:85</div></div>
<div class="ttc" id="astructmmc__command_html_afae57bc4eae51730b7c5cc1ac29ea99a"><div class="ttname"><a href="structmmc__command.html#afae57bc4eae51730b7c5cc1ac29ea99a">mmc_command::retries</a></div><div class="ttdeci">uint32_t retries</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:97</div></div>
<div class="ttc" id="astructmmc__data_html"><div class="ttname"><a href="structmmc__data.html">mmc_data</a></div><div class="ttdoc">Data pointer to be read/written.</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:76</div></div>
<div class="ttc" id="astructmmc__data_html_a4d251522dd4c06dbe05aa093f3bf7b06"><div class="ttname"><a href="structmmc__data.html#a4d251522dd4c06dbe05aa093f3bf7b06">mmc_data::blk_sz</a></div><div class="ttdeci">uint32_t blk_sz</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:79</div></div>
<div class="ttc" id="astructmmc__data_html_a4f3082976948d4834b6928985faca106"><div class="ttname"><a href="structmmc__data.html#a4f3082976948d4834b6928985faca106">mmc_data::num_blocks</a></div><div class="ttdeci">uint32_t num_blocks</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:81</div></div>
<div class="ttc" id="astructmmc__data_html_a5f436ead1962ec24075f7884227b8572"><div class="ttname"><a href="structmmc__data.html#a5f436ead1962ec24075f7884227b8572">mmc_data::sg_list</a></div><div class="ttdeci">struct desc_entry * sg_list</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:78</div></div>
<div class="ttc" id="astructmmc__data_html_abd166fdd046bf6ad359ddbd822a90911"><div class="ttname"><a href="structmmc__data.html#abd166fdd046bf6ad359ddbd822a90911">mmc_data::data_ptr</a></div><div class="ttdeci">void * data_ptr</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:77</div></div>
<div class="ttc" id="astructsdhci__host_html"><div class="ttname"><a href="structsdhci__host.html">sdhci_host</a></div><div class="ttdoc">sdhci host structure, holding information about host controller parameters</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:103</div></div>
<div class="ttc" id="astructsdhci__host_html_a0ee1950ffba0584ef2ff38b68320a3a7"><div class="ttname"><a href="structsdhci__host.html#a0ee1950ffba0584ef2ff38b68320a3a7">sdhci_host::tuning_in_progress</a></div><div class="ttdeci">uint8_t tuning_in_progress</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:126</div></div>
<div class="ttc" id="astructsdhci__host_html_a17fdd15a71ced1e05faf127882011db3"><div class="ttname"><a href="structsdhci__host.html#a17fdd15a71ced1e05faf127882011db3">sdhci_host::irq</a></div><div class="ttdeci">uint32_t irq</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:106</div></div>
<div class="ttc" id="astructsdhci__host_html_a21344812dcaa40c24fcd631b7b8915ea"><div class="ttname"><a href="structsdhci__host.html#a21344812dcaa40c24fcd631b7b8915ea">sdhci_host::card_type</a></div><div class="ttdeci">uint32_t card_type</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:124</div></div>
<div class="ttc" id="astructsdhci__host_html_a236c6d53bf67db0a4799b677f67695e9"><div class="ttname"><a href="structsdhci__host.html#a236c6d53bf67db0a4799b677f67695e9">sdhci_host::data_sema</a></div><div class="ttdeci">SemaphoreHandle_t data_sema</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:113</div></div>
<div class="ttc" id="astructsdhci__host_html_a33e7865dc6cf5cbd56a8f1a654e306a5"><div class="ttname"><a href="structsdhci__host.html#a33e7865dc6cf5cbd56a8f1a654e306a5">sdhci_host::priv_data</a></div><div class="ttdeci">void * priv_data</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:131</div></div>
<div class="ttc" id="astructsdhci__host_html_a37fc2e40d93cd7168b84a8ccc7ba267f"><div class="ttname"><a href="structsdhci__host.html#a37fc2e40d93cd7168b84a8ccc7ba267f">sdhci_host::ops</a></div><div class="ttdeci">struct sdhci_ops * ops</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:133</div></div>
<div class="ttc" id="astructsdhci__host_html_a5f450b216725a37cbc0acd54340144d9"><div class="ttname"><a href="structsdhci__host.html#a5f450b216725a37cbc0acd54340144d9">sdhci_host::parent</a></div><div class="ttdeci">void * parent</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:132</div></div>
<div class="ttc" id="astructsdhci__host_html_a62e2ae76ea2a8214b3043e80d6f055f5"><div class="ttname"><a href="structsdhci__host.html#a62e2ae76ea2a8214b3043e80d6f055f5">sdhci_host::data_timer</a></div><div class="ttdeci">TimerHandle_t data_timer</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:116</div></div>
<div class="ttc" id="astructsdhci__host_html_a6823bdb25474954dece1008e962b5c1c"><div class="ttname"><a href="structsdhci__host.html#a6823bdb25474954dece1008e962b5c1c">sdhci_host::data_complete_sema</a></div><div class="ttdeci">SemaphoreHandle_t data_complete_sema</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:114</div></div>
<div class="ttc" id="astructsdhci__host_html_a6d18b01acc80b7b8bd160081682728fd"><div class="ttname"><a href="structsdhci__host.html#a6d18b01acc80b7b8bd160081682728fd">sdhci_host::data_end_trans_count</a></div><div class="ttdeci">uint32_t data_end_trans_count</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:117</div></div>
<div class="ttc" id="astructsdhci__host_html_a70c6bcf79c44aee3f3591baff44c4e28"><div class="ttname"><a href="structsdhci__host.html#a70c6bcf79c44aee3f3591baff44c4e28">sdhci_host::cmd</a></div><div class="ttdeci">struct mmc_command * cmd</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:128</div></div>
<div class="ttc" id="astructsdhci__host_html_a83b9da38c352d4e37b8c529b7437f9fc"><div class="ttname"><a href="structsdhci__host.html#a83b9da38c352d4e37b8c529b7437f9fc">sdhci_host::async_mode</a></div><div class="ttdeci">uint32_t async_mode</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:110</div></div>
<div class="ttc" id="astructsdhci__host_html_a87de359dfd3509554662accb6e6586a7"><div class="ttname"><a href="structsdhci__host.html#a87de359dfd3509554662accb6e6586a7">sdhci_host::cur_clk_rate</a></div><div class="ttdeci">uint32_t cur_clk_rate</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:121</div></div>
<div class="ttc" id="astructsdhci__host_html_a8d55722fbd757c654cc61f063ccfe5eb"><div class="ttname"><a href="structsdhci__host.html#a8d55722fbd757c654cc61f063ccfe5eb">sdhci_host::data_cmd</a></div><div class="ttdeci">struct mmc_command data_cmd</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:129</div></div>
<div class="ttc" id="astructsdhci__host_html_a8da4ee0fe1f6d2dcab3b7562d79c10a1"><div class="ttname"><a href="structsdhci__host.html#a8da4ee0fe1f6d2dcab3b7562d79c10a1">sdhci_host::slot</a></div><div class="ttdeci">uint32_t slot</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:104</div></div>
<div class="ttc" id="astructsdhci__host_html_a9a629e672b8983fd640b195f94321fd0"><div class="ttname"><a href="structsdhci__host.html#a9a629e672b8983fd640b195f94321fd0">sdhci_host::base</a></div><div class="ttdeci">addr_t base</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:105</div></div>
<div class="ttc" id="astructsdhci__host_html_a9ec69fc28f1a2f9fd37ab70e8a115fa5"><div class="ttname"><a href="structsdhci__host.html#a9ec69fc28f1a2f9fd37ab70e8a115fa5">sdhci_host::sw_tuning_in_progress</a></div><div class="ttdeci">uint8_t sw_tuning_in_progress</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:127</div></div>
<div class="ttc" id="astructsdhci__host_html_aa0b03f3661ab60590badb6b209f79d78"><div class="ttname"><a href="structsdhci__host.html#aa0b03f3661ab60590badb6b209f79d78">sdhci_host::caps</a></div><div class="ttdeci">struct host_caps caps</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:130</div></div>
<div class="ttc" id="astructsdhci__host_html_aad0998fa81ef755777c0ae215028726c"><div class="ttname"><a href="structsdhci__host.html#aad0998fa81ef755777c0ae215028726c">sdhci_host::cmd_sema</a></div><div class="ttdeci">SemaphoreHandle_t cmd_sema</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:112</div></div>
<div class="ttc" id="astructsdhci__host_html_ab959e3815107a3c2b7fc5f0413de881b"><div class="ttname"><a href="structsdhci__host.html#ab959e3815107a3c2b7fc5f0413de881b">sdhci_host::timing</a></div><div class="ttdeci">uint32_t timing</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:123</div></div>
<div class="ttc" id="astructsdhci__host_html_abf215719fd938639d82a25b99de0a095"><div class="ttname"><a href="structsdhci__host.html#abf215719fd938639d82a25b99de0a095">sdhci_host::timer_sema</a></div><div class="ttdeci">SemaphoreHandle_t timer_sema</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:115</div></div>
<div class="ttc" id="astructsdhci__host_html_acd3969fc3e7c60ef9290cfa9b2e1f74f"><div class="ttname"><a href="structsdhci__host.html#acd3969fc3e7c60ef9290cfa9b2e1f74f">sdhci_host::max_clk_rate</a></div><div class="ttdeci">uint32_t max_clk_rate</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:122</div></div>
<div class="ttc" id="astructsdhci__host_html_af5aa651f3beb738d223d6312236bf46f"><div class="ttname"><a href="structsdhci__host.html#af5aa651f3beb738d223d6312236bf46f">sdhci_host::bus_width</a></div><div class="ttdeci">uint32_t bus_width</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:125</div></div>
<div class="ttc" id="astructsdhci__ops_html"><div class="ttname"><a href="structsdhci__ops.html">sdhci_ops</a></div><div class="ttdoc">sdhci platform ops, hw Specific interface controller parameters</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:138</div></div>
<div class="ttc" id="astructsdhci__ops_html_a08d17c5d58952459e2e00c697630e1d1"><div class="ttname"><a href="structsdhci__ops.html#a08d17c5d58952459e2e00c697630e1d1">sdhci_ops::config_pin</a></div><div class="ttdeci">void(* config_pin)(struct sdhci_host *host)</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:143</div></div>
<div class="ttc" id="astructsdhci__ops_html_a0b4d83c184537790073d4935037a5be8"><div class="ttname"><a href="structsdhci__ops.html#a0b4d83c184537790073d4935037a5be8">sdhci_ops::set_clock</a></div><div class="ttdeci">status_t(* set_clock)(struct sdhci_host *host, unsigned int clock)</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:141</div></div>
<div class="ttc" id="astructsdhci__ops_html_a16cbe1ba819b3a7092963d5cf7187d8f"><div class="ttname"><a href="structsdhci__ops.html#a16cbe1ba819b3a7092963d5cf7187d8f">sdhci_ops::platform_execute_tuning</a></div><div class="ttdeci">status_t(* platform_execute_tuning)(struct sdhci_host *host, uint32_t opcode, uint32_t bus_width)</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:146</div></div>
<div class="ttc" id="astructsdhci__ops_html_a2a131745ecddae53576e9811f36829d6"><div class="ttname"><a href="structsdhci__ops.html#a2a131745ecddae53576e9811f36829d6">sdhci_ops::set_uhs_mode</a></div><div class="ttdeci">void(* set_uhs_mode)(struct sdhci_host *host, uint32_t mode)</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:144</div></div>
<div class="ttc" id="astructsdhci__ops_html_a703683a7b2306bd17ef9819fa203dfe6"><div class="ttname"><a href="structsdhci__ops.html#a703683a7b2306bd17ef9819fa203dfe6">sdhci_ops::hw_reset</a></div><div class="ttdeci">void(* hw_reset)(struct sdhci_host *host)</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:140</div></div>
<div class="ttc" id="astructsdhci__ops_html_a84a3ac0d366e4c4e828544551ae683fb"><div class="ttname"><a href="structsdhci__ops.html#a84a3ac0d366e4c4e828544551ae683fb">sdhci_ops::set_power</a></div><div class="ttdeci">void(* set_power)(struct sdhci_host *host)</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:142</div></div>
<div class="ttc" id="astructsdhci__ops_html_ad5847eb2e2143af8f35d3bea21b23e54"><div class="ttname"><a href="structsdhci__ops.html#ad5847eb2e2143af8f35d3bea21b23e54">sdhci_ops::mmc_ending_trans</a></div><div class="ttdeci">bool(* mmc_ending_trans)(struct sdhci_host *host)</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:145</div></div>
<div class="ttc" id="astructsdhci__ops_html_aea5497eb686bfb0f879068e61cc30e63"><div class="ttname"><a href="structsdhci__ops.html#aea5497eb686bfb0f879068e61cc30e63">sdhci_ops::priv_init</a></div><div class="ttdeci">void(* priv_init)(struct sdhci_host *host)</div><div class="ttdef"><b>Definition:</b> sdrv_sdhci.h:139</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>