From 8cfea7f137efeb2e63a8b622e00b38e5360db9dc Mon Sep 17 00:00:00 2001 From: Grazvydas Ignotas Date: Sun, 29 May 2016 00:29:16 +0300 Subject: [PATCH] OMAP3: PM: fix io chain setup seems like wrong register was read --- arch/arm/mach-omap2/pm34xx.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index 717c594972c5..78993efc6510 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -100,19 +100,19 @@ static void omap3_enable_io_chain(void) omap2_prm_set_mod_reg_bits(OMAP3430_EN_IO_CHAIN_MASK, WKUP_MOD, PM_WKEN); - /* Do a readback to assure write has been done */ - omap2_prm_read_mod_reg(WKUP_MOD, PM_WKEN); - while (!(omap2_prm_read_mod_reg(WKUP_MOD, PM_WKEN) & + while (!(omap2_prm_read_mod_reg(WKUP_MOD, PM_WKST) & OMAP3430_ST_IO_CHAIN_MASK)) { timeout++; - if (timeout > 1000) { + if (timeout > 100) { pr_err("Wake up daisy chain activation failed.\n"); return; } - omap2_prm_set_mod_reg_bits(OMAP3430_ST_IO_CHAIN_MASK, - WKUP_MOD, PM_WKEN); + udelay(1); } + + omap2_prm_set_mod_reg_bits(OMAP3430_ST_IO_CHAIN_MASK, WKUP_MOD, + PM_WKST); } static void omap3_disable_io_chain(void) -- 2.39.2