"Stanley.Miao" <stanley.m...@windriver.com> writes:

First, the subject needs to be more descriptive:

OMAP3: AM3505/3517 do not have IO wakeup capability

> omap3505/omap3517 don't have the bit OMAP3430_EN_IO and the bit
> OMAP3430_EN_IO_CHAIN in the register PM_WKEN_WKUP. When the system
> suspend, the following messages will be printed:
>
> "Wake up daisy chain activation failed."
>
> Now fix it by adding "if (!cpu_is_omap3505() && !cpu_is_omap3517())".

Rather than the CPU is checks, I'd rather see this fixed by checking
for a "feature" (see <plat/cpu.h.), something like
omap3_has_io_wakeup().

Kevin

> Signed-off-by: Stanley.Miao <stanley.m...@windriver.com>
> ---
>  arch/arm/mach-omap2/pm34xx.c |    8 +++++---
>  1 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
> index 62529ff..d16648a 100644
> --- a/arch/arm/mach-omap2/pm34xx.c
> +++ b/arch/arm/mach-omap2/pm34xx.c
> @@ -385,8 +385,9 @@ void omap_sram_idle(void)
>       /* Enable IO-PAD and IO-CHAIN wakeups */
>       per_next_state = pwrdm_read_next_pwrst(per_pwrdm);
>       core_next_state = pwrdm_read_next_pwrst(core_pwrdm);
> -     if (per_next_state < PWRDM_POWER_ON ||
> -                     core_next_state < PWRDM_POWER_ON) {
> +     if (!cpu_is_omap3505() && !cpu_is_omap3517() && \
> +                     (per_next_state < PWRDM_POWER_ON || \
> +                       core_next_state < PWRDM_POWER_ON)) {
>               prm_set_mod_reg_bits(OMAP3430_EN_IO_MASK, WKUP_MOD, PM_WKEN);
>               omap3_enable_io_chain();
>       }
> @@ -479,7 +480,8 @@ void omap_sram_idle(void)
>       }
>  
>       /* Disable IO-PAD and IO-CHAIN wakeup */
> -     if (core_next_state < PWRDM_POWER_ON) {
> +     if ((core_next_state < PWRDM_POWER_ON) && \
> +                     !cpu_is_omap3505() && !cpu_is_omap3517()) {
>               prm_clear_mod_reg_bits(OMAP3430_EN_IO_MASK, WKUP_MOD, PM_WKEN);
>               omap3_disable_io_chain();
>       }
> -- 
> 1.5.4.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to