NetModule OEM Linux Distribution provides two standard high-level power management strategies:
system-wide power management,
working-state power management.
System-wide power management strategy is using global low-power states to reduce system activity. In these states, referred as sleep states, user space code cannot be executed. Depending on sleep state supported by the platform, different levels of energy saving can be achieved. To get back to the working state, the system expects to receive a special signal from one of the designated devices.
Working-state power management strategy corresponds to adjusting the power states of individual hardware components.
DA9063 System PMIC
Supported sleep states¶
This state provides a relatively straightforward transition back to the working state. In this state the system core logic retains power and no operating state is lost. It offers moderate, real energy savings.
- PMIC’s Power Down Mode
Platforms with DA9063 System PMIC can support more sophisticated energy saving options by disabling the system power domain. The system power domain is enabled on a signal received from a preconfigured wake-up device.
Supported wake-up scenarios¶
RTC based alarm
IMU based events: single-tap, double-tap
NetModule OEM Linux Distribution can run on devices supplied by a smart battery. To get current status of the battery our distribution provides a battery test tool.
User space tools and configuration¶
Enter standby state:
$ echo standby > /sys/power/state
Wake up from standby after 10 seconds:
rtcwake -d /dev/rtc0 -m standby -s 10
or without rtcwake in your image:
echo +10 > /sys/class/rtc/rtc0/wakealarm && echo standby > /sys/power/state
Enter PMIC’s power down mode:
Start system after ~1 min when in PMIC’s power down mode:
echo +60 > /sys/class/rtc/rtc0/wakealarm && poweroff
Using a battery test:
$ batterytest -h battery tool Examples: batterytest -v get voltage batterytest -a get current batterytest -t do battery test Main modes of operation: -h, --help print this help -A, --all print all battery information -v, --voltage get battery voltage -a, --current get battery current -c, --capacity get remaining capacity -r, --reg raw mode, register access -t, --test run battery test