环境:S5PC100+android(UBOOT 1.3.4)
DDR2 256MB
由于DDR2相对于mobile ddR的低功耗优势,加上产品本身对功耗要求较高,所以需要使用DD2代替MOBILE DDR;
从/board/samsung/smdkc100下的UBOOT链表u-boot.LDS
可以知道UBOOT整个工作流程,很清晰。我们要做的应该是修改内存部分相关配置;
从START.S中
/*
* Go setup Memory and board specific bits prior to relocation.
*/
ldr sp, =0xd0036000 /* end of sram dedicated to u-boot */
sub sp, sp, #12 /* set stack */
mov fp, #0
bl lowlevel_init /* go setup pll,mux,memory */
以及lowlevel_init .S中
/* when we already run in ram, we don't need to relocate U-Boot.
* and actually, memory controller must be configured before U-Boot
* is running in ram.
*/
ldr r0, =0xff000fff
bic r1, pc, r0 /* r0 <- current base addr of code */
ldr r2, _TEXT_BASE /* r1 <- original base addr in ram */
bic r2, r2, r0 /* r0 <- current base addr of code */
cmp r1, r2 /* compare r0, r1 */
beq 1f /* r0 == r1 then skip sdram init */
/* init system clock */
bl system_clock_init
bl mem_ctrl_asm_init知道内存相关配置在CPU_INIT.S中,好吧,不罗嗦了。直接贴上配置:
step1: