]> git.sur5r.net Git - u-boot/commitdiff
TQM5200: fix bug in SDRAM initialization code
authorMartin Krause <martin.krause@tqs.de>
Mon, 25 Feb 2008 12:27:52 +0000 (13:27 +0100)
committerWolfgang Denk <wd@denx.de>
Sun, 2 Mar 2008 20:22:27 +0000 (21:22 +0100)
This patch fixes a bug in the SDRAM initialization code for the
TQM5200. The hi_addr bit is now set correctly. Without this patch
the hi_addr bit is always set to 1, if the second SDRAM bank is
not populated.

For other MPC5200 boards a correspondig patch has already been applied
some time ago, see commit a63109281ad41b0fb489fdcb901171f76bcdbc2c.

Signed-off-by: Martin Krause <martin.krause@tqs.de>
--
Forget the first patch please. I confused flash with SDRAM in
the comment ...

board/tqm5200/tqm5200.c

index 905a04338e70068f75b1325d648beca2fabdd415..8c3f701d5eaaa0812e240127e9cf5dec784cef5a 100644 (file)
@@ -155,10 +155,13 @@ long int initdram (int board_type)
        *(vu_long *)MPC5XXX_SDRAM_CS1CFG = dramsize + 0x0000001c; /* 512MB */
 
        /* find RAM size using SDRAM CS1 only */
-       sdram_start(0);
-       test1 = get_ram_size((long *)(CFG_SDRAM_BASE + dramsize), 0x20000000);
-       sdram_start(1);
-       test2 = get_ram_size((long *)(CFG_SDRAM_BASE + dramsize), 0x20000000);
+       if (!dramsize)
+               sdram_start(0);
+       test2 = test1 = get_ram_size((long *)(CFG_SDRAM_BASE + dramsize), 0x20000000);
+       if (!dramsize) {
+               sdram_start(1);
+               test2 = get_ram_size((long *)(CFG_SDRAM_BASE + dramsize), 0x20000000);
+       }
        if (test1 > test2) {
                sdram_start(0);
                dramsize2 = test1;