[U-Boot-Users] Problem booting MPC8568MDS board + improvementsuggestion

Wang Haiying-r54964 Haiying.Wang at freescale.com
Wed Jul 18 21:40:44 CEST 2007


On Wed, 2007-07-18 at 07:50, David Saada wrote:

>I've got the MPC8568MDS board. When I try to compile the 
>latest version of
>U-boot for this board and burn it onto its flash, the boot process gets
>stuck right after the RAM initialization sequence (it prints 
>the DDR+SDRAM
>size, but doesn't continue). 

If you use 1.93 or above version of MPC8568MDS, you need to modify some
settings for DDR initialization in spd_sdram.c. In specific, you need to
modify clk_adjust and cpo value, you can take the follow patch as
reference. This patch has not been submitted yet but included in the BSP
already.

---
 cpu/mpc85xx/spd_sdram.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/cpu/mpc85xx/spd_sdram.c b/cpu/mpc85xx/spd_sdram.c
index 3777f49..ba255f8 100644
--- a/cpu/mpc85xx/spd_sdram.c
+++ b/cpu/mpc85xx/spd_sdram.c
@@ -645,13 +645,10 @@ spd_sdram(void)
 	 */
 	cpo = 0;
 	if (spd.mem_type == SPD_MEMTYPE_DDR2) {
-		if (effective_data_rate == 266 || effective_data_rate ==
333) {
+		if (effective_data_rate <= 333) {
 			cpo = 0x7;		/* READ_LAT + 5/4 */
-		} else if (effective_data_rate == 400) {
-			cpo = 0x9;		/* READ_LAT + 7/4 */
 		} else {
-			/* Pure speculation */
-			cpo = 0xb;
+			cpo = 0x9;		/* READ_LAT + 7/4 */
 		}
 	}
 
@@ -858,7 +855,12 @@ spd_sdram(void)
 	if (spd.mem_type == SPD_MEMTYPE_DDR)
 		clk_adjust = 0x6;
 	else
+#ifdef CONFIG_MPC8568
+		/* Empirally setting clk_adjust */
+		clk_adjust = 0x6;
+#else
 		clk_adjust = 0x7;
+#endif
 
 	ddr->sdram_clk_cntl = (0
 			       | 0x80000000
-- 





More information about the U-Boot mailing list