TS-7970 Silabs Sleep Mode: Difference between revisions
No edit summary |
(Formatting) |
||
Line 1: | Line 1: | ||
The TS-7970 implements a very low power sleep mode using the onboard supervisory microcontroller. This allows powering off the i.MX6 CPU entirely. While in this mode the entire board will | The TS-7970 implements a very low power sleep mode using the onboard supervisory microcontroller. This allows powering off the i.MX6 CPU entirely. While in this mode the entire board will consume about 26 mW. | ||
The board can be woken 3 ways: | The board can be woken 3 ways: | ||
Line 6: | Line 6: | ||
* PUSH_SW# goes low on HD1. The SW1 signal is brought to the header so connected cards can wake the TS-7970. | * PUSH_SW# goes low on HD1. The SW1 signal is brought to the header so connected cards can wake the TS-7970. | ||
The sleep mode can be entered | The sleep mode can be entered by calling 'tshwctl --sleep 60' to sleep for 60 seconds, but this typically should not be called directly. This would be equivalent to disconnecting power while booted which can cause data loss. | ||
The Yocto, Debian, or Ubuntu distributions use systemd to manage shutdown. When systemd shuts down it will call all executables in /lib/systemd/system-shutdown/. Create a script silabs-sleep in | The Yocto, Debian, or Ubuntu distributions use systemd to manage shutdown. When systemd shuts down it will call all executables in the "/lib/systemd/system-shutdown/". Create a script with the name of "silabs-sleep" in said directory with these contents: | ||
<source lang=bash> | <source lang=bash> |
Revision as of 15:08, 6 March 2019
The TS-7970 implements a very low power sleep mode using the onboard supervisory microcontroller. This allows powering off the i.MX6 CPU entirely. While in this mode the entire board will consume about 26 mW.
The board can be woken 3 ways:
- Timer - sleep mode requires specifying an amount of seconds to sleep (up to 16777215).
- SW1 - Pressing the button on the side of the board.
- PUSH_SW# goes low on HD1. The SW1 signal is brought to the header so connected cards can wake the TS-7970.
The sleep mode can be entered by calling 'tshwctl --sleep 60' to sleep for 60 seconds, but this typically should not be called directly. This would be equivalent to disconnecting power while booted which can cause data loss.
The Yocto, Debian, or Ubuntu distributions use systemd to manage shutdown. When systemd shuts down it will call all executables in the "/lib/systemd/system-shutdown/". Create a script with the name of "silabs-sleep" in said directory with these contents:
#!/bin/bash
tsmicroctl --sleep 60
And make it executable:
chmod a+x /lib/systemd/system-shutdown/silabs-sleep
Now the board will sleep immediately following a shutdown. It is safe during the sleep mode to disconnect power.