From c43801de18e79f25228ebe1202b790e0e977fd05 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 16 Jul 2010 18:07:44 +0800 Subject: [PATCH] mobile ddr change frequency --- arch/arm/mach-rk2818/ddr.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-rk2818/ddr.c b/arch/arm/mach-rk2818/ddr.c index ade6e835325c..937591b23f84 100644 --- a/arch/arm/mach-rk2818/ddr.c +++ b/arch/arm/mach-rk2818/ddr.c @@ -1208,6 +1208,28 @@ static void __tcmfunc SDRAM_BeforeUpdateFreq(uint32 SDRAMnewKHz, uint32 DDRnewKH //WAIT_ME(); while(!(pDDR_Reg->CTRL_REG_03 & 0x100)); pDDR_Reg->CTRL_REG_10 &= ~(0x1); + if(memType == DDRII) + { + if(333000 < KHz) + { + pDDR_Reg->CTRL_REG_82 = 0x00885555; + } + else + { + pDDR_Reg->CTRL_REG_82 = 0x00685555; + } + } + else + { + if(133000 < KHz) + { + pDDR_Reg->CTRL_REG_82 = 0x00840000; + } + else + { + pDDR_Reg->CTRL_REG_82 = 0x00640000; + } + } if(110000 > KHz) { DLLBypass(KHz); @@ -1727,7 +1749,7 @@ static int __init update_frq(void) #endif return 0; } -//core_initcall_sync(update_frq); +core_initcall_sync(update_frq); #endif //endi of #ifdef DRIVERS_SDRAM -- 2.34.1