ARM: tegra: power: Add external LP2 wake timers on secondary CPUs
authorAlex Frid <afrid@nvidia.com>
Wed, 1 Feb 2012 06:48:34 +0000 (22:48 -0800)
committerDan Willemsen <dwillemsen@nvidia.com>
Sat, 14 Sep 2013 07:59:19 +0000 (00:59 -0700)
commite9e62af022fde60a121e20276741192a7a80b1f9
treefe1b7643d5a8a222f6b908a0df126be36aeae630
parentb5653dab54c621ad5b17582ffb108bdec532dfa9
ARM: tegra: power: Add external LP2 wake timers on secondary CPUs

Add an option to use external timer as Tegra3 secondary CPU wake
source from lp2 (power gated) state. This is a follow up to commit
51e6be9ce103fbeb2b73fa2a9d2b6528a6941e81 that disabled wake from
external timer, since its interrupt is registered too late - after
secondary CPU is brought on-line, and already had a chance to enter
lp2. With this commit, secondary CPU is not allowed to enter lp2 in
idle until wake timer is registered (clock-gated lp3 state is entered
instead).

External timer wake up mechanism is enabled on Tegra3 only if option
HAVE_ARM_TWD is not selected. Otherwise, continue to use local CPU
timers as lp2 wake sources.

Change-Id: Ic8c33f55e77174717bfa6525041e1263d3232dd5
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/83546
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>

Rebase-Id: R0b524f59fa8d1f461780c3ba1d78ade794b1d63a
arch/arm/mach-tegra/Kconfig
arch/arm/mach-tegra/cpuidle-t3.c
arch/arm/mach-tegra/pm.h
arch/arm/mach-tegra/timer-t3.c