]> begriffs open source - cmsis/blob - main/Driver/html/group__usbh__hci__gr.html
Update documentation for branch main
[cmsis] / main / Driver / html / group__usbh__hci__gr.html
1 <!-- HTML header for doxygen 1.9.6-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
4 <head>
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>CMSIS-Driver: USB OHCI/EHCI</title>
9 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
10 <link href="tabs.css" rel="stylesheet" type="text/css"/>
11 <link href="extra_navtree.css" rel="stylesheet" type="text/css"/>
12 <link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
13 <link href="extra_search.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="jquery.js"></script>
15 <script type="text/javascript" src="dynsections.js"></script>
16 <script type="text/javascript" src="printComponentTabs.js"></script>
17 <script type="text/javascript" src="footer.js"></script>
18 <script type="text/javascript" src="navtree.js"></script>
19 <link href="navtree.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="resize.js"></script>
21 <script type="text/javascript" src="navtreedata.js"></script>
22 <script type="text/javascript" src="navtree.js"></script>
23 <link href="search/search.css" rel="stylesheet" type="text/css"/>
24 <script type="text/javascript" src="search/searchdata.js"></script>
25 <script type="text/javascript" src="search/search.js"></script>
26 <script type="text/javascript">
27 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
28   $(document).ready(function() { init_search(); });
29 /* @license-end */
30 </script>
31 <script type="text/javascript" src="darkmode_toggle.js"></script>
32 <link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
33 <link href="extra_navtree.css" rel="stylesheet" type="text/css"/>
34 <link href="extra_search.css" rel="stylesheet" type="text/css"/>
35 <link href="version.css" rel="stylesheet" type="text/css" />
36 <script type="text/javascript" src="../../../version.js"></script>
37 </head>
38 <body>
39 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
40 <div id="titlearea">
41 <table cellspacing="0" cellpadding="0">
42  <tbody>
43  <tr style="height: 55px;">
44   <td id="projectlogo" style="padding: 1.5em;"><img alt="Logo" src="cmsis_logo_white_small.png"/></td>
45   <td style="padding-left: 1em; padding-bottom: 1em;padding-top: 1em;">
46    <div id="projectname">CMSIS-Driver
47    &#160;<span id="projectnumber"><script type="text/javascript">
48      <!--
49      writeHeader.call(this);
50      writeVersionDropdown.call(this);
51      //-->
52     </script>
53    </span>
54    </div>
55    <div id="projectbrief">Peripheral Interface for Middleware and Application Code</div>
56   </td>
57    <td>        <div id="MSearchBox" class="MSearchBoxInactive">
58         <span class="left">
59           <span id="MSearchSelect"                onmouseover="return searchBox.OnSearchSelectShow()"                onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
60           <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
61                onfocus="searchBox.OnSearchFieldFocus(true)" 
62                onblur="searchBox.OnSearchFieldFocus(false)" 
63                onkeyup="searchBox.OnSearchFieldChange(event)"/>
64           </span><span class="right">
65             <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
66           </span>
67         </div>
68 </td>
69   <!--END !PROJECT_NAME-->
70  </tr>
71  </tbody>
72 </table>
73 </div>
74 <!-- end header part -->
75 <div id="CMSISnav" class="tabs1">
76   <ul class="tablist">
77     <script type="text/javascript">
78       writeComponentTabs.call(this);
79     </script>
80   </ul>
81 </div>
82 <script type="text/javascript">
83   writeSubComponentTabs.call(this);
84 </script>
85 <!-- Generated by Doxygen 1.9.6 -->
86 <script type="text/javascript">
87 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
88 var searchBox = new SearchBox("searchBox", "search/",'.html');
89 /* @license-end */
90 </script>
91 </div><!-- top -->
92 <div id="side-nav" class="ui-resizable side-nav-resizable">
93   <div id="nav-tree">
94     <div id="nav-tree-contents">
95       <div id="nav-sync" class="sync"></div>
96     </div>
97   </div>
98   <div id="splitbar" style="-moz-user-select:none;" 
99        class="ui-resizable-handle">
100   </div>
101 </div>
102 <script type="text/javascript">
103 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
104 $(document).ready(function(){initNavTree('group__usbh__hci__gr.html',''); initResizable(); });
105 /* @license-end */
106 </script>
107 <div id="doc-content">
108 <!-- window showing the filter options -->
109 <div id="MSearchSelectWindow"
110      onmouseover="return searchBox.OnSearchSelectShow()"
111      onmouseout="return searchBox.OnSearchSelectHide()"
112      onkeydown="return searchBox.OnSearchSelectKey(event)">
113 </div>
114
115 <!-- iframe showing the search results (closed by default) -->
116 <div id="MSearchResultsWindow">
117 <div id="MSearchResults">
118 <div class="SRPage">
119 <div id="SRIndex">
120 <div id="SRResults"></div>
121 <div class="SRStatus" id="Loading">Loading...</div>
122 <div class="SRStatus" id="Searching">Searching...</div>
123 <div class="SRStatus" id="NoMatches">No Matches</div>
124 </div>
125 </div>
126 </div>
127 </div>
128
129 <div class="header">
130   <div class="summary">
131 <a href="#nested-classes">Data Structures</a> &#124;
132 <a href="#typedef-members">Typedefs</a> &#124;
133 <a href="#func-members">Functions</a>  </div>
134   <div class="headertitle"><div class="title">USB OHCI/EHCI<div class="ingroups"><a class="el" href="group__usb__interface__gr.html">USB Interface</a> &raquo; <a class="el" href="group__usbh__interface__gr.html">USB Host Interface</a></div></div></div>
135 </div><!--header-->
136 <div class="contents">
137
138 <p>Driver API for USB OHCI/EHCI.  
139 <a href="#details">More...</a></p>
140 <table class="memberdecls">
141 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
142 Data Structures</h2></td></tr>
143 <tr class="memitem:structARM__DRIVER__USBH__HCI"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#structARM__DRIVER__USBH__HCI">ARM_DRIVER_USBH_HCI</a></td></tr>
144 <tr class="memdesc:structARM__DRIVER__USBH__HCI"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access structure of USB Host HCI (OHCI/EHCI) Driver.  <a href="group__usbh__hci__gr.html#structARM__DRIVER__USBH__HCI">More...</a><br /></td></tr>
145 <tr class="separator:structARM__DRIVER__USBH__HCI"><td class="memSeparator" colspan="2">&#160;</td></tr>
146 <tr class="memitem:structARM__USBH__HCI__CAPABILITIES"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#structARM__USBH__HCI__CAPABILITIES">ARM_USBH_HCI_CAPABILITIES</a></td></tr>
147 <tr class="memdesc:structARM__USBH__HCI__CAPABILITIES"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Host HCI (OHCI/EHCI) Driver Capabilities.  <a href="group__usbh__hci__gr.html#structARM__USBH__HCI__CAPABILITIES">More...</a><br /></td></tr>
148 <tr class="separator:structARM__USBH__HCI__CAPABILITIES"><td class="memSeparator" colspan="2">&#160;</td></tr>
149 </table><table class="memberdecls">
150 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
151 Typedefs</h2></td></tr>
152 <tr class="memitem:gac60df9d1f2b3a769f2c30141800a9806"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#gac60df9d1f2b3a769f2c30141800a9806">ARM_USBH_HCI_Interrupt_t</a>) (void)</td></tr>
153 <tr class="memdesc:gac60df9d1f2b3a769f2c30141800a9806"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to Interrupt Handler Routine.  <br /></td></tr>
154 <tr class="separator:gac60df9d1f2b3a769f2c30141800a9806"><td class="memSeparator" colspan="2">&#160;</td></tr>
155 </table><table class="memberdecls">
156 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
157 Functions</h2></td></tr>
158 <tr class="memitem:ga10109d0c2a9a128225b5e893d3f72d08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#ga10109d0c2a9a128225b5e893d3f72d08">ARM_USBH_HCI_GetVersion</a> (void)</td></tr>
159 <tr class="memdesc:ga10109d0c2a9a128225b5e893d3f72d08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get USB Host HCI (OHCI/EHCI) driver version.  <br /></td></tr>
160 <tr class="separator:ga10109d0c2a9a128225b5e893d3f72d08"><td class="memSeparator" colspan="2">&#160;</td></tr>
161 <tr class="memitem:gae607c49ca97202500631473a901e8c2b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__usbh__hci__gr.html#structARM__USBH__HCI__CAPABILITIES">ARM_USBH_HCI_CAPABILITIES</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#gae607c49ca97202500631473a901e8c2b">ARM_USBH_HCI_GetCapabilities</a> (void)</td></tr>
162 <tr class="memdesc:gae607c49ca97202500631473a901e8c2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get driver capabilities.  <br /></td></tr>
163 <tr class="separator:gae607c49ca97202500631473a901e8c2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
164 <tr class="memitem:gabc1392a544cb64491b5ea5ce6590d832"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#gabc1392a544cb64491b5ea5ce6590d832">ARM_USBH_HCI_Initialize</a> (<a class="el" href="group__usbh__hci__gr.html#gac60df9d1f2b3a769f2c30141800a9806">ARM_USBH_HCI_Interrupt_t</a> *cb_interrupt)</td></tr>
165 <tr class="memdesc:gabc1392a544cb64491b5ea5ce6590d832"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize USB Host HCI (OHCI/EHCI) Interface.  <br /></td></tr>
166 <tr class="separator:gabc1392a544cb64491b5ea5ce6590d832"><td class="memSeparator" colspan="2">&#160;</td></tr>
167 <tr class="memitem:gaacb68fdf201cdb1846b31642a760f041"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#gaacb68fdf201cdb1846b31642a760f041">ARM_USBH_HCI_Uninitialize</a> (void)</td></tr>
168 <tr class="memdesc:gaacb68fdf201cdb1846b31642a760f041"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initialize USB Host HCI (OHCI/EHCI) Interface.  <br /></td></tr>
169 <tr class="separator:gaacb68fdf201cdb1846b31642a760f041"><td class="memSeparator" colspan="2">&#160;</td></tr>
170 <tr class="memitem:ga27fa5ec8854cd9877bbef4abffe9a12b"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#ga27fa5ec8854cd9877bbef4abffe9a12b">ARM_USBH_HCI_PowerControl</a> (<a class="el" href="group__common__drv__gr.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5">ARM_POWER_STATE</a> state)</td></tr>
171 <tr class="memdesc:ga27fa5ec8854cd9877bbef4abffe9a12b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Control USB Host HCI (OHCI/EHCI) Interface Power.  <br /></td></tr>
172 <tr class="separator:ga27fa5ec8854cd9877bbef4abffe9a12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
173 <tr class="memitem:gade1e83403c6ea965fe3e6c4c21fbbded"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#gade1e83403c6ea965fe3e6c4c21fbbded">ARM_USBH_HCI_PortVbusOnOff</a> (uint8_t port, bool vbus)</td></tr>
174 <tr class="memdesc:gade1e83403c6ea965fe3e6c4c21fbbded"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Host HCI (OHCI/EHCI) Root HUB Port VBUS on/off.  <br /></td></tr>
175 <tr class="separator:gade1e83403c6ea965fe3e6c4c21fbbded"><td class="memSeparator" colspan="2">&#160;</td></tr>
176 <tr class="memitem:ga79d3c2509ed869c8d7d1485acad7b6c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#ga79d3c2509ed869c8d7d1485acad7b6c6">ARM_USBH_HCI_Interrupt</a> (void)</td></tr>
177 <tr class="memdesc:ga79d3c2509ed869c8d7d1485acad7b6c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Host HCI Interrupt Handler.  <br /></td></tr>
178 <tr class="separator:ga79d3c2509ed869c8d7d1485acad7b6c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
179 </table>
180 <a name="details" id="details"></a><h2 class="groupheader">Description</h2>
181 <p>Driver API for USB OHCI/EHCI. </p>
182 <p>OHCI and EHCI compliant interfaces have memory mapped registers that are used to control the USB host.</p>
183 <p>Only certain functionalities (interrupts, VBUS control, power control) require device specific interface which is provided through functions of the struct <a class="el" href="group__usbh__hci__gr.html#structARM__DRIVER__USBH__HCI">ARM_DRIVER_USBH_HCI</a> (functionality accessed with the struct <a class="el" href="group__usbh__host__gr.html#structARM__DRIVER__USBH">ARM_DRIVER_USBH</a> is not needed). </p>
184 <hr/><h2 class="groupheader">Data Structure Documentation</h2>
185 <a name="structARM__DRIVER__USBH__HCI" id="structARM__DRIVER__USBH__HCI"></a>
186 <h2 class="memtitle"><span class="permalink"><a href="#structARM__DRIVER__USBH__HCI">&#9670;&#160;</a></span>ARM_DRIVER_USBH_HCI</h2>
187
188 <div class="memitem">
189 <div class="memproto">
190       <table class="memname">
191         <tr>
192           <td class="memname">struct ARM_DRIVER_USBH_HCI</td>
193         </tr>
194       </table>
195 </div><div class="memdoc">
196 <div class="textblock"><p>Access structure of USB Host HCI (OHCI/EHCI) Driver. </p>
197 <p>The functions of the USB Host HCI (OHCI/EHCI) driver are accessed by function pointers. Refer to <a class="el" href="theoryOperation.html#DriverFunctions">Common Driver Functions</a> for overview information.</p>
198 <p>Each instance of an USBH provides such an access struct. The instance is indicated by a postfix in the symbol name of the access struct, for example:</p><ul>
199 <li><b>Driver_USBH0_HCI</b> is the name of the access struct of the first instance (no. 0).</li>
200 <li><b>Driver_USBH1_HCI</b> is the name of the access struct of the second instance (no. 1).</li>
201 </ul>
202 <p>A configuration setting in the middleware allows connecting the middleware to a specific driver instance <b>Driver_USBH<em>n</em>_HCI</b>. The default is <span class="XML-Token">0</span>, which connects a middleware to the first instance of a driver.</p>
203 <dl class="section note"><dt>Note</dt><dd>The struct must remain unchanged. </dd></dl>
204 </div><table class="memberdecls">
205 <tr><td colspan="2"><h3>Data Fields</h3></td></tr>
206 <tr class="memitem:a30afd9cb3113c037b5f1926f5ef93b59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#a30afd9cb3113c037b5f1926f5ef93b59">GetVersion</a> )(void)</td></tr>
207 <tr class="memdesc:a30afd9cb3113c037b5f1926f5ef93b59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__usbh__hci__gr.html#ga10109d0c2a9a128225b5e893d3f72d08">ARM_USBH_HCI_GetVersion</a> : Get USB Host HCI (OHCI/EHCI) driver version.  <br /></td></tr>
208 <tr class="separator:a30afd9cb3113c037b5f1926f5ef93b59"><td class="memSeparator" colspan="2">&#160;</td></tr>
209 <tr class="memitem:aa54b667c830cc3ef9e710382a65e0baa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__usbh__hci__gr.html#structARM__USBH__HCI__CAPABILITIES">ARM_USBH_HCI_CAPABILITIES</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#aa54b667c830cc3ef9e710382a65e0baa">GetCapabilities</a> )(void)</td></tr>
210 <tr class="memdesc:aa54b667c830cc3ef9e710382a65e0baa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__usbh__hci__gr.html#gae607c49ca97202500631473a901e8c2b">ARM_USBH_HCI_GetCapabilities</a> : Get driver capabilities.  <br /></td></tr>
211 <tr class="separator:aa54b667c830cc3ef9e710382a65e0baa"><td class="memSeparator" colspan="2">&#160;</td></tr>
212 <tr class="memitem:ade38d7e63bf159f928b6f68be9cc09dd"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#ade38d7e63bf159f928b6f68be9cc09dd">Initialize</a> )(<a class="el" href="group__usbh__hci__gr.html#gac60df9d1f2b3a769f2c30141800a9806">ARM_USBH_HCI_Interrupt_t</a> cb_interrupt)</td></tr>
213 <tr class="memdesc:ade38d7e63bf159f928b6f68be9cc09dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__usbh__hci__gr.html#gabc1392a544cb64491b5ea5ce6590d832">ARM_USBH_HCI_Initialize</a> : Initialize USB Host HCI (OHCI/EHCI) Interface.  <br /></td></tr>
214 <tr class="separator:ade38d7e63bf159f928b6f68be9cc09dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
215 <tr class="memitem:a5ce2b3d7a3a07099bf07d1eb253e92e3"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#a5ce2b3d7a3a07099bf07d1eb253e92e3">Uninitialize</a> )(void)</td></tr>
216 <tr class="memdesc:a5ce2b3d7a3a07099bf07d1eb253e92e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__usbh__hci__gr.html#gaacb68fdf201cdb1846b31642a760f041">ARM_USBH_HCI_Uninitialize</a> : De-initialize USB Host HCI (OHCI/EHCI) Interface.  <br /></td></tr>
217 <tr class="separator:a5ce2b3d7a3a07099bf07d1eb253e92e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
218 <tr class="memitem:a24ebae5c6011631f76027f9a16eaf5ce"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#a24ebae5c6011631f76027f9a16eaf5ce">PowerControl</a> )(<a class="el" href="group__common__drv__gr.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5">ARM_POWER_STATE</a> state)</td></tr>
219 <tr class="memdesc:a24ebae5c6011631f76027f9a16eaf5ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__usbh__hci__gr.html#ga27fa5ec8854cd9877bbef4abffe9a12b">ARM_USBH_HCI_PowerControl</a> : Control USB Host HCI (OHCI/EHCI) Interface Power.  <br /></td></tr>
220 <tr class="separator:a24ebae5c6011631f76027f9a16eaf5ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
221 <tr class="memitem:af876f976d36d73d4b76063a4ed217ee8"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbh__hci__gr.html#af876f976d36d73d4b76063a4ed217ee8">PortVbusOnOff</a> )(uint8_t port, bool vbus)</td></tr>
222 <tr class="memdesc:af876f976d36d73d4b76063a4ed217ee8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__usbh__hci__gr.html#gade1e83403c6ea965fe3e6c4c21fbbded">ARM_USBH_HCI_PortVbusOnOff</a> : USB Host HCI (OHCI/EHCI) Root HUB Port VBUS on/off.  <br /></td></tr>
223 <tr class="separator:af876f976d36d73d4b76063a4ed217ee8"><td class="memSeparator" colspan="2">&#160;</td></tr>
224 </table>
225 <h4 class="groupheader">Field Documentation</h4>
226 <a id="a30afd9cb3113c037b5f1926f5ef93b59" name="a30afd9cb3113c037b5f1926f5ef93b59"></a>
227 <h2 class="memtitle"><span class="permalink"><a href="#a30afd9cb3113c037b5f1926f5ef93b59">&#9670;&#160;</a></span>GetVersion</h2>
228
229 <div class="memitem">
230 <div class="memproto">
231       <table class="memname">
232         <tr>
233           <td class="memname"><a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a>(* GetVersion) (void)</td>
234         </tr>
235       </table>
236 </div><div class="memdoc">
237
238 <p>Pointer to <a class="el" href="group__usbh__hci__gr.html#ga10109d0c2a9a128225b5e893d3f72d08">ARM_USBH_HCI_GetVersion</a> : Get USB Host HCI (OHCI/EHCI) driver version. </p>
239
240 </div>
241 </div>
242 <a id="aa54b667c830cc3ef9e710382a65e0baa" name="aa54b667c830cc3ef9e710382a65e0baa"></a>
243 <h2 class="memtitle"><span class="permalink"><a href="#aa54b667c830cc3ef9e710382a65e0baa">&#9670;&#160;</a></span>GetCapabilities</h2>
244
245 <div class="memitem">
246 <div class="memproto">
247       <table class="memname">
248         <tr>
249           <td class="memname"><a class="el" href="group__usbh__hci__gr.html#structARM__USBH__HCI__CAPABILITIES">ARM_USBH_HCI_CAPABILITIES</a>(* GetCapabilities) (void)</td>
250         </tr>
251       </table>
252 </div><div class="memdoc">
253
254 <p>Pointer to <a class="el" href="group__usbh__hci__gr.html#gae607c49ca97202500631473a901e8c2b">ARM_USBH_HCI_GetCapabilities</a> : Get driver capabilities. </p>
255
256 </div>
257 </div>
258 <a id="ade38d7e63bf159f928b6f68be9cc09dd" name="ade38d7e63bf159f928b6f68be9cc09dd"></a>
259 <h2 class="memtitle"><span class="permalink"><a href="#ade38d7e63bf159f928b6f68be9cc09dd">&#9670;&#160;</a></span>Initialize</h2>
260
261 <div class="memitem">
262 <div class="memproto">
263       <table class="memname">
264         <tr>
265           <td class="memname">int32_t(* Initialize) (<a class="el" href="group__usbh__hci__gr.html#gac60df9d1f2b3a769f2c30141800a9806">ARM_USBH_HCI_Interrupt_t</a> cb_interrupt)</td>
266         </tr>
267       </table>
268 </div><div class="memdoc">
269
270 <p>Pointer to <a class="el" href="group__usbh__hci__gr.html#gabc1392a544cb64491b5ea5ce6590d832">ARM_USBH_HCI_Initialize</a> : Initialize USB Host HCI (OHCI/EHCI) Interface. </p>
271
272 </div>
273 </div>
274 <a id="a5ce2b3d7a3a07099bf07d1eb253e92e3" name="a5ce2b3d7a3a07099bf07d1eb253e92e3"></a>
275 <h2 class="memtitle"><span class="permalink"><a href="#a5ce2b3d7a3a07099bf07d1eb253e92e3">&#9670;&#160;</a></span>Uninitialize</h2>
276
277 <div class="memitem">
278 <div class="memproto">
279       <table class="memname">
280         <tr>
281           <td class="memname">int32_t(* Uninitialize) (void)</td>
282         </tr>
283       </table>
284 </div><div class="memdoc">
285
286 <p>Pointer to <a class="el" href="group__usbh__hci__gr.html#gaacb68fdf201cdb1846b31642a760f041">ARM_USBH_HCI_Uninitialize</a> : De-initialize USB Host HCI (OHCI/EHCI) Interface. </p>
287
288 </div>
289 </div>
290 <a id="a24ebae5c6011631f76027f9a16eaf5ce" name="a24ebae5c6011631f76027f9a16eaf5ce"></a>
291 <h2 class="memtitle"><span class="permalink"><a href="#a24ebae5c6011631f76027f9a16eaf5ce">&#9670;&#160;</a></span>PowerControl</h2>
292
293 <div class="memitem">
294 <div class="memproto">
295       <table class="memname">
296         <tr>
297           <td class="memname">int32_t(* PowerControl) (<a class="el" href="group__common__drv__gr.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5">ARM_POWER_STATE</a> state)</td>
298         </tr>
299       </table>
300 </div><div class="memdoc">
301
302 <p>Pointer to <a class="el" href="group__usbh__hci__gr.html#ga27fa5ec8854cd9877bbef4abffe9a12b">ARM_USBH_HCI_PowerControl</a> : Control USB Host HCI (OHCI/EHCI) Interface Power. </p>
303
304 </div>
305 </div>
306 <a id="af876f976d36d73d4b76063a4ed217ee8" name="af876f976d36d73d4b76063a4ed217ee8"></a>
307 <h2 class="memtitle"><span class="permalink"><a href="#af876f976d36d73d4b76063a4ed217ee8">&#9670;&#160;</a></span>PortVbusOnOff</h2>
308
309 <div class="memitem">
310 <div class="memproto">
311       <table class="memname">
312         <tr>
313           <td class="memname">int32_t(* PortVbusOnOff) (uint8_t port, bool vbus)</td>
314         </tr>
315       </table>
316 </div><div class="memdoc">
317
318 <p>Pointer to <a class="el" href="group__usbh__hci__gr.html#gade1e83403c6ea965fe3e6c4c21fbbded">ARM_USBH_HCI_PortVbusOnOff</a> : USB Host HCI (OHCI/EHCI) Root HUB Port VBUS on/off. </p>
319
320 </div>
321 </div>
322
323 </div>
324 </div>
325 <a name="structARM__USBH__HCI__CAPABILITIES" id="structARM__USBH__HCI__CAPABILITIES"></a>
326 <h2 class="memtitle"><span class="permalink"><a href="#structARM__USBH__HCI__CAPABILITIES">&#9670;&#160;</a></span>ARM_USBH_HCI_CAPABILITIES</h2>
327
328 <div class="memitem">
329 <div class="memproto">
330       <table class="memname">
331         <tr>
332           <td class="memname">struct ARM_USBH_HCI_CAPABILITIES</td>
333         </tr>
334       </table>
335 </div><div class="memdoc">
336 <div class="textblock"><p>USB Host HCI (OHCI/EHCI) Driver Capabilities. </p>
337 <p>A USB Host HCI (OHCI/EHCI) driver can be implemented with different capabilities. The data fields of this structure encode the capabilities implemented by this driver.</p>
338 <p><b>Returned by:</b></p><ul>
339 <li><a class="el" href="group__usbh__hci__gr.html#gae607c49ca97202500631473a901e8c2b">ARM_USBH_HCI_GetCapabilities</a></li>
340 </ul>
341 <dl class="section note"><dt>Note</dt><dd>The struct must remain unchanged. </dd></dl>
342 </div><table class="fieldtable">
343 <tr><th colspan="3">Data Fields</th></tr>
344 <tr><td class="fieldtype">
345 <a id="ac37c09b54483c2a1e41fa8a976721fc4" name="ac37c09b54483c2a1e41fa8a976721fc4"></a>uint32_t</td>
346 <td class="fieldname">
347 port_mask: 15</td>
348 <td class="fielddoc">
349 Root HUB available Ports Mask. </td></tr>
350 <tr><td class="fieldtype">
351 <a id="aa43c4c21b173ada1b6b7568956f0d650" name="aa43c4c21b173ada1b6b7568956f0d650"></a>uint32_t</td>
352 <td class="fieldname">
353 reserved: 17</td>
354 <td class="fielddoc">
355 Reserved (must be zero) </td></tr>
356 </table>
357
358 </div>
359 </div>
360 <h2 class="groupheader">Typedef Documentation</h2>
361 <a id="gac60df9d1f2b3a769f2c30141800a9806" name="gac60df9d1f2b3a769f2c30141800a9806"></a>
362 <h2 class="memtitle"><span class="permalink"><a href="#gac60df9d1f2b3a769f2c30141800a9806">&#9670;&#160;</a></span>ARM_USBH_HCI_Interrupt_t</h2>
363
364 <div class="memitem">
365 <div class="memproto">
366       <table class="memname">
367         <tr>
368           <td class="memname">ARM_USBH_HCI_Interrupt_t</td>
369         </tr>
370       </table>
371 </div><div class="memdoc">
372
373 <p>Pointer to Interrupt Handler Routine. </p>
374 <p>Provides the typedef for the interrupt handler <a class="el" href="group__usbh__hci__gr.html#ga79d3c2509ed869c8d7d1485acad7b6c6">ARM_USBH_HCI_Interrupt</a>.</p>
375 <p><b>Parameter for:</b></p><ul>
376 <li><a class="el" href="group__usbh__hci__gr.html#gabc1392a544cb64491b5ea5ce6590d832">ARM_USBH_HCI_Initialize</a> </li>
377 </ul>
378
379 </div>
380 </div>
381 <h2 class="groupheader">Function Documentation</h2>
382 <a id="ga10109d0c2a9a128225b5e893d3f72d08" name="ga10109d0c2a9a128225b5e893d3f72d08"></a>
383 <h2 class="memtitle"><span class="permalink"><a href="#ga10109d0c2a9a128225b5e893d3f72d08">&#9670;&#160;</a></span>ARM_USBH_HCI_GetVersion()</h2>
384
385 <div class="memitem">
386 <div class="memproto">
387       <table class="memname">
388         <tr>
389           <td class="memname"><a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a> ARM_USBH_HCI_GetVersion </td>
390           <td>(</td>
391           <td class="paramtype">void&#160;</td>
392           <td class="paramname"></td><td>)</td>
393           <td></td>
394         </tr>
395       </table>
396 </div><div class="memdoc">
397
398 <p>Get USB Host HCI (OHCI/EHCI) driver version. </p>
399 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a></dd></dl>
400 <p>The function <b>ARM_USBH_HCI_GetVersion</b> returns version information of the driver implementation in <a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a></p><ul>
401 <li>API version is the version of the CMSIS-Driver specification used to implement this driver.</li>
402 <li>Driver version is source code version of the actual driver implementation.</li>
403 </ul>
404 <p>Example: </p><div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code hl_struct" href="group__usbh__host__gr.html#structARM__DRIVER__USBH">ARM_DRIVER_USBH</a> Driver_USBH0_HCI;</div>
405 <div class="line"><a class="code hl_struct" href="group__usbh__host__gr.html#structARM__DRIVER__USBH">ARM_DRIVER_USBH</a> *drv_info;</div>
406 <div class="line"> </div>
407 <div class="line"><span class="keywordtype">void</span> setup_usbh (<span class="keywordtype">void</span>)  {</div>
408 <div class="line">  <a class="code hl_struct" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a>  version;</div>
409 <div class="line"> </div>
410 <div class="line">  drv_info = &amp;Driver_USBH0_HCI;  </div>
411 <div class="line">  version = drv_info-&gt;<a class="code hl_variable" href="group__usbh__host__gr.html#a30afd9cb3113c037b5f1926f5ef93b59">GetVersion</a> ();</div>
412 <div class="line">  <span class="keywordflow">if</span> (version.<a class="code hl_variable" href="group__common__drv__gr.html#ad180da20fbde1d3dafc074af87c19540">api</a> &lt; 0x10A)   {      <span class="comment">// requires at minimum API version 1.10 or higher</span></div>
413 <div class="line">    <span class="comment">// error handling</span></div>
414 <div class="line">    <span class="keywordflow">return</span>;</div>
415 <div class="line">  }</div>
416 <div class="line">}</div>
417 <div class="ttc" id="agroup__common__drv__gr_html_ad180da20fbde1d3dafc074af87c19540"><div class="ttname"><a href="group__common__drv__gr.html#ad180da20fbde1d3dafc074af87c19540">ARM_DRIVER_VERSION::api</a></div><div class="ttdeci">uint16_t api</div><div class="ttdoc">API version.</div><div class="ttdef"><b>Definition:</b> Driver_Common.h:47</div></div>
418 <div class="ttc" id="agroup__common__drv__gr_html_structARM__DRIVER__VERSION"><div class="ttname"><a href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a></div><div class="ttdoc">Driver Version.</div><div class="ttdef"><b>Definition:</b> Driver_Common.h:46</div></div>
419 <div class="ttc" id="agroup__usbh__host__gr_html_a30afd9cb3113c037b5f1926f5ef93b59"><div class="ttname"><a href="group__usbh__host__gr.html#a30afd9cb3113c037b5f1926f5ef93b59">ARM_DRIVER_USBH::GetVersion</a></div><div class="ttdeci">ARM_DRIVER_VERSION(* GetVersion)(void)</div><div class="ttdoc">Pointer to ARM_USBH_GetVersion : Get driver version.</div><div class="ttdef"><b>Definition:</b> Driver_USBH.h:310</div></div>
420 <div class="ttc" id="agroup__usbh__host__gr_html_structARM__DRIVER__USBH"><div class="ttname"><a href="group__usbh__host__gr.html#structARM__DRIVER__USBH">ARM_DRIVER_USBH</a></div><div class="ttdoc">Access structure of USB Host Driver.</div><div class="ttdef"><b>Definition:</b> Driver_USBH.h:309</div></div>
421 </div><!-- fragment --> 
422 </div>
423 </div>
424 <a id="gae607c49ca97202500631473a901e8c2b" name="gae607c49ca97202500631473a901e8c2b"></a>
425 <h2 class="memtitle"><span class="permalink"><a href="#gae607c49ca97202500631473a901e8c2b">&#9670;&#160;</a></span>ARM_USBH_HCI_GetCapabilities()</h2>
426
427 <div class="memitem">
428 <div class="memproto">
429       <table class="memname">
430         <tr>
431           <td class="memname"><a class="el" href="group__usbh__hci__gr.html#structARM__USBH__HCI__CAPABILITIES">ARM_USBH_HCI_CAPABILITIES</a> ARM_USBH_HCI_GetCapabilities </td>
432           <td>(</td>
433           <td class="paramtype">void&#160;</td>
434           <td class="paramname"></td><td>)</td>
435           <td></td>
436         </tr>
437       </table>
438 </div><div class="memdoc">
439
440 <p>Get driver capabilities. </p>
441 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__usbh__hci__gr.html#structARM__USBH__HCI__CAPABILITIES">ARM_USBH_HCI_CAPABILITIES</a></dd></dl>
442 <p>The function <b>ARM_USBH_HCI_GetCapabilities</b> returns information about capabilities in this driver implementation. The data fields of the structure <a class="el" href="group__usbh__hci__gr.html#structARM__USBH__HCI__CAPABILITIES">ARM_USBH_HCI_CAPABILITIES</a> encode various capabilities, for example available HUB ports.</p>
443 <p>Example: </p><div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code hl_struct" href="group__usbh__hci__gr.html#structARM__DRIVER__USBH__HCI">ARM_DRIVER_USBH_HCI</a> Driver_USBH0_HCI;</div>
444 <div class="line"><a class="code hl_struct" href="group__usbh__hci__gr.html#structARM__DRIVER__USBH__HCI">ARM_DRIVER_USBH_HCI</a> *drv_info;</div>
445 <div class="line">  </div>
446 <div class="line"><span class="keywordtype">void</span> read_capabilities (<span class="keywordtype">void</span>)  {</div>
447 <div class="line">  <a class="code hl_struct" href="group__usbh__hci__gr.html#structARM__USBH__HCI__CAPABILITIES">ARM_USBH_HCI_CAPABILITIES</a> drv_capabilities;</div>
448 <div class="line"> </div>
449 <div class="line">  drv_info = &amp;Driver_USBH0_HCI;  </div>
450 <div class="line">  drv_capabilities = drv_info-&gt;<a class="code hl_variable" href="group__usbh__hci__gr.html#aa54b667c830cc3ef9e710382a65e0baa">GetCapabilities</a> ();</div>
451 <div class="line">  <span class="comment">// interrogate capabilities</span></div>
452 <div class="line"> </div>
453 <div class="line">}</div>
454 <div class="ttc" id="agroup__usbh__hci__gr_html_aa54b667c830cc3ef9e710382a65e0baa"><div class="ttname"><a href="group__usbh__hci__gr.html#aa54b667c830cc3ef9e710382a65e0baa">ARM_DRIVER_USBH_HCI::GetCapabilities</a></div><div class="ttdeci">ARM_USBH_HCI_CAPABILITIES(* GetCapabilities)(void)</div><div class="ttdoc">Pointer to ARM_USBH_HCI_GetCapabilities : Get driver capabilities.</div><div class="ttdef"><b>Definition:</b> Driver_USBH.h:410</div></div>
455 <div class="ttc" id="agroup__usbh__hci__gr_html_structARM__DRIVER__USBH__HCI"><div class="ttname"><a href="group__usbh__hci__gr.html#structARM__DRIVER__USBH__HCI">ARM_DRIVER_USBH_HCI</a></div><div class="ttdoc">Access structure of USB Host HCI (OHCI/EHCI) Driver.</div><div class="ttdef"><b>Definition:</b> Driver_USBH.h:408</div></div>
456 <div class="ttc" id="agroup__usbh__hci__gr_html_structARM__USBH__HCI__CAPABILITIES"><div class="ttname"><a href="group__usbh__hci__gr.html#structARM__USBH__HCI__CAPABILITIES">ARM_USBH_HCI_CAPABILITIES</a></div><div class="ttdoc">USB Host HCI (OHCI/EHCI) Driver Capabilities.</div><div class="ttdef"><b>Definition:</b> Driver_USBH.h:399</div></div>
457 </div><!-- fragment --> 
458 </div>
459 </div>
460 <a id="gabc1392a544cb64491b5ea5ce6590d832" name="gabc1392a544cb64491b5ea5ce6590d832"></a>
461 <h2 class="memtitle"><span class="permalink"><a href="#gabc1392a544cb64491b5ea5ce6590d832">&#9670;&#160;</a></span>ARM_USBH_HCI_Initialize()</h2>
462
463 <div class="memitem">
464 <div class="memproto">
465       <table class="memname">
466         <tr>
467           <td class="memname">int32_t ARM_USBH_HCI_Initialize </td>
468           <td>(</td>
469           <td class="paramtype"><a class="el" href="group__usbh__hci__gr.html#gac60df9d1f2b3a769f2c30141800a9806">ARM_USBH_HCI_Interrupt_t</a> *&#160;</td>
470           <td class="paramname"><em>cb_interrupt</em></td><td>)</td>
471           <td></td>
472         </tr>
473       </table>
474 </div><div class="memdoc">
475
476 <p>Initialize USB Host HCI (OHCI/EHCI) Interface. </p>
477 <dl class="params"><dt>Parameters</dt><dd>
478   <table class="params">
479     <tr><td class="paramdir">[in]</td><td class="paramname">cb_interrupt</td><td>Pointer to Interrupt Handler Routine </td></tr>
480   </table>
481   </dd>
482 </dl>
483 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__execution__status.html">Status Error Codes</a></dd></dl>
484 <p>The function <b>ARM_USBH_HCI_Initialize</b> initializes the USB Host HCI (OHCI/EHCI) interface. It is called when the middleware component starts operation.</p>
485 <p>The function performs the following operations:</p><ul>
486 <li>Initializes the resources needed for the USBH interface.</li>
487 <li>Registers the <a class="el" href="group__usbh__hci__gr.html#ga79d3c2509ed869c8d7d1485acad7b6c6">ARM_USBH_HCI_Interrupt</a> interrupt handler.</li>
488 </ul>
489 <p>The parameter <em>cb_interrupt</em> is a pointer to the interrupt routine of the OHCI/EHCI peripheral that needs to be registered. This function is called as ECHI Interrupt Service Handler.</p>
490 <p><b>Example:</b> </p><ul>
491 <li>see <a class="el" href="group__usbh__interface__gr.html">USB Host Interface</a> - Driver Functions </li>
492 </ul>
493
494 </div>
495 </div>
496 <a id="gaacb68fdf201cdb1846b31642a760f041" name="gaacb68fdf201cdb1846b31642a760f041"></a>
497 <h2 class="memtitle"><span class="permalink"><a href="#gaacb68fdf201cdb1846b31642a760f041">&#9670;&#160;</a></span>ARM_USBH_HCI_Uninitialize()</h2>
498
499 <div class="memitem">
500 <div class="memproto">
501       <table class="memname">
502         <tr>
503           <td class="memname">int32_t ARM_USBH_HCI_Uninitialize </td>
504           <td>(</td>
505           <td class="paramtype">void&#160;</td>
506           <td class="paramname"></td><td>)</td>
507           <td></td>
508         </tr>
509       </table>
510 </div><div class="memdoc">
511
512 <p>De-initialize USB Host HCI (OHCI/EHCI) Interface. </p>
513 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__execution__status.html">Status Error Codes</a></dd></dl>
514 <p>The function <a class="el" href="group__usbh__hci__gr.html#gaacb68fdf201cdb1846b31642a760f041">ARM_USBH_HCI_Uninitialize</a> de-initializes the resources of USB Host HCI (OHCI/EHCI) interface.</p>
515 <p>It is called when the middleware component stops operation and releases the software resources used by the interface. </p>
516
517 </div>
518 </div>
519 <a id="ga27fa5ec8854cd9877bbef4abffe9a12b" name="ga27fa5ec8854cd9877bbef4abffe9a12b"></a>
520 <h2 class="memtitle"><span class="permalink"><a href="#ga27fa5ec8854cd9877bbef4abffe9a12b">&#9670;&#160;</a></span>ARM_USBH_HCI_PowerControl()</h2>
521
522 <div class="memitem">
523 <div class="memproto">
524       <table class="memname">
525         <tr>
526           <td class="memname">int32_t ARM_USBH_HCI_PowerControl </td>
527           <td>(</td>
528           <td class="paramtype"><a class="el" href="group__common__drv__gr.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5">ARM_POWER_STATE</a>&#160;</td>
529           <td class="paramname"><em>state</em></td><td>)</td>
530           <td></td>
531         </tr>
532       </table>
533 </div><div class="memdoc">
534
535 <p>Control USB Host HCI (OHCI/EHCI) Interface Power. </p>
536 <dl class="params"><dt>Parameters</dt><dd>
537   <table class="params">
538     <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>Power state </td></tr>
539   </table>
540   </dd>
541 </dl>
542 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__execution__status.html">Status Error Codes</a></dd></dl>
543 <p>The function <b>ARM_USBH_HCI_PowerControl</b> operates the power modes of the USB Host HCI (OHCI/EHCI) interface. <br  />
544 </p>
545 <p>The parameter <em>state</em> sets the operation and can have the following values:</p><ul>
546 <li><a class="el" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5abed52b77a9ce4775570e44a842b1295e">ARM_POWER_FULL</a> : set-up peripheral for data transfers, enable interrupts (NVIC) and optionally DMA. Can be called multiple times. If the peripheral is already in this mode the function performs no operation and returns with <a class="el" href="group__execution__status.html#ga85752c5de59e8adeb001e35ff5be6be7">ARM_DRIVER_OK</a>.</li>
547 <li><a class="el" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5a9ef9e57cbcc948d0e22314e73dc8c434">ARM_POWER_LOW</a> : may use power saving. Returns <a class="el" href="group__execution__status.html#ga2efa59e480d82697795439220e6884e4">ARM_DRIVER_ERROR_UNSUPPORTED</a> when not implemented.</li>
548 <li><a class="el" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5ab6f5becc85ebd51c3dd2524a95d2ca35">ARM_POWER_OFF</a> : terminates any pending data transfers, disables peripheral, disables related interrupts and DMA.</li>
549 </ul>
550 <p>Refer to <a class="el" href="theoryOperation.html#CallSequence">Function Call Sequence</a> for more information. </p>
551
552 </div>
553 </div>
554 <a id="gade1e83403c6ea965fe3e6c4c21fbbded" name="gade1e83403c6ea965fe3e6c4c21fbbded"></a>
555 <h2 class="memtitle"><span class="permalink"><a href="#gade1e83403c6ea965fe3e6c4c21fbbded">&#9670;&#160;</a></span>ARM_USBH_HCI_PortVbusOnOff()</h2>
556
557 <div class="memitem">
558 <div class="memproto">
559       <table class="memname">
560         <tr>
561           <td class="memname">int32_t ARM_USBH_HCI_PortVbusOnOff </td>
562           <td>(</td>
563           <td class="paramtype">uint8_t&#160;</td>
564           <td class="paramname"><em>port</em>, </td>
565         </tr>
566         <tr>
567           <td class="paramkey"></td>
568           <td></td>
569           <td class="paramtype">bool&#160;</td>
570           <td class="paramname"><em>vbus</em>&#160;</td>
571         </tr>
572         <tr>
573           <td></td>
574           <td>)</td>
575           <td></td><td></td>
576         </tr>
577       </table>
578 </div><div class="memdoc">
579
580 <p>USB Host HCI (OHCI/EHCI) Root HUB Port VBUS on/off. </p>
581 <dl class="params"><dt>Parameters</dt><dd>
582   <table class="params">
583     <tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>Root HUB Port Number </td></tr>
584     <tr><td class="paramdir">[in]</td><td class="paramname">vbus</td><td><ul>
585 <li><b>false</b> VBUS off</li>
586 <li><b>true</b> VBUS on </li>
587 </ul>
588 </td></tr>
589   </table>
590   </dd>
591 </dl>
592 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__execution__status.html">Status Error Codes</a></dd></dl>
593 <p>The function <b>ARM_USBH_HCI_PortVbusOnOff</b> controls the VBUS signal of the specified port. Most HCI complained USB Host controllers do not require this optional function. It is only required when a external VBUS interface (for example via I/O pin) is required. </p>
594
595 </div>
596 </div>
597 <a id="ga79d3c2509ed869c8d7d1485acad7b6c6" name="ga79d3c2509ed869c8d7d1485acad7b6c6"></a>
598 <h2 class="memtitle"><span class="permalink"><a href="#ga79d3c2509ed869c8d7d1485acad7b6c6">&#9670;&#160;</a></span>ARM_USBH_HCI_Interrupt()</h2>
599
600 <div class="memitem">
601 <div class="memproto">
602       <table class="memname">
603         <tr>
604           <td class="memname">void ARM_USBH_HCI_Interrupt </td>
605           <td>(</td>
606           <td class="paramtype">void&#160;</td>
607           <td class="paramname"></td><td>)</td>
608           <td></td>
609         </tr>
610       </table>
611 </div><div class="memdoc">
612
613 <p>USB Host HCI Interrupt Handler. </p>
614 <dl class="section return"><dt>Returns</dt><dd>none</dd></dl>
615 <p>The function <b>ARM_USBH_HCI_Interrupt</b> is called from the USBH HCI Interrupt Handler. </p>
616
617 </div>
618 </div>
619 </div><!-- contents -->
620 </div><!-- doc-content -->
621 <!-- start footer part -->
622 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
623   <ul>
624     <li class="footer">
625       <script type="text/javascript">
626         <!--
627         writeFooter.call(this);
628         //-->
629       </script> 
630     </li>
631   </ul>
632 </div>
633 </body>
634 </html>