[PATCH 13/25] OMAP4: PM: Add WakeupGen module as OMAP gic_arch_extn
From: Santosh <hidden>
Date: 2011-09-09 04:23:44
Also in:
linux-omap
On Friday 09 September 2011 12:46 AM, Jean Pihet wrote:
On Sun, Sep 4, 2011 at 3:54 PM, Santosh Shilimkar [off-list ref] wrote:quoted
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 eventsquoted
from the incoming interrupts and enable bits. It is implemented in MPU always ON power domain. During normal operation,in the MPU...quoted
WakeupGen delivers external interrupts directly to the GIC.... delivers the external interrupts
OK.
quoted
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...quoted
+ */ +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.
Yep.