[PATCH 13/25] OMAP4: PM: Add WakeupGen module as OMAP gic_arch_extn
From: Jean Pihet <hidden>
Date: 2011-09-08 19:16:54
Also in:
linux-omap
On Sun, Sep 4, 2011 at 3:54 PM, Santosh Shilimkar [off-list ref] wrote:
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 wakeup event
... for generating the wakeup events
from the incoming interrupts and enable bits. It is implemented in MPU always ON power domain. During normal operation,
in the MPU...
WakeupGen delivers external interrupts directly to the GIC.
... delivers the external interrupts
Signed-off-by: Santosh Shilimkar <redacted> Cc: Kevin Hilman <redacted> --- ?arch/arm/mach-omap2/Makefile ? ? ? ? ? ? ? ? ? ? ?| ? ?2 +- ?arch/arm/mach-omap2/include/mach/omap-wakeupgen.h | ? 39 ++++ ?arch/arm/mach-omap2/omap-wakeupgen.c ? ? ? ? ? ? ?| ?241 +++++++++++++++++++++ ?arch/arm/mach-omap2/omap4-common.c ? ? ? ? ? ? ? ?| ? ?3 + ?4 files changed, 284 insertions(+), 1 deletions(-) ?create mode 100644 arch/arm/mach-omap2/include/mach/omap-wakeupgen.h ?create mode 100644 arch/arm/mach-omap2/omap-wakeupgen.c
...
+ */
+int __init omap_wakeupgen_init(void)
+{
+ ? ? ? int i;
+ ? ? ? unsigned int boot_cpu = smp_processor_id();
+
+ ? ? ? /* Not supported on OMAP4 ES1.0 silicon */
+ ? ? ? if (omap_rev() == OMAP4430_REV_ES1_0) {
+ ? ? ? ? ? ? ? WARN(1, "WakeupGen: Not supported on OMAP4430 ES1.0\n");
+ ? ? ? ? ? ? ? return -EPERM;
+ ? ? ? }
+
+ ? ? ? /* Static mapping, never released */
+ ? ? ? wakeupgen_base = ioremap(OMAP44XX_WKUPGEN_BASE, SZ_4K);
+ ? ? ? if (WARN_ON(!wakeupgen_base))
+ ? ? ? ? ? ? ? return -ENODEV;-ENOMEM os required as discussed in the other patches of the series. Regards, Jean