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())".

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

Reply via email to