1. 程式人生 > 其它 >42. DDR2記憶體初始化程式碼分析-5

42. DDR2記憶體初始化程式碼分析-5

技術標籤:U-boot

前面的Physical/DLL部分已經初始化完畢。接下來接著進行原來的第5步,初始化DMC0的其它部分,包括時序等。

	// 3. 初始化DMC0
	//step 5: ConControl auto refresh off
	ldr	r1, =0x0FFF2010					
	str	r1, [r0, #DMC_CONCONTROL]
	//step 6: MemControl BL=4, 1 chip, DDR2 type, dynamic self refresh, force precharge, dynamic power down off
	ldr	r1, =DMC0_MEMCONTROL				
	str	r1, [r0, #DMC_MEMCONTROL]
	//step 7: MemConfig0 256MB config, 8 banks,Mapping Method[12:15]0:linear, 1:linterleaved, 2:Mixed
	ldr	r1, =DMC0_MEMCONFIG_0				
	str	r1, [r0, #DMC_MEMCONFIG0]
	//MemConfig1
	ldr	r1, =DMC0_MEMCONFIG_1				
	str	r1, [r0, #DMC_MEMCONFIG1]
	//step 8:PrechConfig
	ldr	r1, =0xFF000000					
	str	r1, [r0, #DMC_PRECHCONFIG]
	//step 9:TimingAref	7.8us//133MHz=1038(0x40E), 100MHz=780(0x30C), 20MHz=156(0x9C), 10MHz=78(0x4E)
	ldr	r1, =DMC0_TIMINGA_REF				
	str	r1, [r0, #DMC_TIMINGAREF]
	//TimingRow	for //200MHz
	ldr	r1, =DMC0_TIMING_ROW				
	str	r1, [r0, #DMC_TIMINGROW]
	//TimingData	C