PM: Add wake lock/unlock APIs to control deep sleep mode
authorJuan Gutierrez <jgutierrez@ti.com>
Thu, 8 Sep 2011 15:42:22 +0000 (10:42 -0500)
committerSuman Anna <s-anna@ti.com>
Tue, 13 Sep 2011 19:16:11 +0000 (14:16 -0500)
commitff1023cbc98fdd1ef9dab4f8ea5e2055ae421946
tree0f54605acb208a3584b344bc637a69b3725c8aeb
parentbff77d3119f0f1067af80796f8d4384b3e4cefe3
PM: Add wake lock/unlock APIs to control deep sleep mode

DeepSleep mode is used to gate the CPU clock when the M3 core
hits WFI. However, some internal resources like CTM and SysTick
timers are sourced from the CPU clock. So, when the CPU clk is
gated, these resources are also gated and stop working as soon
as the M3 Core idles.

The following API are provided to control the deep sleep mode.
Users must call these API in pairs.
    Void IpcPower_wakeLock();
    Void IpcPower_wakeUnlock();

The IpcPower_wakeLock() disables the deep sleep mode, and when
invoked, allows the internal resources to be functional as the
core is never gated. The IpcPower_wakeUnlock() restores the deep
sleep mode.

Signed-off-by: Juan Gutierrez <jgutierrez@ti.com>
src/ti/pm/IpcPower.c
src/ti/pm/IpcPower.h