]> Git Repo - pico-vscode.git/blob - web/docs/group__hardware__powman.html
Merge branch 'main' into main
[pico-vscode.git] / web / docs / group__hardware__powman.html
1 <!-- HTML header for doxygen 1.8.20-->
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">
4 <head>
5         <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6         <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7         <meta name="generator" content="Doxygen 1.9.4"/>
8         <meta name="viewport" content="width=device-width, initial-scale=1"/>
9         <title>Raspberry Pi Pico SDK: hardware_powman</title>
10         <!-- <link href="tabs.css" rel="stylesheet" type="text/css"/> -->
11         <script type="text/javascript" src="jquery.js"></script>
12         <script type="text/javascript" src="dynsections.js"></script>
13         <link href="navtree.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="resize.js"></script>
15 <script type="text/javascript" src="navtreedata.js"></script>
16 <script type="text/javascript" src="navtree.js"></script>
17         <link href="search/search.css" rel="stylesheet" type="text/css"/>
18 <script type="text/javascript" src="search/searchdata.js"></script>
19 <script type="text/javascript" src="search/search.js"></script>
20     <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
21         <link href="doxygen.css" rel="stylesheet" type="text/css" />
22         <link href="normalise.css" rel="stylesheet" type="text/css"/>
23 <link href="main.css" rel="stylesheet" type="text/css"/>
24 <link href="styles.css" rel="stylesheet" type="text/css"/>
25 </head>
26 <body>
27         <div class="navigation-mobile">
28                 <div class="logo--mobile">
29                         <a href="/"><img src="logo-mobile.svg" alt="Raspberry Pi"></a>
30                 </div>
31                 <div class="navigation-toggle">
32                         <span class="line-1"></span>
33                         <span class="line-2">
34                                 <p>Menu Toggle</p>
35                         </span>
36                         <span class="line-3"></span>
37                 </div>
38         </div>
39         <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
40                 <div class="logo">
41                         <a href="index.html"> <img src="logo.svg" alt="Raspberry Pi"></a>
42                         <span style="display: inline-block; margin-top: 10px;">
43                                 v2.0.0
44                         </span>
45                 </div>
46                 <div class="navigation-footer">
47                         <img src="logo-mobile.svg" alt="Raspberry Pi">
48                         <a href="https://www.raspberrypi.com/" target="_blank">By Raspberry Pi Ltd</a>
49                 </div>
50 <!--            <div class="search">
51                         <form>
52                                 <input type="search" name="search" id="search" placeholder="Search">
53                                 <input type="submit" value="Search">
54                         </form>
55                 </div> -->
56 <!-- Generated by Doxygen 1.9.4 -->
57 <script type="text/javascript">
58 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
59 var searchBox = new SearchBox("searchBox", "search",'Search','.html');
60 /* @license-end */
61 </script>
62 <script type="text/javascript" src="menudata.js"></script>
63 <script type="text/javascript" src="menu.js"></script>
64 <script type="text/javascript">
65 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
66 $(function() {
67   initMenu('',true,false,'search.php','Search');
68   $(document).ready(function() { init_search(); });
69 });
70 /* @license-end */
71 </script>
72 <div id="main-nav"></div>
73 </div><!-- top -->
74 <div id="side-nav" class="ui-resizable side-nav-resizable">
75   <div id="nav-tree">
76     <div id="nav-tree-contents">
77       <div id="nav-sync" class="sync"></div>
78     </div>
79   </div>
80   <div id="splitbar" style="-moz-user-select:none;" 
81        class="ui-resizable-handle">
82   </div>
83 </div>
84 <script type="text/javascript">
85 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
86 $(document).ready(function(){initNavTree('group__hardware__powman.html',''); initResizable(); });
87 /* @license-end */
88 </script>
89 <div id="doc-content">
90 <!-- window showing the filter options -->
91 <div id="MSearchSelectWindow"
92      onmouseover="return searchBox.OnSearchSelectShow()"
93      onmouseout="return searchBox.OnSearchSelectHide()"
94      onkeydown="return searchBox.OnSearchSelectKey(event)">
95 </div>
96
97 <!-- iframe showing the search results (closed by default) -->
98 <div id="MSearchResultsWindow">
99 <iframe src="javascript:void(0)" frameborder="0" 
100         name="MSearchResults" id="MSearchResults">
101 </iframe>
102 </div>
103
104 <div class="header">
105   <div class="summary">
106 <a href="#enum-members">Enumerations</a> &#124;
107 <a href="#func-members">Functions</a>  </div>
108   <div class="headertitle"><div class="title">hardware_powman<div class="ingroups"><a class="el" href="group__hardware.html">Hardware APIs</a></div></div></div>
109 </div><!--header-->
110 <div class="contents">
111
112 <p>Power Management API.  
113 <a href="#details">More...</a></p>
114 <table class="memberdecls">
115 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
116 Enumerations</h2></td></tr>
117 <tr class="memitem:gace732bfd97b0762a2903cf7e32606e32"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#gace732bfd97b0762a2903cf7e32606e32">powman_power_domains</a> { <br />
118 &#160;&#160;<a class="el" href="group__hardware__powman.html#ggace732bfd97b0762a2903cf7e32606e32a00c076ec026ca9c1e0c2ab8502705382">POWMAN_POWER_DOMAIN_SRAM_BANK1</a> = 0
119 , <a class="el" href="group__hardware__powman.html#ggace732bfd97b0762a2903cf7e32606e32a0cf27623a721de09d60d6cd506911666">POWMAN_POWER_DOMAIN_SRAM_BANK0</a> = 1
120 , <a class="el" href="group__hardware__powman.html#ggace732bfd97b0762a2903cf7e32606e32a100701ea934dc58c777c020cd8b766c0">POWMAN_POWER_DOMAIN_XIP_CACHE</a> = 2
121 , <a class="el" href="group__hardware__powman.html#ggace732bfd97b0762a2903cf7e32606e32a37ba2cba72976391dc9d83c66cfef3c5">POWMAN_POWER_DOMAIN_SWITCHED_CORE</a> = 3
122 , <br />
123 &#160;&#160;<b>POWMAN_POWER_DOMAIN_COUNT</b> = 4
124 <br />
125  }</td></tr>
126 <tr class="memdesc:gace732bfd97b0762a2903cf7e32606e32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power domains of powman.  <a href="group__hardware__powman.html#gace732bfd97b0762a2903cf7e32606e32">More...</a><br /></td></tr>
127 <tr class="separator:gace732bfd97b0762a2903cf7e32606e32"><td class="memSeparator" colspan="2">&#160;</td></tr>
128 </table><table class="memberdecls">
129 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
130 Functions</h2></td></tr>
131 <tr class="memitem:ga2659af7a723a142b57a72add489d4f4e"><td class="memItemLeft" align="right" valign="top"><a id="ga2659af7a723a142b57a72add489d4f4e" name="ga2659af7a723a142b57a72add489d4f4e"></a>
132 void&#160;</td><td class="memItemRight" valign="bottom"><b>powman_timer_set_1khz_tick_source_lposc</b> (void)</td></tr>
133 <tr class="memdesc:ga2659af7a723a142b57a72add489d4f4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use the ~32KHz low power oscillator as the powman timer source. <br /></td></tr>
134 <tr class="separator:ga2659af7a723a142b57a72add489d4f4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
135 <tr class="memitem:gacc08f760516b1b09a58a7121cdfc1f49"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#gacc08f760516b1b09a58a7121cdfc1f49">powman_timer_set_1khz_tick_source_lposc_with_hz</a> (uint32_t lposc_freq_hz)</td></tr>
136 <tr class="memdesc:gacc08f760516b1b09a58a7121cdfc1f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use the low power oscillator (specifying frequency) as the powman timer source.  <a href="group__hardware__powman.html#gacc08f760516b1b09a58a7121cdfc1f49">More...</a><br /></td></tr>
137 <tr class="separator:gacc08f760516b1b09a58a7121cdfc1f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
138 <tr class="memitem:ga9ee3b6c28b8b24f3c22022b757082448"><td class="memItemLeft" align="right" valign="top"><a id="ga9ee3b6c28b8b24f3c22022b757082448" name="ga9ee3b6c28b8b24f3c22022b757082448"></a>
139 void&#160;</td><td class="memItemRight" valign="bottom"><b>powman_timer_set_1khz_tick_source_xosc</b> (void)</td></tr>
140 <tr class="memdesc:ga9ee3b6c28b8b24f3c22022b757082448"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use the crystal oscillator as the powman timer source. <br /></td></tr>
141 <tr class="separator:ga9ee3b6c28b8b24f3c22022b757082448"><td class="memSeparator" colspan="2">&#160;</td></tr>
142 <tr class="memitem:ga8fb8797fc3fbc9b7e9c30c6ae316065c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#ga8fb8797fc3fbc9b7e9c30c6ae316065c">powman_timer_set_1khz_tick_source_xosc_with_hz</a> (uint32_t xosc_freq_hz)</td></tr>
143 <tr class="memdesc:ga8fb8797fc3fbc9b7e9c30c6ae316065c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use the crystal oscillator as the powman timer source.  <a href="group__hardware__powman.html#ga8fb8797fc3fbc9b7e9c30c6ae316065c">More...</a><br /></td></tr>
144 <tr class="separator:ga8fb8797fc3fbc9b7e9c30c6ae316065c"><td class="memSeparator" colspan="2">&#160;</td></tr>
145 <tr class="memitem:ga7e0048a9fe486dc4e6cc6b9ae7699924"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#ga7e0048a9fe486dc4e6cc6b9ae7699924">powman_timer_set_1khz_tick_source_gpio</a> (uint32_t gpio)</td></tr>
146 <tr class="memdesc:ga7e0048a9fe486dc4e6cc6b9ae7699924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use a 1KHz external tick as the powman timer source.  <a href="group__hardware__powman.html#ga7e0048a9fe486dc4e6cc6b9ae7699924">More...</a><br /></td></tr>
147 <tr class="separator:ga7e0048a9fe486dc4e6cc6b9ae7699924"><td class="memSeparator" colspan="2">&#160;</td></tr>
148 <tr class="memitem:ga4b843b70eaf83fb4b0d2fbee8ce1a015"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#ga4b843b70eaf83fb4b0d2fbee8ce1a015">powman_timer_enable_gpio_1hz_sync</a> (uint32_t gpio)</td></tr>
149 <tr class="memdesc:ga4b843b70eaf83fb4b0d2fbee8ce1a015"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use a 1Hz external signal as the powman timer source for seconds only.  <a href="group__hardware__powman.html#ga4b843b70eaf83fb4b0d2fbee8ce1a015">More...</a><br /></td></tr>
150 <tr class="separator:ga4b843b70eaf83fb4b0d2fbee8ce1a015"><td class="memSeparator" colspan="2">&#160;</td></tr>
151 <tr class="memitem:ga5b035f3737ec4d2261414e931c5a8de3"><td class="memItemLeft" align="right" valign="top"><a id="ga5b035f3737ec4d2261414e931c5a8de3" name="ga5b035f3737ec4d2261414e931c5a8de3"></a>
152 void&#160;</td><td class="memItemRight" valign="bottom"><b>powman_timer_disable_gpio_1hz_sync</b> (void)</td></tr>
153 <tr class="memdesc:ga5b035f3737ec4d2261414e931c5a8de3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop using 1Hz external signal as the powman timer source for seconds. <br /></td></tr>
154 <tr class="separator:ga5b035f3737ec4d2261414e931c5a8de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
155 <tr class="memitem:ga7dc3aafeae8ba5a29f67970454d38046"><td class="memItemLeft" align="right" valign="top"><a id="ga7dc3aafeae8ba5a29f67970454d38046" name="ga7dc3aafeae8ba5a29f67970454d38046"></a>
156 uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>powman_timer_get_ms</b> (void)</td></tr>
157 <tr class="memdesc:ga7dc3aafeae8ba5a29f67970454d38046"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current time in ms. <br /></td></tr>
158 <tr class="separator:ga7dc3aafeae8ba5a29f67970454d38046"><td class="memSeparator" colspan="2">&#160;</td></tr>
159 <tr class="memitem:gaa2f30fea7e5b78efc2d89cf5e5f215ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#gaa2f30fea7e5b78efc2d89cf5e5f215ed">powman_timer_set_ms</a> (uint64_t time_ms)</td></tr>
160 <tr class="memdesc:gaa2f30fea7e5b78efc2d89cf5e5f215ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set current time in ms.  <a href="group__hardware__powman.html#gaa2f30fea7e5b78efc2d89cf5e5f215ed">More...</a><br /></td></tr>
161 <tr class="separator:gaa2f30fea7e5b78efc2d89cf5e5f215ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
162 <tr class="memitem:gac8aa99d990fc2e793c2cc3ff680ce41f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#gac8aa99d990fc2e793c2cc3ff680ce41f">powman_timer_enable_alarm_at_ms</a> (uint64_t alarm_time_ms)</td></tr>
163 <tr class="memdesc:gac8aa99d990fc2e793c2cc3ff680ce41f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an alarm at an absolute time in ms.  <a href="group__hardware__powman.html#gac8aa99d990fc2e793c2cc3ff680ce41f">More...</a><br /></td></tr>
164 <tr class="separator:gac8aa99d990fc2e793c2cc3ff680ce41f"><td class="memSeparator" colspan="2">&#160;</td></tr>
165 <tr class="memitem:gaf78bad976be73c9480933d73bf358a23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#gaf78bad976be73c9480933d73bf358a23">powman_timer_disable_alarm</a> (void)</td></tr>
166 <tr class="memdesc:gaf78bad976be73c9480933d73bf358a23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable the alarm.  <a href="group__hardware__powman.html#gaf78bad976be73c9480933d73bf358a23">More...</a><br /></td></tr>
167 <tr class="separator:gaf78bad976be73c9480933d73bf358a23"><td class="memSeparator" colspan="2">&#160;</td></tr>
168 <tr class="memitem:ga8bb53e1b2c3e5a553aedfbff18d35a50"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#ga8bb53e1b2c3e5a553aedfbff18d35a50">powman_set_bits</a> (volatile uint32_t *reg, uint32_t bits)</td></tr>
169 <tr class="memdesc:ga8bb53e1b2c3e5a553aedfbff18d35a50"><td class="mdescLeft">&#160;</td><td class="mdescRight">hw_set_bits helper function  <a href="group__hardware__powman.html#ga8bb53e1b2c3e5a553aedfbff18d35a50">More...</a><br /></td></tr>
170 <tr class="separator:ga8bb53e1b2c3e5a553aedfbff18d35a50"><td class="memSeparator" colspan="2">&#160;</td></tr>
171 <tr class="memitem:ga5fe0817fd5f0baaefe9e086705e3b4e8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#ga5fe0817fd5f0baaefe9e086705e3b4e8">powman_clear_bits</a> (volatile uint32_t *reg, uint32_t bits)</td></tr>
172 <tr class="memdesc:ga5fe0817fd5f0baaefe9e086705e3b4e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">hw_clear_bits helper function  <a href="group__hardware__powman.html#ga5fe0817fd5f0baaefe9e086705e3b4e8">More...</a><br /></td></tr>
173 <tr class="separator:ga5fe0817fd5f0baaefe9e086705e3b4e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
174 <tr class="memitem:ga6e2dd3c584d9eb2a40202b6d2dbddccd"><td class="memItemLeft" align="right" valign="top"><a id="ga6e2dd3c584d9eb2a40202b6d2dbddccd" name="ga6e2dd3c584d9eb2a40202b6d2dbddccd"></a>
175 static bool&#160;</td><td class="memItemRight" valign="bottom"><b>powman_timer_is_running</b> (void)</td></tr>
176 <tr class="memdesc:ga6e2dd3c584d9eb2a40202b6d2dbddccd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if the powman timer is running. <br /></td></tr>
177 <tr class="separator:ga6e2dd3c584d9eb2a40202b6d2dbddccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
178 <tr class="memitem:ga7d6d9931a08e2999606e434ae7681fc6"><td class="memItemLeft" align="right" valign="top"><a id="ga7d6d9931a08e2999606e434ae7681fc6" name="ga7d6d9931a08e2999606e434ae7681fc6"></a>
179 static void&#160;</td><td class="memItemRight" valign="bottom"><b>powman_timer_stop</b> (void)</td></tr>
180 <tr class="memdesc:ga7d6d9931a08e2999606e434ae7681fc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop the powman timer. <br /></td></tr>
181 <tr class="separator:ga7d6d9931a08e2999606e434ae7681fc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
182 <tr class="memitem:ga0002ace8105882f2ed726fdf2bd2a284"><td class="memItemLeft" align="right" valign="top"><a id="ga0002ace8105882f2ed726fdf2bd2a284" name="ga0002ace8105882f2ed726fdf2bd2a284"></a>
183 static void&#160;</td><td class="memItemRight" valign="bottom"><b>powman_timer_start</b> (void)</td></tr>
184 <tr class="memdesc:ga0002ace8105882f2ed726fdf2bd2a284"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the powman timer. <br /></td></tr>
185 <tr class="separator:ga0002ace8105882f2ed726fdf2bd2a284"><td class="memSeparator" colspan="2">&#160;</td></tr>
186 <tr class="memitem:ga4c25eb6c57761d12e74c196082be405d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#ga4c25eb6c57761d12e74c196082be405d">powman_clear_alarm</a> (void)</td></tr>
187 <tr class="memdesc:ga4c25eb6c57761d12e74c196082be405d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the powman alarm.  <a href="group__hardware__powman.html#ga4c25eb6c57761d12e74c196082be405d">More...</a><br /></td></tr>
188 <tr class="separator:ga4c25eb6c57761d12e74c196082be405d"><td class="memSeparator" colspan="2">&#160;</td></tr>
189 <tr class="memitem:gac665005a92a55a827ac9aafac7a3e42d"><td class="memItemLeft" align="right" valign="top"><a id="gac665005a92a55a827ac9aafac7a3e42d" name="gac665005a92a55a827ac9aafac7a3e42d"></a>
190 powman_power_state&#160;</td><td class="memItemRight" valign="bottom"><b>powman_get_power_state</b> (void)</td></tr>
191 <tr class="memdesc:gac665005a92a55a827ac9aafac7a3e42d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current power state. <br /></td></tr>
192 <tr class="separator:gac665005a92a55a827ac9aafac7a3e42d"><td class="memSeparator" colspan="2">&#160;</td></tr>
193 <tr class="memitem:ga37324a8d6e9b4416a1e8837cbca44275"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#ga37324a8d6e9b4416a1e8837cbca44275">powman_set_power_state</a> (powman_power_state state)</td></tr>
194 <tr class="memdesc:ga37324a8d6e9b4416a1e8837cbca44275"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the power state.  <a href="group__hardware__powman.html#ga37324a8d6e9b4416a1e8837cbca44275">More...</a><br /></td></tr>
195 <tr class="separator:ga37324a8d6e9b4416a1e8837cbca44275"><td class="memSeparator" colspan="2">&#160;</td></tr>
196 <tr class="memitem:gaf734b0aa9b100eedc4a923e97777bb55"><td class="memItemLeft" align="right" valign="top">static powman_power_state&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#gaf734b0aa9b100eedc4a923e97777bb55">powman_power_state_with_domain_on</a> (powman_power_state orig, enum <a class="el" href="group__hardware__powman.html#gace732bfd97b0762a2903cf7e32606e32">powman_power_domains</a> domain)</td></tr>
197 <tr class="memdesc:gaf734b0aa9b100eedc4a923e97777bb55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function modify a powman_power_state to turn a domain on.  <a href="group__hardware__powman.html#gaf734b0aa9b100eedc4a923e97777bb55">More...</a><br /></td></tr>
198 <tr class="separator:gaf734b0aa9b100eedc4a923e97777bb55"><td class="memSeparator" colspan="2">&#160;</td></tr>
199 <tr class="memitem:gaf203861a11946a64fefcab10288aa2fd"><td class="memItemLeft" align="right" valign="top">static powman_power_state&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#gaf203861a11946a64fefcab10288aa2fd">powman_power_state_with_domain_off</a> (powman_power_state orig, enum <a class="el" href="group__hardware__powman.html#gace732bfd97b0762a2903cf7e32606e32">powman_power_domains</a> domain)</td></tr>
200 <tr class="memdesc:gaf203861a11946a64fefcab10288aa2fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function modify a powman_power_state to turn a domain off.  <a href="group__hardware__powman.html#gaf203861a11946a64fefcab10288aa2fd">More...</a><br /></td></tr>
201 <tr class="separator:gaf203861a11946a64fefcab10288aa2fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
202 <tr class="memitem:ga3367f89af96ca94b74d521a962db4685"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#ga3367f89af96ca94b74d521a962db4685">powman_power_state_is_domain_on</a> (powman_power_state state, enum <a class="el" href="group__hardware__powman.html#gace732bfd97b0762a2903cf7e32606e32">powman_power_domains</a> domain)</td></tr>
203 <tr class="memdesc:ga3367f89af96ca94b74d521a962db4685"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check if a domain is on in a given powman_power_state.  <a href="group__hardware__powman.html#ga3367f89af96ca94b74d521a962db4685">More...</a><br /></td></tr>
204 <tr class="separator:ga3367f89af96ca94b74d521a962db4685"><td class="memSeparator" colspan="2">&#160;</td></tr>
205 <tr class="memitem:ga284eb8137db4f4aa0ef21f52f2cd0f0a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#ga284eb8137db4f4aa0ef21f52f2cd0f0a">powman_enable_alarm_wakeup_at_ms</a> (uint64_t alarm_time_ms)</td></tr>
206 <tr class="memdesc:ga284eb8137db4f4aa0ef21f52f2cd0f0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wake up from an alarm at a given time.  <a href="group__hardware__powman.html#ga284eb8137db4f4aa0ef21f52f2cd0f0a">More...</a><br /></td></tr>
207 <tr class="separator:ga284eb8137db4f4aa0ef21f52f2cd0f0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
208 <tr class="memitem:gabd8304302bd7e666f73f5b08bdf2b110"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#gabd8304302bd7e666f73f5b08bdf2b110">powman_enable_gpio_wakeup</a> (uint gpio_wakeup_num, uint32_t gpio, bool edge, bool high)</td></tr>
209 <tr class="memdesc:gabd8304302bd7e666f73f5b08bdf2b110"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wake up from a gpio.  <a href="group__hardware__powman.html#gabd8304302bd7e666f73f5b08bdf2b110">More...</a><br /></td></tr>
210 <tr class="separator:gabd8304302bd7e666f73f5b08bdf2b110"><td class="memSeparator" colspan="2">&#160;</td></tr>
211 <tr class="memitem:ga63fbf4b74797ee6f7ef1f9b103200b8e"><td class="memItemLeft" align="right" valign="top"><a id="ga63fbf4b74797ee6f7ef1f9b103200b8e" name="ga63fbf4b74797ee6f7ef1f9b103200b8e"></a>
212 void&#160;</td><td class="memItemRight" valign="bottom"><b>powman_disable_alarm_wakeup</b> (void)</td></tr>
213 <tr class="memdesc:ga63fbf4b74797ee6f7ef1f9b103200b8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable waking up from alarm. <br /></td></tr>
214 <tr class="separator:ga63fbf4b74797ee6f7ef1f9b103200b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
215 <tr class="memitem:gaf61ade848ee36a39b2389cc21d112132"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#gaf61ade848ee36a39b2389cc21d112132">powman_disable_gpio_wakeup</a> (uint gpio_wakeup_num)</td></tr>
216 <tr class="memdesc:gaf61ade848ee36a39b2389cc21d112132"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable wake up from a gpio.  <a href="group__hardware__powman.html#gaf61ade848ee36a39b2389cc21d112132">More...</a><br /></td></tr>
217 <tr class="separator:gaf61ade848ee36a39b2389cc21d112132"><td class="memSeparator" colspan="2">&#160;</td></tr>
218 <tr class="memitem:gacd0efe4dd2bdc07d5307bdae4fa24af6"><td class="memItemLeft" align="right" valign="top"><a id="gacd0efe4dd2bdc07d5307bdae4fa24af6" name="gacd0efe4dd2bdc07d5307bdae4fa24af6"></a>
219 void&#160;</td><td class="memItemRight" valign="bottom"><b>powman_disable_all_wakeups</b> (void)</td></tr>
220 <tr class="memdesc:gacd0efe4dd2bdc07d5307bdae4fa24af6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable all wakeup sources. <br /></td></tr>
221 <tr class="separator:gacd0efe4dd2bdc07d5307bdae4fa24af6"><td class="memSeparator" colspan="2">&#160;</td></tr>
222 <tr class="memitem:ga8b055fd9bd2a7704c6ada5e903b5eecd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#ga8b055fd9bd2a7704c6ada5e903b5eecd">powman_configure_wakeup_state</a> (powman_power_state sleep_state, powman_power_state wakeup_state)</td></tr>
223 <tr class="memdesc:ga8b055fd9bd2a7704c6ada5e903b5eecd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure sleep state and wakeup state.  <a href="group__hardware__powman.html#ga8b055fd9bd2a7704c6ada5e903b5eecd">More...</a><br /></td></tr>
224 <tr class="separator:ga8b055fd9bd2a7704c6ada5e903b5eecd"><td class="memSeparator" colspan="2">&#160;</td></tr>
225 <tr class="memitem:ga268335a57afa4f047a780b0e38c43876"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__powman.html#ga268335a57afa4f047a780b0e38c43876">powman_set_debug_power_request_ignored</a> (bool ignored)</td></tr>
226 <tr class="memdesc:ga268335a57afa4f047a780b0e38c43876"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ignore wake up when the debugger is attached.  <a href="group__hardware__powman.html#ga268335a57afa4f047a780b0e38c43876">More...</a><br /></td></tr>
227 <tr class="separator:ga268335a57afa4f047a780b0e38c43876"><td class="memSeparator" colspan="2">&#160;</td></tr>
228 </table>
229 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
230 <p >Power Management API. </p>
231 <h2 class="groupheader">Enumeration Type Documentation</h2>
232 <a id="gace732bfd97b0762a2903cf7e32606e32" name="gace732bfd97b0762a2903cf7e32606e32"></a>
233 <h2 class="memtitle"><span class="permalink"><a href="#gace732bfd97b0762a2903cf7e32606e32">&#9670;&nbsp;</a></span>powman_power_domains</h2>
234
235 <div class="memitem">
236 <div class="memproto">
237       <table class="memname">
238         <tr>
239           <td class="memname">enum <a class="el" href="group__hardware__powman.html#gace732bfd97b0762a2903cf7e32606e32">powman_power_domains</a></td>
240         </tr>
241       </table>
242 </div><div class="memdoc">
243
244 <p>Power domains of powman. </p>
245 <table class="fieldtable">
246 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggace732bfd97b0762a2903cf7e32606e32a00c076ec026ca9c1e0c2ab8502705382" name="ggace732bfd97b0762a2903cf7e32606e32a00c076ec026ca9c1e0c2ab8502705382"></a>POWMAN_POWER_DOMAIN_SRAM_BANK1&#160;</td><td class="fielddoc"><p >bank1 includes the top 256K of sram plus sram 8 and 9 (scratch x and scratch y) </p>
247 </td></tr>
248 <tr><td class="fieldname"><a id="ggace732bfd97b0762a2903cf7e32606e32a0cf27623a721de09d60d6cd506911666" name="ggace732bfd97b0762a2903cf7e32606e32a0cf27623a721de09d60d6cd506911666"></a>POWMAN_POWER_DOMAIN_SRAM_BANK0&#160;</td><td class="fielddoc"><p >bank0 is bottom 256K of sSRAM </p>
249 </td></tr>
250 <tr><td class="fieldname"><a id="ggace732bfd97b0762a2903cf7e32606e32a100701ea934dc58c777c020cd8b766c0" name="ggace732bfd97b0762a2903cf7e32606e32a100701ea934dc58c777c020cd8b766c0"></a>POWMAN_POWER_DOMAIN_XIP_CACHE&#160;</td><td class="fielddoc"><p >XIP cache is 2x8K instances. </p>
251 </td></tr>
252 <tr><td class="fieldname"><a id="ggace732bfd97b0762a2903cf7e32606e32a37ba2cba72976391dc9d83c66cfef3c5" name="ggace732bfd97b0762a2903cf7e32606e32a37ba2cba72976391dc9d83c66cfef3c5"></a>POWMAN_POWER_DOMAIN_SWITCHED_CORE&#160;</td><td class="fielddoc"><p >Switched core logic (processors, busfabric, peris etc) </p>
253 </td></tr>
254 </table>
255
256 </div>
257 </div>
258 <h2 class="groupheader">Function Documentation</h2>
259 <a id="ga4c25eb6c57761d12e74c196082be405d" name="ga4c25eb6c57761d12e74c196082be405d"></a>
260 <h2 class="memtitle"><span class="permalink"><a href="#ga4c25eb6c57761d12e74c196082be405d">&#9670;&nbsp;</a></span>powman_clear_alarm()</h2>
261
262 <div class="memitem">
263 <div class="memproto">
264 <table class="mlabels">
265   <tr>
266   <td class="mlabels-left">
267       <table class="memname">
268         <tr>
269           <td class="memname">static void powman_clear_alarm </td>
270           <td>(</td>
271           <td class="paramtype">void&#160;</td>
272           <td class="paramname"></td><td>)</td>
273           <td></td>
274         </tr>
275       </table>
276   </td>
277   <td class="mlabels-right">
278 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
279   </tr>
280 </table>
281 </div><div class="memdoc">
282
283 <p>Clears the powman alarm. </p>
284 <p >Note, the alarm must be disabled (see <a class="el" href="group__hardware__powman.html#gaf78bad976be73c9480933d73bf358a23">powman_timer_disable_alarm</a>) before clearing the alarm, as the alarm fires if the time is greater than equal to the target, so once the time has passed the alarm will always fire while enabled. </p>
285
286 </div>
287 </div>
288 <a id="ga5fe0817fd5f0baaefe9e086705e3b4e8" name="ga5fe0817fd5f0baaefe9e086705e3b4e8"></a>
289 <h2 class="memtitle"><span class="permalink"><a href="#ga5fe0817fd5f0baaefe9e086705e3b4e8">&#9670;&nbsp;</a></span>powman_clear_bits()</h2>
290
291 <div class="memitem">
292 <div class="memproto">
293 <table class="mlabels">
294   <tr>
295   <td class="mlabels-left">
296       <table class="memname">
297         <tr>
298           <td class="memname">static void powman_clear_bits </td>
299           <td>(</td>
300           <td class="paramtype">volatile uint32_t *&#160;</td>
301           <td class="paramname"><em>reg</em>, </td>
302         </tr>
303         <tr>
304           <td class="paramkey"></td>
305           <td></td>
306           <td class="paramtype">uint32_t&#160;</td>
307           <td class="paramname"><em>bits</em>&#160;</td>
308         </tr>
309         <tr>
310           <td></td>
311           <td>)</td>
312           <td></td><td></td>
313         </tr>
314       </table>
315   </td>
316   <td class="mlabels-right">
317 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
318   </tr>
319 </table>
320 </div><div class="memdoc">
321
322 <p>hw_clear_bits helper function </p>
323 <p >Powman needs a password for writes, to prevent accidentally writing to it. This function implements hw_clear_bits with an appropriate password.</p>
324 <dl class="params"><dt>Parameters</dt><dd>
325   <table class="params">
326     <tr><td class="paramname">reg</td><td>register to clear </td></tr>
327     <tr><td class="paramname">bits</td><td>bits of register to clear </td></tr>
328   </table>
329   </dd>
330 </dl>
331
332 </div>
333 </div>
334 <a id="ga8b055fd9bd2a7704c6ada5e903b5eecd" name="ga8b055fd9bd2a7704c6ada5e903b5eecd"></a>
335 <h2 class="memtitle"><span class="permalink"><a href="#ga8b055fd9bd2a7704c6ada5e903b5eecd">&#9670;&nbsp;</a></span>powman_configure_wakeup_state()</h2>
336
337 <div class="memitem">
338 <div class="memproto">
339       <table class="memname">
340         <tr>
341           <td class="memname">bool powman_configure_wakeup_state </td>
342           <td>(</td>
343           <td class="paramtype">powman_power_state&#160;</td>
344           <td class="paramname"><em>sleep_state</em>, </td>
345         </tr>
346         <tr>
347           <td class="paramkey"></td>
348           <td></td>
349           <td class="paramtype">powman_power_state&#160;</td>
350           <td class="paramname"><em>wakeup_state</em>&#160;</td>
351         </tr>
352         <tr>
353           <td></td>
354           <td>)</td>
355           <td></td><td></td>
356         </tr>
357       </table>
358 </div><div class="memdoc">
359
360 <p>Configure sleep state and wakeup state. </p>
361 <dl class="params"><dt>Parameters</dt><dd>
362   <table class="params">
363     <tr><td class="paramname">sleep_state</td><td>power state powman will go to when sleeping, used to validate the wakeup state </td></tr>
364     <tr><td class="paramname">wakeup_state</td><td>power state powman will go to when waking up. Note switched core and xip always power up. SRAM bank0 and bank1 can be left powered off </td></tr>
365   </table>
366   </dd>
367 </dl>
368 <dl class="section return"><dt>Returns</dt><dd>true if the state is valid, false if not </dd></dl>
369
370 </div>
371 </div>
372 <a id="gaf61ade848ee36a39b2389cc21d112132" name="gaf61ade848ee36a39b2389cc21d112132"></a>
373 <h2 class="memtitle"><span class="permalink"><a href="#gaf61ade848ee36a39b2389cc21d112132">&#9670;&nbsp;</a></span>powman_disable_gpio_wakeup()</h2>
374
375 <div class="memitem">
376 <div class="memproto">
377       <table class="memname">
378         <tr>
379           <td class="memname">void powman_disable_gpio_wakeup </td>
380           <td>(</td>
381           <td class="paramtype">uint&#160;</td>
382           <td class="paramname"><em>gpio_wakeup_num</em></td><td>)</td>
383           <td></td>
384         </tr>
385       </table>
386 </div><div class="memdoc">
387
388 <p>Disable wake up from a gpio. </p>
389 <dl class="params"><dt>Parameters</dt><dd>
390   <table class="params">
391     <tr><td class="paramname">gpio_wakeup_num</td><td>hardware wakeup instance to use (0-3) </td></tr>
392   </table>
393   </dd>
394 </dl>
395
396 </div>
397 </div>
398 <a id="ga284eb8137db4f4aa0ef21f52f2cd0f0a" name="ga284eb8137db4f4aa0ef21f52f2cd0f0a"></a>
399 <h2 class="memtitle"><span class="permalink"><a href="#ga284eb8137db4f4aa0ef21f52f2cd0f0a">&#9670;&nbsp;</a></span>powman_enable_alarm_wakeup_at_ms()</h2>
400
401 <div class="memitem">
402 <div class="memproto">
403       <table class="memname">
404         <tr>
405           <td class="memname">void powman_enable_alarm_wakeup_at_ms </td>
406           <td>(</td>
407           <td class="paramtype">uint64_t&#160;</td>
408           <td class="paramname"><em>alarm_time_ms</em></td><td>)</td>
409           <td></td>
410         </tr>
411       </table>
412 </div><div class="memdoc">
413
414 <p>Wake up from an alarm at a given time. </p>
415 <dl class="params"><dt>Parameters</dt><dd>
416   <table class="params">
417     <tr><td class="paramname">alarm_time_ms</td><td>time to wake up in ms </td></tr>
418   </table>
419   </dd>
420 </dl>
421
422 </div>
423 </div>
424 <a id="gabd8304302bd7e666f73f5b08bdf2b110" name="gabd8304302bd7e666f73f5b08bdf2b110"></a>
425 <h2 class="memtitle"><span class="permalink"><a href="#gabd8304302bd7e666f73f5b08bdf2b110">&#9670;&nbsp;</a></span>powman_enable_gpio_wakeup()</h2>
426
427 <div class="memitem">
428 <div class="memproto">
429       <table class="memname">
430         <tr>
431           <td class="memname">void powman_enable_gpio_wakeup </td>
432           <td>(</td>
433           <td class="paramtype">uint&#160;</td>
434           <td class="paramname"><em>gpio_wakeup_num</em>, </td>
435         </tr>
436         <tr>
437           <td class="paramkey"></td>
438           <td></td>
439           <td class="paramtype">uint32_t&#160;</td>
440           <td class="paramname"><em>gpio</em>, </td>
441         </tr>
442         <tr>
443           <td class="paramkey"></td>
444           <td></td>
445           <td class="paramtype">bool&#160;</td>
446           <td class="paramname"><em>edge</em>, </td>
447         </tr>
448         <tr>
449           <td class="paramkey"></td>
450           <td></td>
451           <td class="paramtype">bool&#160;</td>
452           <td class="paramname"><em>high</em>&#160;</td>
453         </tr>
454         <tr>
455           <td></td>
456           <td>)</td>
457           <td></td><td></td>
458         </tr>
459       </table>
460 </div><div class="memdoc">
461
462 <p>Wake up from a gpio. </p>
463 <dl class="params"><dt>Parameters</dt><dd>
464   <table class="params">
465     <tr><td class="paramname">gpio_wakeup_num</td><td>hardware wakeup instance to use (0-3) </td></tr>
466     <tr><td class="paramname">gpio</td><td>gpio to wake up from (0-47) </td></tr>
467     <tr><td class="paramname">edge</td><td>true for edge sensitive, false for level sensitive </td></tr>
468     <tr><td class="paramname">high</td><td>true for active high, false active low </td></tr>
469   </table>
470   </dd>
471 </dl>
472
473 </div>
474 </div>
475 <a id="ga3367f89af96ca94b74d521a962db4685" name="ga3367f89af96ca94b74d521a962db4685"></a>
476 <h2 class="memtitle"><span class="permalink"><a href="#ga3367f89af96ca94b74d521a962db4685">&#9670;&nbsp;</a></span>powman_power_state_is_domain_on()</h2>
477
478 <div class="memitem">
479 <div class="memproto">
480 <table class="mlabels">
481   <tr>
482   <td class="mlabels-left">
483       <table class="memname">
484         <tr>
485           <td class="memname">static bool powman_power_state_is_domain_on </td>
486           <td>(</td>
487           <td class="paramtype">powman_power_state&#160;</td>
488           <td class="paramname"><em>state</em>, </td>
489         </tr>
490         <tr>
491           <td class="paramkey"></td>
492           <td></td>
493           <td class="paramtype">enum <a class="el" href="group__hardware__powman.html#gace732bfd97b0762a2903cf7e32606e32">powman_power_domains</a>&#160;</td>
494           <td class="paramname"><em>domain</em>&#160;</td>
495         </tr>
496         <tr>
497           <td></td>
498           <td>)</td>
499           <td></td><td></td>
500         </tr>
501       </table>
502   </td>
503   <td class="mlabels-right">
504 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
505   </tr>
506 </table>
507 </div><div class="memdoc">
508
509 <p>Helper function to check if a domain is on in a given powman_power_state. </p>
510 <dl class="params"><dt>Parameters</dt><dd>
511   <table class="params">
512     <tr><td class="paramname">state</td><td>powman_power_state </td></tr>
513     <tr><td class="paramname">domain</td><td>domain to check is on </td></tr>
514   </table>
515   </dd>
516 </dl>
517
518 </div>
519 </div>
520 <a id="gaf203861a11946a64fefcab10288aa2fd" name="gaf203861a11946a64fefcab10288aa2fd"></a>
521 <h2 class="memtitle"><span class="permalink"><a href="#gaf203861a11946a64fefcab10288aa2fd">&#9670;&nbsp;</a></span>powman_power_state_with_domain_off()</h2>
522
523 <div class="memitem">
524 <div class="memproto">
525 <table class="mlabels">
526   <tr>
527   <td class="mlabels-left">
528       <table class="memname">
529         <tr>
530           <td class="memname">static powman_power_state powman_power_state_with_domain_off </td>
531           <td>(</td>
532           <td class="paramtype">powman_power_state&#160;</td>
533           <td class="paramname"><em>orig</em>, </td>
534         </tr>
535         <tr>
536           <td class="paramkey"></td>
537           <td></td>
538           <td class="paramtype">enum <a class="el" href="group__hardware__powman.html#gace732bfd97b0762a2903cf7e32606e32">powman_power_domains</a>&#160;</td>
539           <td class="paramname"><em>domain</em>&#160;</td>
540         </tr>
541         <tr>
542           <td></td>
543           <td>)</td>
544           <td></td><td></td>
545         </tr>
546       </table>
547   </td>
548   <td class="mlabels-right">
549 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
550   </tr>
551 </table>
552 </div><div class="memdoc">
553
554 <p>Helper function modify a powman_power_state to turn a domain off. </p>
555 <dl class="params"><dt>Parameters</dt><dd>
556   <table class="params">
557     <tr><td class="paramname">orig</td><td>original state </td></tr>
558     <tr><td class="paramname">domain</td><td>domain to turn off </td></tr>
559   </table>
560   </dd>
561 </dl>
562
563 </div>
564 </div>
565 <a id="gaf734b0aa9b100eedc4a923e97777bb55" name="gaf734b0aa9b100eedc4a923e97777bb55"></a>
566 <h2 class="memtitle"><span class="permalink"><a href="#gaf734b0aa9b100eedc4a923e97777bb55">&#9670;&nbsp;</a></span>powman_power_state_with_domain_on()</h2>
567
568 <div class="memitem">
569 <div class="memproto">
570 <table class="mlabels">
571   <tr>
572   <td class="mlabels-left">
573       <table class="memname">
574         <tr>
575           <td class="memname">static powman_power_state powman_power_state_with_domain_on </td>
576           <td>(</td>
577           <td class="paramtype">powman_power_state&#160;</td>
578           <td class="paramname"><em>orig</em>, </td>
579         </tr>
580         <tr>
581           <td class="paramkey"></td>
582           <td></td>
583           <td class="paramtype">enum <a class="el" href="group__hardware__powman.html#gace732bfd97b0762a2903cf7e32606e32">powman_power_domains</a>&#160;</td>
584           <td class="paramname"><em>domain</em>&#160;</td>
585         </tr>
586         <tr>
587           <td></td>
588           <td>)</td>
589           <td></td><td></td>
590         </tr>
591       </table>
592   </td>
593   <td class="mlabels-right">
594 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
595   </tr>
596 </table>
597 </div><div class="memdoc">
598
599 <p>Helper function modify a powman_power_state to turn a domain on. </p>
600 <dl class="params"><dt>Parameters</dt><dd>
601   <table class="params">
602     <tr><td class="paramname">orig</td><td>original state </td></tr>
603     <tr><td class="paramname">domain</td><td>domain to turn on </td></tr>
604   </table>
605   </dd>
606 </dl>
607
608 </div>
609 </div>
610 <a id="ga8bb53e1b2c3e5a553aedfbff18d35a50" name="ga8bb53e1b2c3e5a553aedfbff18d35a50"></a>
611 <h2 class="memtitle"><span class="permalink"><a href="#ga8bb53e1b2c3e5a553aedfbff18d35a50">&#9670;&nbsp;</a></span>powman_set_bits()</h2>
612
613 <div class="memitem">
614 <div class="memproto">
615 <table class="mlabels">
616   <tr>
617   <td class="mlabels-left">
618       <table class="memname">
619         <tr>
620           <td class="memname">static void powman_set_bits </td>
621           <td>(</td>
622           <td class="paramtype">volatile uint32_t *&#160;</td>
623           <td class="paramname"><em>reg</em>, </td>
624         </tr>
625         <tr>
626           <td class="paramkey"></td>
627           <td></td>
628           <td class="paramtype">uint32_t&#160;</td>
629           <td class="paramname"><em>bits</em>&#160;</td>
630         </tr>
631         <tr>
632           <td></td>
633           <td>)</td>
634           <td></td><td></td>
635         </tr>
636       </table>
637   </td>
638   <td class="mlabels-right">
639 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
640   </tr>
641 </table>
642 </div><div class="memdoc">
643
644 <p>hw_set_bits helper function </p>
645 <dl class="params"><dt>Parameters</dt><dd>
646   <table class="params">
647     <tr><td class="paramname">reg</td><td>register to set </td></tr>
648     <tr><td class="paramname">bits</td><td>bits of register to set Powman needs a password for writes, to prevent accidentally writing to it. This function implements hw_set_bits with an appropriate password. </td></tr>
649   </table>
650   </dd>
651 </dl>
652
653 </div>
654 </div>
655 <a id="ga268335a57afa4f047a780b0e38c43876" name="ga268335a57afa4f047a780b0e38c43876"></a>
656 <h2 class="memtitle"><span class="permalink"><a href="#ga268335a57afa4f047a780b0e38c43876">&#9670;&nbsp;</a></span>powman_set_debug_power_request_ignored()</h2>
657
658 <div class="memitem">
659 <div class="memproto">
660 <table class="mlabels">
661   <tr>
662   <td class="mlabels-left">
663       <table class="memname">
664         <tr>
665           <td class="memname">static void powman_set_debug_power_request_ignored </td>
666           <td>(</td>
667           <td class="paramtype">bool&#160;</td>
668           <td class="paramname"><em>ignored</em></td><td>)</td>
669           <td></td>
670         </tr>
671       </table>
672   </td>
673   <td class="mlabels-right">
674 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
675   </tr>
676 </table>
677 </div><div class="memdoc">
678
679 <p>Ignore wake up when the debugger is attached. </p>
680 <p >Typically, when a debugger is attached it will assert the pwrupreq signal. OpenOCD does not clear this signal, even when you quit. This means once you have attached a debugger powman will never go to sleep. This function lets you ignore the debugger pwrupreq which means you can go to sleep with a debugger attached. The debugger will error out if you go to turn off the switch core with it attached, as the processors have been powered off.</p>
681 <dl class="params"><dt>Parameters</dt><dd>
682   <table class="params">
683     <tr><td class="paramname">ignored</td><td>should the debugger power up request be ignored </td></tr>
684   </table>
685   </dd>
686 </dl>
687
688 </div>
689 </div>
690 <a id="ga37324a8d6e9b4416a1e8837cbca44275" name="ga37324a8d6e9b4416a1e8837cbca44275"></a>
691 <h2 class="memtitle"><span class="permalink"><a href="#ga37324a8d6e9b4416a1e8837cbca44275">&#9670;&nbsp;</a></span>powman_set_power_state()</h2>
692
693 <div class="memitem">
694 <div class="memproto">
695       <table class="memname">
696         <tr>
697           <td class="memname">int powman_set_power_state </td>
698           <td>(</td>
699           <td class="paramtype">powman_power_state&#160;</td>
700           <td class="paramname"><em>state</em></td><td>)</td>
701           <td></td>
702         </tr>
703       </table>
704 </div><div class="memdoc">
705
706 <p>Set the power state. </p>
707 <p >Check the desired state is valid. Powman will go to the state if it is valid and there are no pending power up requests.</p>
708 <p >Note that if you are turning off the switched core then this function will never return as the processor will have been turned off at the end.</p>
709 <dl class="params"><dt>Parameters</dt><dd>
710   <table class="params">
711     <tr><td class="paramname">state</td><td>the power state to go to </td></tr>
712   </table>
713   </dd>
714 </dl>
715 <dl class="section return"><dt>Returns</dt><dd>PICO_OK if the state is valid. Misc PICO_ERRORs are returned if not </dd></dl>
716
717 </div>
718 </div>
719 <a id="gaf78bad976be73c9480933d73bf358a23" name="gaf78bad976be73c9480933d73bf358a23"></a>
720 <h2 class="memtitle"><span class="permalink"><a href="#gaf78bad976be73c9480933d73bf358a23">&#9670;&nbsp;</a></span>powman_timer_disable_alarm()</h2>
721
722 <div class="memitem">
723 <div class="memproto">
724       <table class="memname">
725         <tr>
726           <td class="memname">void powman_timer_disable_alarm </td>
727           <td>(</td>
728           <td class="paramtype">void&#160;</td>
729           <td class="paramname"></td><td>)</td>
730           <td></td>
731         </tr>
732       </table>
733 </div><div class="memdoc">
734
735 <p>Disable the alarm. </p>
736 <p >Once an alarm has fired it must be disabled to stop firing as the alarm comparison is alarm = alarm_time &gt;= current_time </p>
737
738 </div>
739 </div>
740 <a id="gac8aa99d990fc2e793c2cc3ff680ce41f" name="gac8aa99d990fc2e793c2cc3ff680ce41f"></a>
741 <h2 class="memtitle"><span class="permalink"><a href="#gac8aa99d990fc2e793c2cc3ff680ce41f">&#9670;&nbsp;</a></span>powman_timer_enable_alarm_at_ms()</h2>
742
743 <div class="memitem">
744 <div class="memproto">
745       <table class="memname">
746         <tr>
747           <td class="memname">void powman_timer_enable_alarm_at_ms </td>
748           <td>(</td>
749           <td class="paramtype">uint64_t&#160;</td>
750           <td class="paramname"><em>alarm_time_ms</em></td><td>)</td>
751           <td></td>
752         </tr>
753       </table>
754 </div><div class="memdoc">
755
756 <p>Set an alarm at an absolute time in ms. </p>
757 <p >Note, the timer is stopped and then restarted as part of this function. This only controls the alarm if you want to use the alarm to wake up powman then you should use <a class="el" href="group__hardware__powman.html#ga284eb8137db4f4aa0ef21f52f2cd0f0a">powman_enable_alarm_wakeup_at_ms</a></p>
758 <dl class="params"><dt>Parameters</dt><dd>
759   <table class="params">
760     <tr><td class="paramname">alarm_time_ms</td><td>time at which the alarm will fire </td></tr>
761   </table>
762   </dd>
763 </dl>
764
765 </div>
766 </div>
767 <a id="ga4b843b70eaf83fb4b0d2fbee8ce1a015" name="ga4b843b70eaf83fb4b0d2fbee8ce1a015"></a>
768 <h2 class="memtitle"><span class="permalink"><a href="#ga4b843b70eaf83fb4b0d2fbee8ce1a015">&#9670;&nbsp;</a></span>powman_timer_enable_gpio_1hz_sync()</h2>
769
770 <div class="memitem">
771 <div class="memproto">
772       <table class="memname">
773         <tr>
774           <td class="memname">void powman_timer_enable_gpio_1hz_sync </td>
775           <td>(</td>
776           <td class="paramtype">uint32_t&#160;</td>
777           <td class="paramname"><em>gpio</em></td><td>)</td>
778           <td></td>
779         </tr>
780       </table>
781 </div><div class="memdoc">
782
783 <p>Use a 1Hz external signal as the powman timer source for seconds only. </p>
784 <p >Use a 1hz sync signal, such as from a gps for the seconds component of the timer. The milliseconds will still come from another configured source such as xosc or lposc</p>
785 <dl class="params"><dt>Parameters</dt><dd>
786   <table class="params">
787     <tr><td class="paramname">gpio</td><td>the gpio to use. must be 12, 14, 20, 22 </td></tr>
788   </table>
789   </dd>
790 </dl>
791
792 </div>
793 </div>
794 <a id="ga7e0048a9fe486dc4e6cc6b9ae7699924" name="ga7e0048a9fe486dc4e6cc6b9ae7699924"></a>
795 <h2 class="memtitle"><span class="permalink"><a href="#ga7e0048a9fe486dc4e6cc6b9ae7699924">&#9670;&nbsp;</a></span>powman_timer_set_1khz_tick_source_gpio()</h2>
796
797 <div class="memitem">
798 <div class="memproto">
799       <table class="memname">
800         <tr>
801           <td class="memname">void powman_timer_set_1khz_tick_source_gpio </td>
802           <td>(</td>
803           <td class="paramtype">uint32_t&#160;</td>
804           <td class="paramname"><em>gpio</em></td><td>)</td>
805           <td></td>
806         </tr>
807       </table>
808 </div><div class="memdoc">
809
810 <p>Use a 1KHz external tick as the powman timer source. </p>
811 <dl class="params"><dt>Parameters</dt><dd>
812   <table class="params">
813     <tr><td class="paramname">gpio</td><td>the gpio to use. must be 12, 14, 20, 22 </td></tr>
814   </table>
815   </dd>
816 </dl>
817
818 </div>
819 </div>
820 <a id="gacc08f760516b1b09a58a7121cdfc1f49" name="gacc08f760516b1b09a58a7121cdfc1f49"></a>
821 <h2 class="memtitle"><span class="permalink"><a href="#gacc08f760516b1b09a58a7121cdfc1f49">&#9670;&nbsp;</a></span>powman_timer_set_1khz_tick_source_lposc_with_hz()</h2>
822
823 <div class="memitem">
824 <div class="memproto">
825       <table class="memname">
826         <tr>
827           <td class="memname">void powman_timer_set_1khz_tick_source_lposc_with_hz </td>
828           <td>(</td>
829           <td class="paramtype">uint32_t&#160;</td>
830           <td class="paramname"><em>lposc_freq_hz</em></td><td>)</td>
831           <td></td>
832         </tr>
833       </table>
834 </div><div class="memdoc">
835
836 <p>Use the low power oscillator (specifying frequency) as the powman timer source. </p>
837 <dl class="params"><dt>Parameters</dt><dd>
838   <table class="params">
839     <tr><td class="paramname">lposc_freq_hz</td><td>specify an exact lposc freq to trim it </td></tr>
840   </table>
841   </dd>
842 </dl>
843
844 </div>
845 </div>
846 <a id="ga8fb8797fc3fbc9b7e9c30c6ae316065c" name="ga8fb8797fc3fbc9b7e9c30c6ae316065c"></a>
847 <h2 class="memtitle"><span class="permalink"><a href="#ga8fb8797fc3fbc9b7e9c30c6ae316065c">&#9670;&nbsp;</a></span>powman_timer_set_1khz_tick_source_xosc_with_hz()</h2>
848
849 <div class="memitem">
850 <div class="memproto">
851       <table class="memname">
852         <tr>
853           <td class="memname">void powman_timer_set_1khz_tick_source_xosc_with_hz </td>
854           <td>(</td>
855           <td class="paramtype">uint32_t&#160;</td>
856           <td class="paramname"><em>xosc_freq_hz</em></td><td>)</td>
857           <td></td>
858         </tr>
859       </table>
860 </div><div class="memdoc">
861
862 <p>Use the crystal oscillator as the powman timer source. </p>
863 <dl class="params"><dt>Parameters</dt><dd>
864   <table class="params">
865     <tr><td class="paramname">xosc_freq_hz</td><td>specify a crystal frequency </td></tr>
866   </table>
867   </dd>
868 </dl>
869
870 </div>
871 </div>
872 <a id="gaa2f30fea7e5b78efc2d89cf5e5f215ed" name="gaa2f30fea7e5b78efc2d89cf5e5f215ed"></a>
873 <h2 class="memtitle"><span class="permalink"><a href="#gaa2f30fea7e5b78efc2d89cf5e5f215ed">&#9670;&nbsp;</a></span>powman_timer_set_ms()</h2>
874
875 <div class="memitem">
876 <div class="memproto">
877       <table class="memname">
878         <tr>
879           <td class="memname">void powman_timer_set_ms </td>
880           <td>(</td>
881           <td class="paramtype">uint64_t&#160;</td>
882           <td class="paramname"><em>time_ms</em></td><td>)</td>
883           <td></td>
884         </tr>
885       </table>
886 </div><div class="memdoc">
887
888 <p>Set current time in ms. </p>
889 <dl class="params"><dt>Parameters</dt><dd>
890   <table class="params">
891     <tr><td class="paramname">time_ms</td><td>Current time in ms </td></tr>
892   </table>
893   </dd>
894 </dl>
895
896 </div>
897 </div>
898 </div><!-- contents -->
899 </div><!-- doc-content -->
900
901         <script src="main.js"></script>
902 </body>
903 </html>
This page took 0.082467 seconds and 4 git commands to generate.