With the ARM running Angstrom Linux as shipped with the Logic OMAP-L138 EVM is there support for putting the ARM into any of the low power modes described in chapter 9 of the Reference Guide (SPRUGM7C)?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
A beta release of power management SW is scheduled for mid-late Feb. The goal is to eventually implement most of the features you are seeing in Ch9 including: PSC clock gating, ARM wait-for-interrupt mode, mDDR self-refresh, DVFS, and deep sleep.
Will all of the features you mentioned be addressed in the Feb beta release, and if not, do you know which features are targeted for availability within the next few months?
Below is a snapshot of the planned features and their current status. Dates may change.
*The kernel keeps ARM, ARM ROM, EDMA, AINTC and EMIF3 always enabled.
Details on cpufreq and cpuidle
http://wiki.davincidsp.com/index.php/OMAP-L1_Linux_Drivers_Usage#Power_Management
Details on building in support for Linux PM
http://wiki.davincidsp.com/index.php/GSG:_Building_Software_Components_for_OMAP-L1#Power_Management
Kernel documentation in Suspend-to-RAM (WIP feature at TI for OMAPL138)
http://lxr.linux.no/#linux+v2.6.32/Documentation/power/
Table didn't come through the first time.
Hardware Power Management Feature |
Linux Support |
Availability |
PSC Clock Gating |
Clock Framework* clk_get clk_enable clk_disable |
Now |
ARM WFI |
cpuidle state 0 state 1 |
Now |
mDDR self-refresh |
cpuidle state 1 |
Now |
Dynamic Voltage and Frequency Scaling (DVFS) |
cpufreq |
WIP, late Feb |
Deep Sleep |
suspend-to-RAM |
WIP, late Feb |
Hi. I am also interested in the WFI feature purely for power-saving reasons. Although you state that the CPUIDLE driver is currently working in the kernel, I don't see any power-saving when using the driver vs. not using it.
Here is my current setup:
* 2.6.33-rc6 kernel from the linux-davinci git tree.
* CPU frequency 300MHz
* DSP held in reset by U-boot
* Boot to Linux console and measure the power consumed by the 1.2V CORE rail.
- with CPUIDLE - 156mW
- without CPUIDLE - 157mW
I expected that the CPUIDLE driver would provide some power-saving. Can you please explain why this is not the case?
Thanks,
James
I checked with the SW folks and apparently WFI is the kernel default state. cpuidle additionally puts the mDDR in self-refresh state which would show on other L138 supplies not as much on the core supply. Based on this info, it sort of makes sense that cpuidle would not show to have an impact on the core supply. To reduce the power consumption you would have play with things such as peripheral clock gating, CPU frequency, and core voltage.