add I2C_ADDRESS pre-read,slove the bug of suspend
author许盛飞 <xsf@rock-chips.com>
Fri, 28 Sep 2012 04:03:43 +0000 (12:03 +0800)
committer许盛飞 <xsf@rock-chips.com>
Fri, 28 Sep 2012 04:03:43 +0000 (12:03 +0800)
arch/arm/mach-rk30/pm.c

index cccf0e5cb0f1d5c307e4909e342f2cdc0f2b28f2..ddb7b66792f307c7d687a6a3236176d7af68997c 100644 (file)
@@ -229,6 +229,12 @@ static void pm_pll_wait_lock(int pll_idx)
        u32 bit = 0x10u << pll_state[pll_idx];
 #endif
        u32 delay = 2400000U;
+       dsb();
+       dsb();
+       dsb();
+       dsb();
+       dsb();
+       dsb();
        while (delay > 0) {
                if (grf_readl(GRF_SOC_STATUS0) & bit)
                        break;
@@ -271,7 +277,7 @@ static noinline void interface_ctr_reg_pread(void)
        readl_relaxed(RK30_GRF_BASE);
        readl_relaxed(RK30_DDR_PCTL_BASE);
        readl_relaxed(RK30_DDR_PUBL_BASE);
-       readl_relaxed(RK30_I2C1_BASE);
+       readl_relaxed(RK30_I2C1_BASE+SZ_4K);
 }
 
 static inline bool pm_pmu_power_domain_is_on(enum pmu_power_domain pd, u32 pmu_pwrdn_st)