ARM: OMAP4: PM: Add WakeupGen module as OMAP gic_arch_extn
authorSantosh Shilimkar <santosh.shilimkar@ti.com>
Wed, 16 Jun 2010 16:49:47 +0000 (22:19 +0530)
committerKevin Hilman <khilman@ti.com>
Thu, 8 Dec 2011 19:29:00 +0000 (11:29 -0800)
commitfcf6efa3ffbc3cc19e7abe39e0b90f497df2fc42
tree4b53e5380e09bbfd94370db8fc1d66e49ce6c7c3
parent259ee57a8cda5760dd3e803c5271a6327e1f38ac
ARM: OMAP4: PM: Add WakeupGen module as OMAP gic_arch_extn

OMAP WakeupGen is the interrupt controller extension used along
with ARM GIC to wake the CPU out from low power states on
external interrupts.

The WakeupGen unit is responsible for generating the wakeup event
from the incoming interrupts and enable bits. It is implemented
in the MPU always ON power domain. During normal operation,
WakeupGen delivers the external interrupts directly to the GIC.

WakeupGen specification has one restriction as per Veyron version 1.6.
It is SW responsibility to program interrupt enabling/disabling
coherently in the GIC and in the WakeupGen enable registers. That is, a
given interrupt for a given CPU is either enable at both GIC and WakeupGen,
or disable at both, but no mix. That's the reason the WakeupGen is
implemented as an extension of GIC.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/include/mach/omap-wakeupgen.h [new file with mode: 0644]
arch/arm/mach-omap2/omap-wakeupgen.c [new file with mode: 0644]
arch/arm/mach-omap2/omap4-common.c