[processor-sdk/pdk.git] / packages / ti / drv / sciclient / soc / sysfw / binaries / system-firmware-public-documentation / 2_tisci_msgs / pm / lpm.html
3 <!DOCTYPE html>
4 <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
5 <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
6 <head>
7 <meta charset="utf-8">
9 <meta name="viewport" content="width=device-width, initial-scale=1.0">
11 <title>TISCI PM Low Power Mode API Documentation — TISCI User Guide</title>
16 <link rel="shortcut icon" href="../../_static/favicon.ico"/>
29 <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
33 <link rel="stylesheet" href="../../_static/theme_overrides.css" type="text/css" />
37 <link rel="index" title="Index"
38 href="../../genindex.html"/>
39 <link rel="search" title="Search" href="../../search.html"/>
40 <link rel="top" title="TISCI User Guide" href="../../index.html"/>
41 <link rel="up" title="Chapter 2: TISCI Message Documentation" href="../index.html"/>
42 <link rel="next" title="Resource Management IRQ TISCI Message Description" href="../rm/rm_irq.html"/>
43 <link rel="prev" title="TISCI PM System Reset API Documentation" href="sysreset.html"/>
46 <script src="../../_static/js/modernizr.min.js"></script>
48 </head>
50 <body class="wy-body-for-nav" role="document">
51 <header id="tiHeader">
52 <div class="top">
53 <ul>
54 <li id="top_logo">
55 <a href="http://www.ti.com">
56 <img src="../../_static/img/ti_logo.png"/>
57 </a>
58 </li>
59 </ul>
60 </div>
61 <div class="nav"></div>
62 </header>
63 <div class="wy-grid-for-nav">
66 <nav data-toggle="wy-nav-shift" class="wy-nav-side">
67 <div class="wy-side-scroll">
68 <div class="wy-side-nav-search">
72 <a href="../../index.html" class="icon icon-home"> TISCI
76 </a>
81 <div class="version">
82 08.04.02
83 </div>
88 <div role="search">
89 <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
90 <input type="text" name="q" placeholder="Search docs" />
91 <input type="hidden" name="check_keywords" value="yes" />
92 <input type="hidden" name="area" value="default" />
93 </form>
94 </div>
97 </div>
99 <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
103 <ul class="current">
104 <li class="toctree-l1"><a class="reference internal" href="../../1_intro/index.html">Chapter 1: Introduction</a></li>
105 <li class="toctree-l1 current"><a class="reference internal" href="../index.html">Chapter 2: TISCI Message Documentation</a><ul class="current">
106 <li class="toctree-l2"><a class="reference internal" href="../general/TISCI_header.html">Texas Instruments System Controller Interface (TISCI)</a></li>
107 <li class="toctree-l2"><a class="reference internal" href="../index.html#general">General</a></li>
108 <li class="toctree-l2 current"><a class="reference internal" href="../index.html#power-management-pm">Power Management (PM)</a><ul class="current">
109 <li class="toctree-l3"><a class="reference internal" href="devices.html">TISCI PM Device API Documentation</a></li>
110 <li class="toctree-l3"><a class="reference internal" href="clocks.html">TISCI PM Clock API Documentation</a></li>
111 <li class="toctree-l3"><a class="reference internal" href="sysreset.html">TISCI PM System Reset API Documentation</a></li>
112 <li class="toctree-l3 current"><a class="current reference internal" href="#">TISCI PM Low Power Mode API Documentation</a><ul>
113 <li class="toctree-l4"><a class="reference internal" href="#introduction">Introduction</a></li>
114 <li class="toctree-l4"><a class="reference internal" href="#tisci-msg-prepare-sleep">TISCI_MSG_PREPARE_SLEEP</a></li>
115 <li class="toctree-l4"><a class="reference internal" href="#tisci-msg-enter-sleep">TISCI_MSG_ENTER_SLEEP</a></li>
116 </ul>
117 </li>
118 </ul>
119 </li>
120 <li class="toctree-l2"><a class="reference internal" href="../index.html#resource-management-rm">Resource Management (RM)</a></li>
121 <li class="toctree-l2"><a class="reference internal" href="../index.html#secure-management">Secure Management</a></li>
122 </ul>
123 </li>
124 <li class="toctree-l1"><a class="reference internal" href="../../3_boardcfg/index.html">Chapter 3: Board Configuration</a></li>
125 <li class="toctree-l1"><a class="reference internal" href="../../4_trace/index.html">Chapter 4: Interpreting Trace Data</a></li>
126 <li class="toctree-l1"><a class="reference internal" href="../../5_soc_doc/index.html">Chapter 5: SoC Family Specific Documentation</a></li>
127 <li class="toctree-l1"><a class="reference internal" href="../../6_topic_user_guides/index.html">Chapter 6: Topic User Guides</a></li>
128 </ul>
132 </div>
133 </div>
134 </nav>
136 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
139 <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
140 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
141 <a href="../../index.html">TISCI</a>
142 </nav>
146 <div class="wy-nav-content">
147 <div class="rst-content">
154 <div role="navigation" aria-label="breadcrumbs navigation">
155 <ul class="wy-breadcrumbs">
156 <li><a href="../../index.html">Docs</a> »</li>
158 <li><a href="../index.html">Chapter 2: TISCI Message Documentation</a> »</li>
160 <li>TISCI PM Low Power Mode API Documentation</li>
161 <li class="wy-breadcrumbs-aside">
165 </li>
166 </ul>
167 <hr/>
168 </div>
169 <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
170 <div itemprop="articleBody">
172 <div class="section" id="tisci-pm-low-power-mode-api-documentation">
173 <h1>TISCI PM Low Power Mode API Documentation<a class="headerlink" href="#tisci-pm-low-power-mode-api-documentation" title="Permalink to this headline">¶</a></h1>
174 <div class="admonition note">
175 <p class="first admonition-title">Note</p>
176 <p class="last">This document is only applicable to AM62 device.</p>
177 </div>
178 <div class="section" id="introduction">
179 <h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
180 <p>This document describes the TISCI API for entering different low power modes
181 supported by the SOC.</p>
182 <div class="section" id="supported-low-power-modes">
183 <h3>Supported low power modes<a class="headerlink" href="#supported-low-power-modes" title="Permalink to this headline">¶</a></h3>
184 <p><p><code class="docutils literal"><span class="pre">TISCI_MSG_VALUE_SLEEP_MODE_DEEP_SLEEP</span>          <span class="pre">0x0</span></code></p>
185 <p>Sleep mode in which complete SOC excpet the wakeup domain in not turned
186 off.</p>
187 </p>
188 <p><p><code class="docutils literal"><span class="pre">TISCI_MSG_VALUE_SLEEP_MODE_MCU_ONLY</span>          <span class="pre">0x1</span></code></p>
189 <p>Sleep mode in which complete SOC excpet the wakeup and MCU domain in not
190 turned off.</p>
191 </p>
192 <p><p><code class="docutils literal"><span class="pre">TISCI_MSG_VALUE_SLEEP_MODE_STANDBY</span>          <span class="pre">0x2</span></code></p>
193 <p>Sleep mode in which software is in low power mode but the hardware remains
194 on</p>
195 </p>
196 </div>
197 <div class="section" id="device-configuration-and-control-apis">
198 <h3>Device configuration and control APIs<a class="headerlink" href="#device-configuration-and-control-apis" title="Permalink to this headline">¶</a></h3>
199 <table border="1" class="docutils">
200 <colgroup>
201 <col width="29%" />
202 <col width="71%" />
203 </colgroup>
204 <thead valign="bottom">
205 <tr class="row-odd"><th class="head">TISCI Message ID</th>
206 <th class="head">Message Name</th>
207 </tr>
208 </thead>
209 <tbody valign="top">
210 <tr class="row-even"><td>0x0300</td>
211 <td><a class="reference internal" href="#pm-lpm-msg-prepare-sleep"><span class="std std-ref">TISCI_MSG_PREPARE_SLEEP</span></a></td>
212 </tr>
213 <tr class="row-odd"><td>0x0301</td>
214 <td><a class="reference internal" href="#pm-lpm-msg-enter-sleep"><span class="std std-ref">TISCI_MSG_ENTER_SLEEP</span></a></td>
215 </tr>
216 </tbody>
217 </table>
218 </div>
219 </div>
220 <div class="section" id="tisci-msg-prepare-sleep">
221 <span id="pm-lpm-msg-prepare-sleep"></span><h2>TISCI_MSG_PREPARE_SLEEP<a class="headerlink" href="#tisci-msg-prepare-sleep" title="Permalink to this headline">¶</a></h2>
222 <div class="section" id="objective">
223 <h3>Objective<a class="headerlink" href="#objective" title="Permalink to this headline">¶</a></h3>
224 <p>Prepare the SOC for entering into a low power mode.</p>
225 </div>
226 <div class="section" id="usage">
227 <h3>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h3>
228 <table border="1" class="docutils">
229 <colgroup>
230 <col width="75%" />
231 <col width="25%" />
232 </colgroup>
233 <tbody valign="top">
234 <tr class="row-odd"><td><strong>Message Type</strong></td>
235 <td>Normal</td>
236 </tr>
237 <tr class="row-even"><td><strong>Secure Queue Only?</strong></td>
238 <td>No</td>
239 </tr>
240 </tbody>
241 </table>
242 </div>
243 <div class="section" id="tisci-message-id">
244 <h3>TISCI Message ID<a class="headerlink" href="#tisci-message-id" title="Permalink to this headline">¶</a></h3>
245 <p><code class="docutils literal"><span class="pre">TISCI_MSG_PREPARE_SLEEP</span>          <span class="pre">(0x0300U)</span></code></p>
246 </div>
247 <div class="section" id="message-data-structures">
248 <h3>Message Data Structures<a class="headerlink" href="#message-data-structures" title="Permalink to this headline">¶</a></h3>
249 <p><p><strong>struct tisci_msg_prepare_sleep_req</strong></p>
250 <p>Request for TISCI_MSG_PREPARE_SLEEP.</p>
251 <table border="1" class="docutils">
252 <colgroup>
253 <col width="9%" />
254 <col width="15%" />
255 <col width="76%" />
256 </colgroup>
257 <thead valign="bottom">
258 <tr class="row-odd"><th class="head">Parameter</th>
259 <th class="head">Type</th>
260 <th class="head">Description</th>
261 </tr>
262 </thead>
263 <tbody valign="top">
264 <tr class="row-even"><td>hdr</td>
265 <td>struct tisci_header</td>
266 <td>TISCI header to provide ACK/NAK flags to the host.</td>
267 </tr>
268 <tr class="row-odd"><td>mode</td>
269 <td>u8</td>
270 <td>Low power mode to enter.</td>
271 </tr>
272 <tr class="row-even"><td>ctx_lo</td>
273 <td>u32</td>
274 <td>Low 32-bits of physical pointer to address to use for context save.</td>
275 </tr>
276 <tr class="row-odd"><td>ctx_hi</td>
277 <td>u32</td>
278 <td>High 32-bits of physical pointer to address to use for context save.</td>
279 </tr>
280 <tr class="row-even"><td>debug_flags</td>
281 <td>u32</td>
282 <td>Flags that can be set to halt the sequence during suspend or resume to allow JTAG connection and debug.</td>
283 </tr>
284 </tbody>
285 </table>
286 <p>This message is used as the first step of entering a low power mode. It
287 allows configurable information, including which state to enter to be
288 easily shared from the application, as this is a non-secure message and
289 therefore can be sent by anyone.
290 Notes:
291 Mode is defined as one of TISCI_MSG_VALUE_SLEEP_MODE_x macros.
292 ctx_lo and ctx_hi are to be a reserved memory region as decided on by
293 the HLOS. This region should be a carveout in DDR and valid for use
294 with DMA. Otherwise there are no constraints on this memory. An
295 encrypted blob will be placed here and only a valid blob can be
296 decrypted and authenticated, which eliminates risk of tampering.</p>
297 </p>
298 <p><p><strong>struct tisci_msg_prepare_sleep_resp</strong></p>
299 <p>Response for TISCI_MSG_PREPARE_SLEEP.</p>
300 <table border="1" class="docutils">
301 <colgroup>
302 <col width="15%" />
303 <col width="24%" />
304 <col width="60%" />
305 </colgroup>
306 <thead valign="bottom">
307 <tr class="row-odd"><th class="head">Parameter</th>
308 <th class="head">Type</th>
309 <th class="head">Description</th>
310 </tr>
311 </thead>
312 <tbody valign="top">
313 <tr class="row-even"><td>hdr</td>
314 <td>struct tisci_header</td>
315 <td>TISCI header to provide ACK/NAK flags to the host.</td>
316 </tr>
317 </tbody>
318 </table>
319 </p>
320 </div>
321 </div>
322 <div class="section" id="tisci-msg-enter-sleep">
323 <span id="pm-lpm-msg-enter-sleep"></span><h2>TISCI_MSG_ENTER_SLEEP<a class="headerlink" href="#tisci-msg-enter-sleep" title="Permalink to this headline">¶</a></h2>
324 <div class="section" id="id1">
325 <h3>Objective<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
326 <p>Enter into a low power mode.</p>
327 <div class="admonition note">
328 <p class="first admonition-title">Note</p>
329 <p class="last">Before calling the TISCI_MSG_ENTER_SLEEP, TISCI_MSG_PREPARE_SLEEP should be
330 called to prepare for the low power mode.</p>
331 </div>
332 </div>
333 <div class="section" id="id2">
334 <h3>Usage<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
335 <table border="1" class="docutils">
336 <colgroup>
337 <col width="75%" />
338 <col width="25%" />
339 </colgroup>
340 <tbody valign="top">
341 <tr class="row-odd"><td><strong>Message Type</strong></td>
342 <td>Normal</td>
343 </tr>
344 <tr class="row-even"><td><strong>Secure Queue Only?</strong></td>
345 <td>Yes</td>
346 </tr>
347 </tbody>
348 </table>
349 </div>
350 <div class="section" id="id3">
351 <h3>TISCI Message ID<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
352 <p><code class="docutils literal"><span class="pre">TISCI_MSG_ENTER_SLEEP</span>          <span class="pre">(0x0301U)</span></code></p>
353 </div>
354 <div class="section" id="id4">
355 <h3>Message Data Structures<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
356 <p><p><strong>struct tisci_msg_enter_sleep_req</strong></p>
357 <p>Request for TISCI_MSG_ENTER_SLEEP.</p>
358 <table border="1" class="docutils">
359 <colgroup>
360 <col width="13%" />
361 <col width="17%" />
362 <col width="70%" />
363 </colgroup>
364 <thead valign="bottom">
365 <tr class="row-odd"><th class="head">Parameter</th>
366 <th class="head">Type</th>
367 <th class="head">Description</th>
368 </tr>
369 </thead>
370 <tbody valign="top">
371 <tr class="row-even"><td>hdr</td>
372 <td>struct tisci_header</td>
373 <td>TISCI header to provide ACK/NAK flags to the host.</td>
374 </tr>
375 <tr class="row-odd"><td>mode</td>
376 <td>u8</td>
377 <td>Low power mode to enter.</td>
378 </tr>
379 <tr class="row-even"><td>proc_id</td>
380 <td>u8</td>
381 <td>Processor id to be used for restoring boot vector and debug status upon resume</td>
382 </tr>
383 <tr class="row-odd"><td>core_resume_lo</td>
384 <td>u32</td>
385 <td>Low 32-bits of physical pointer to address for core to begin execution upon resume.</td>
386 </tr>
387 <tr class="row-even"><td>core_resume_hi</td>
388 <td>u32</td>
389 <td>High 32-bits of physical pointer to address for core to begin execution upon resume.</td>
390 </tr>
391 </tbody>
392 </table>
393 <p>This message is to be sent after TISCI_MSG_PREPARE_SLEEP and actually triggers entry into the specified
394 low power mode.</p>
395 </p>
396 <p><p><strong>struct tisci_msg_enter_sleep_resp</strong></p>
397 <p>Response for TISCI_MSG_ENTER_SLEEP.</p>
398 <table border="1" class="docutils">
399 <colgroup>
400 <col width="13%" />
401 <col width="21%" />
402 <col width="66%" />
403 </colgroup>
404 <thead valign="bottom">
405 <tr class="row-odd"><th class="head">Parameter</th>
406 <th class="head">Type</th>
407 <th class="head">Description</th>
408 </tr>
409 </thead>
410 <tbody valign="top">
411 <tr class="row-even"><td>hdr</td>
412 <td>struct tisci_header</td>
413 <td>TISCI header to provide ACK/NAK flags to the host.</td>
414 </tr>
415 <tr class="row-odd"><td>status</td>
416 <td>u32</td>
417 <td>Value that gives information about what happened during LPM cycle</td>
418 </tr>
419 </tbody>
420 </table>
421 </p>
422 </div>
423 </div>
424 </div>
427 </div>
428 </div>
429 <footer>
431 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
433 <a href="../rm/rm_irq.html" class="btn btn-neutral float-right" title="Resource Management IRQ TISCI Message Description" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
436 <a href="sysreset.html" class="btn btn-neutral" title="TISCI PM System Reset API Documentation" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
438 </div>
441 <hr/>
443 <div role="contentinfo">
444 <p>
445 <a href="http://www.ti.com/corp/docs/legal/copyright.shtml">© Copyright 2016-2022</a>, Texas Instruments Incorporated. All rights reserved. <br>
446 <a href="http://www.ti.com/corp/docs/legal/trademark/trademrk.htm">Trademarks</a> | <a href="http://www.ti.com/corp/docs/legal/privacy.shtml">Privacy policy</a> | <a href="http://www.ti.com/corp/docs/legal/termsofuse.shtml">Terms of use</a> | <a href="http://www.ti.com/lsds/ti/legal/termsofsale.page">Terms of sale</a>
448 </p>
449 </div>
451 </footer>
453 </div>
454 </div>
456 </section>
458 </div>
464 <script type="text/javascript">
465 var DOCUMENTATION_OPTIONS = {
466 URL_ROOT:'../../',
467 VERSION:'08.04.02',
468 COLLAPSE_INDEX:false,
469 FILE_SUFFIX:'.html',
470 HAS_SOURCE: true
471 };
472 </script>
473 <script type="text/javascript" src="../../_static/jquery.js"></script>
474 <script type="text/javascript" src="../../_static/underscore.js"></script>
475 <script type="text/javascript" src="../../_static/doctools.js"></script>
476 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
478 <script src="http://www.ti.com/assets/js/headerfooter/analytics.js" type="text/javascript" charset="utf-8"></script>
484 <script type="text/javascript" src="../../_static/js/theme.js"></script>
489 <script type="text/javascript">
490 jQuery(function () {
491 SphinxRtdTheme.StickyNav.enable();
492 });
494 var menuHeight = window.innerHeight;
496 var contentOffset = $(".wy-nav-content-wrap").offset();
497 var contentHeight = $(".wy-nav-content-wrap").height();
498 var contentBottom = contentOffset.top + contentHeight;
500 function setNavbarTop() {
501 var scrollTop = $(window).scrollTop();
502 var maxTop = scrollTop + menuHeight;
504 // If past the header
505 if (scrollTop > contentOffset.top && maxTop < contentBottom) {
506 stickyTop = scrollTop - contentOffset.top;
507 } else if (maxTop > contentBottom) {
508 stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom);
509 } else {
510 stickyTop = 0;
511 }
513 $(".wy-nav-side").css("top", stickyTop);
514 }
516 $(document).ready(function() {
517 setNavbarTop();
518 $(window).scroll(function () {
519 setNavbarTop();
520 });
522 $('body').on("mousewheel", function () {
523 // Remove default behavior
524 event.preventDefault();
525 // Scroll without smoothing
526 var wheelDelta = event.wheelDelta;
527 var currentScrollPosition = window.pageYOffset;
528 window.scrollTo(0, currentScrollPosition - wheelDelta);
529 });
530 });
531 </script>
534 </body>
535 </html>