From: root Date: Fri, 16 Jul 2010 10:07:44 +0000 (+0800) Subject: mobile ddr change frequency X-Git-Tag: firefly_0821_release~11355 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c43801de18e79f25228ebe1202b790e0e977fd05;p=firefly-linux-kernel-4.4.55.git mobile ddr change frequency --- 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