[PATCH 13/25] OMAP4: PM: Add WakeupGen module as OMAP gic_arch_extn

Jean Pihet jean.pihet at newoldbits.com
Thu Sep 8 15:16:54 EDT 2011


On Sun, Sep 4, 2011 at 3:54 PM, Santosh Shilimkar
<santosh.shilimkar at ti.com> 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 <santosh.shilimkar at ti.com>
> Cc: Kevin Hilman <khilman at ti.com>
> ---
>  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



More information about the linux-arm-kernel mailing list