diff options
author | Sanjay Singh Rawat <srawat@nvidia.com> | 2011-12-07 19:34:51 +0530 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2011-12-21 12:06:24 +0530 |
commit | 3a7ea27dfc3d658479c5380daa490258cf1146ae (patch) | |
tree | 328efb6c71e4a4e166eb855819c73628d25cfc46 /arch/arm/mach-tegra/pm-irq.c | |
parent | e2ddd41202faf988811a77437b64e871e88bf673 (diff) |
arm: tegra: power: clear pmc wake status register on suspend
PMC register hold the reason for wakeup from LP0. The keypad driver resume the
device from the perspective of the User if the Power Key event is sent in the
register. Reset the register before going to suspend so that the status won't
get carried to the next wake time as in this case of LP1.
Bug 909191
Bug 913110
Change-Id: Ib00b26cd65008327f53b120ca8d0a4dbd3628227
Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-on: http://git-master/r/68686
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/pm-irq.c')
-rw-r--r-- | arch/arm/mach-tegra/pm-irq.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/pm-irq.c b/arch/arm/mach-tegra/pm-irq.c index 63e3e6c8d72b..57d21361ca14 100644 --- a/arch/arm/mach-tegra/pm-irq.c +++ b/arch/arm/mach-tegra/pm-irq.c @@ -283,6 +283,11 @@ static int tegra_pm_irq_syscore_suspend(void) wake_enb = 0xffffffff; } + /* Clear PMC Wake Status register while going to suspend */ + temp = readl(pmc + PMC_WAKE_STATUS); + if (temp) + pmc_32kwritel(temp, PMC_WAKE_STATUS); + write_pmc_wake_level(wake_level); write_pmc_wake_mask(wake_enb); |