diff --git a/arch/arm/mach-rk2928/pm.c b/arch/arm/mach-rk2928/pm.c index e524a7ca2bcd..a50dccba0827 100644 --- a/arch/arm/mach-rk2928/pm.c +++ b/arch/arm/mach-rk2928/pm.c @@ -281,6 +281,7 @@ static void __sramfunc rk2928_sram_suspend(void) u32 cru_clksel0_con; u32 clkgt_regs[CRU_CLKGATES_CON_CNT]; int i; + u32 grf_uoc1_con; sram_printch('5'); ddr_suspend(); @@ -290,7 +291,8 @@ static void __sramfunc rk2928_sram_suspend(void) board_pmu_suspend(); sram_printch('7'); - + grf_uoc1_con = grf_readl(GRF_UOC1_CON4); + grf_writel(0x30000000,GRF_UOC1_CON4); for (i = 0; i < CRU_CLKGATES_CON_CNT; i++) { clkgt_regs[i] = cru_readl(CRU_CLKGATES_CON(i)); } @@ -337,6 +339,7 @@ static void __sramfunc rk2928_sram_suspend(void) cru_writel(clkgt_regs[i] | 0xffff0000, CRU_CLKGATES_CON(i)); } + grf_writel(0x30000000|grf_uoc1_con,GRF_UOC1_CON4); sram_printch('7'); board_pmu_resume(); rk30_pwm_logic_resume_voltage();