Changes

Jump to: navigation, search

NELK Power Management

151 bytes added, 11:36, 14 January 2014
m
no edit summary
{{InfoBoxTop}}
{{AppliesToNaonFamily}}
{{InfoBoxBottom}}
 
== Introduction ==
In this article we'll see how Power Management is implemented in [[Naon Embedded Linux Kit (NELK)|NELK]], which option is available to the user and which result, related to power consumption, can be reached.
The situation is even harder to manage because of internal system constraint: changing the frequency for a subsystem requires changing its power supply (as a rule of thumb, higher power supply is required to have a stable higher frequency). There are some other restrictions that do not allow the user to select arbitrary settings on different subsystems (which would lead to system instability).
For its [[:Category:Naon|Naon]] platform, Dave '''DAVE Embeddded Systems''' provides a ''custom'' PM driver that allows for selection, at runtime, of an OPP for each subsystem (Cortex A8, CORE, DSP, HDVICP) providing a default stable voltage/frequency setting. Some OPPs are directly derived from the ones officially supported by TI (see DM814x TRM at DVFS section, for example) and some other custom OPPs are provided by Dave'''DAVE Embeddded Systems'''.
{| class="wikitable"
{{Board Specific Information|text=To allow UART wakeup from Linux console, the user should add '''no_console_suspend''' parameter to kernel command line. See [[Change Linux Command Line Parameter from U-boot]] for more information on how to do this.}}
Due to system complexity and user application dependency, standby mode requires a bit of configuration for optimal performance. The user can (and should) set the standby configuration for various clocks, depending on its application. However Dave '''DAVE Embeddded Systems''' provides a default clock configuration and system setup that usually is both functional and best performing for common [[Category:Naon|Naon]] based platform. Clocks are managed by the same Naon PM driver described on the previous sections.
From the '''user point of view''', entering standby is a matter of:
# enter standby
The first step is the most complex one, but is required to obtain the best performances in relation to power consumption. Dave '''DAVE Embeddded Systems''' provides a script that correctly configures most of the unused clocks and gives the best power result, without too much impact on suspend/wakeup performance (in terms of suspend/wakeup latency).
Here is the bash script provided with NELK:
== PM performance and power consumption summary ==
In the following table we summarize the power consumption of the whole [[Category:Naon|Naon]] module (3.3V power supply) in the different situations.
{| class="wikitable"
* in standby mode on module 10/100Mbit Ethernet Phy is kept in reset
* 0% on both ''Processing'' columns means that the subsystem is turned on but without input
* shut shunt voltage has been measured on R422 (10mOhm), in [[:Category:NaonEVB-Mid|NaonEVB-Mid]], which feeds [[:Category:Naon|Naon]] module 3.3V power supply
== Tools ==

Navigation menu