Showing posts with label Linux PM. Show all posts
Showing posts with label Linux PM. Show all posts

Friday, December 7, 2012

Linux PM Blocks


Clock Framework
    Manages clocks, i.e. shut it down to save power
    Kernel APIs - clk_get, clk_enable,clk_disable,clk_put, clk_get_rate
    Drivers use clock API to respond to power management notifications

Suspend/Resume infrastructure
    High-level - suspend.c
    Low-level - sleep.S
    platform hooks in kernel
    Requires suspend() & resume() hooks in drivers

CPU Idle
    Kernel needs to be tickless
    Needs CPU driver with idle states managed by governors

Frequency & voltage scaling
    CPUFreq - responsible for defining operating points
    Drivers for low-level HW control, governors

Regulator framework
Power Management Qos

Methods to save power:

  •     Turn on only what's used
  •     DVFS when possible
  •     Manage power with states
  •     PLL Bypass/Power down
  •     Deep sleep mode
  •     RTC-only mode