rk312x: for the bug of suspend-resume
author许盛飞 <xsf@rock-chips.com>
Fri, 12 Sep 2014 09:39:45 +0000 (17:39 +0800)
committer许盛飞 <xsf@rock-chips.com>
Fri, 12 Sep 2014 09:39:45 +0000 (17:39 +0800)
Signed-off-by: 许盛飞 <xsf@rock-chips.com>
arch/arm/mach-rockchip/pm-rk312x.c

index 23863a88b21435086386d62321d69566738e2373..71a2892df5c51f237c67d9d9d94e2666943404f0 100644 (file)
@@ -919,11 +919,12 @@ void PIE_FUNC(pwm_regulator_suspend)(void)
                rkpm_pwm_duty2 = readl_relaxed(RK_PWM_VIRT + 0x28);
                writel_relaxed(PWM_VOLTAGE, RK_PWM_VIRT + 0x28);
        }
+       rkpm_udelay(30);
 }
 
 void PIE_FUNC(pwm_regulator_resume)(void)
 {
-       cru_writel(0x1e000000, 0xf0);
+       rkpm_udelay(30);
        if (rkpm_chk_sram_ctrbit(RKPM_CTR_VOL_PWM0))
                writel_relaxed(rkpm_pwm_duty0, RK_PWM_VIRT + 0x08);
 
@@ -932,6 +933,7 @@ void PIE_FUNC(pwm_regulator_resume)(void)
 
        if (rkpm_chk_sram_ctrbit(RKPM_CTR_VOL_PWM2))
                writel_relaxed(rkpm_pwm_duty2, RK_PWM_VIRT + 0x28);
+       rkpm_udelay(30);
 }
 
 static void reg_pread(void)