Overview on power management design

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Profile of suspend/resume)
(catchg)
 
(6 intermediate revisions by 5 users not shown)
Line 4: Line 4:
 
* Poweroff Mode
 
* Poweroff Mode
 
* Slow Mode ??
 
* Slow Mode ??
 +
 +
There has also been discussion (from Cesar) on the kernel list about exploiting the PM suspend and resume driver APIs on a more finegrained basis to tailor consumption to what the device finds itself doing, maybe driven by what dev nodes have handles open on them.
  
 
== Profile of suspend/resume ==
 
== Profile of suspend/resume ==
Line 20: Line 22:
 
The following modules/events are listed as wake-up sources for GTA02 so far.  
 
The following modules/events are listed as wake-up sources for GTA02 so far.  
  
** GSM:OK  
+
** GSM
***But the suspend current is somehow too high (18mA). Need more investigation.  
+
***Incoming call:[OK]
 +
***SMS:[OK]
 +
***The suspend current is about 7mA.
 
** WiFi:[Not verified/implemented]
 
** WiFi:[Not verified/implemented]
 
** PMU
 
** PMU
 
*** Power key:[OK]
 
*** Power key:[OK]
*** RTC(alarm clock):[Not verified/implemented]
+
*** RTC(alarm clock):[OK]
*** USB insert: [Not verified/implemented]
+
** USB insert:[OK]
** Aux key:This button is used as NOR booting control. It would not enable as wake-up source anymore.  
+
** AUX key:This button is used as NOR booting control. It would not enable as wake-up source anymore.  
** Jackinsert [Not verified/implemented]
+
** Jackinsert:[OK]
 +
** Hold key: There is no requirement to use hold key as wake up source. Now it's eliminated in gta02.
  
 
== GPIO config ==  
 
== GPIO config ==  
Line 38: Line 43:
 
Initial idea is to provide an environment to test suspend/resume process and collect the suspending current.  
 
Initial idea is to provide an environment to test suspend/resume process and collect the suspending current.  
 
Basically, we could use multimeter with GPIB to achieve the whole process automatically.
 
Basically, we could use multimeter with GPIB to achieve the whole process automatically.
 +
 +
[[Category:Low-level software]]
 +
[[Category:Hardware]]

Latest revision as of 10:25, 19 July 2009

Contents

[edit] State diagram

  • Normal Mode
  • Sleep Mode
  • Poweroff Mode
  • Slow Mode ??

There has also been discussion (from Cesar) on the kernel list about exploiting the PM suspend and resume driver APIs on a more finegrained basis to tailor consumption to what the device finds itself doing, maybe driven by what dev nodes have handles open on them.

[edit] Profile of suspend/resume

  • Estimate suspend current

System only keeps two power sources, AUTO3v3 and DOWN2 1v8, when it is in suspend. Theoretically, the suspend current should be the sum of the current of all modules which are in sleep/suspend mode connected these two power channels. So we have to know the current consumption of following modules which are in sleep/suspend mode individually.

    • Glamo
    • BT
    • AMP
    • WLAN
    • SDRAM
    • NAND
    • LCM
  • Wake-up source

The following modules/events are listed as wake-up sources for GTA02 so far.

    • GSM
      • Incoming call:[OK]
      • SMS:[OK]
      • The suspend current is about 7mA.
    • WiFi:[Not verified/implemented]
    • PMU
      • Power key:[OK]
      • RTC(alarm clock):[OK]
    • USB insert:[OK]
    • AUX key:This button is used as NOR booting control. It would not enable as wake-up source anymore.
    • Jackinsert:[OK]
    • Hold key: There is no requirement to use hold key as wake up source. Now it's eliminated in gta02.

[edit] GPIO config

  • gpio config on A5
  • gpio config when system get into sleep mode (suspend)
  • config of glamo in sleep mode

[edit] Automated suspend/resume testing

Initial idea is to provide an environment to test suspend/resume process and collect the suspending current. Basically, we could use multimeter with GPIB to achieve the whole process automatically.

Personal tools

State diagram

  • Normal Mode
  • Sleep Mode
  • Poweroff Mode
  • Slow Mode ??

Profile of suspend/resume

  • Estimate suspend current

System only keeps two power sources, AUTO3v3 and DOWN2 1v8, when it is in suspend. Theoretically, the suspend current should be the sum of the current of all modules which are in sleep/suspend mode connected these two power channels. So we have to know the current consumption of following modules which are in sleep/suspend mode individually.

    • Glamo
    • BT
    • AMP
    • WLAN
    • SDRAM
    • NAND
    • LCM
  • Wake-up source

The following modules/events are listed as wake-up sources for GTA02 so far.

    • GSM:OK
      • But the suspend current is somehow too high (18mA). Need more investigation.
    • WiFi:[Not verified/implemented]
    • PMU
      • Power key:[OK]
      • RTC(alarm clock):[Not verified/implemented]
      • USB insert: [Not verified/implemented]
    • Aux key:This button is used as NOR booting control. It would not enable as wake-up source anymore.
    • Jackinsert [Not verified/implemented]

GPIO config

  • gpio config on A5
  • gpio config when system get into sleep mode (suspend)
  • config of glamo in sleep mode

Automated suspend/resume testing

Initial idea is to provide an environment to test suspend/resume process and collect the suspending current. Basically, we could use multimeter with GPIB to achieve the whole process automatically.