diff options
author | Wolfgang Denk <wd@pollux.denx.de> | 2006-07-22 21:45:49 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@pollux.denx.de> | 2006-07-22 21:45:49 +0200 |
commit | fd27996dacd308849e30f67da49ba068a7f68aaa (patch) | |
tree | c7d85ed14bd21e9845ed181017d4340d606418b3 /board/cpu87/cpu87.c | |
parent | 135ae0062f358c644d3c6a40adea3e2de6269157 (diff) |
Add support for 256 MB SDRAM on CPU87
Patch by Josef Wagner, 25 Nov 2005
Diffstat (limited to 'board/cpu87/cpu87.c')
-rw-r--r-- | board/cpu87/cpu87.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/board/cpu87/cpu87.c b/board/cpu87/cpu87.c index 8363d868fc..e8c2614eb4 100644 --- a/board/cpu87/cpu87.c +++ b/board/cpu87/cpu87.c @@ -197,7 +197,7 @@ const iop_conf_t iop_conf_tab[4][32] = { */ int checkboard (void) { - printf ("Board: CPU87 (Rev %02x)\n", CPU86_REV); + printf ("Board: CPU87 (Rev %02x)\n", CPU86_REV & 0x7f); return 0; } @@ -280,7 +280,7 @@ long int initdram (int board_type) volatile memctl8260_t *memctl = &immap->im_memctl; #ifndef CFG_RAMBOOT - ulong size8, size9; + ulong size8, size9, size10; #endif long psize; @@ -294,17 +294,25 @@ long int initdram (int board_type) */ size8 = try_init (memctl, CFG_PSDMR_8COL, CFG_OR2_8COL, (uchar *) CFG_SDRAM_BASE); + size9 = try_init (memctl, CFG_PSDMR_9COL, CFG_OR2_9COL, (uchar *) CFG_SDRAM_BASE); - - if (size8 < size9) { - psize = size9; - printf ("(60x:9COL) "); - } else { + + size10 = try_init (memctl, CFG_PSDMR_10COL, CFG_OR2_10COL, + (uchar *) CFG_SDRAM_BASE); + + psize = max(size8,max(size9,size10)); + + if (psize == size8) { psize = try_init (memctl, CFG_PSDMR_8COL, CFG_OR2_8COL, (uchar *) CFG_SDRAM_BASE); printf ("(60x:8COL) "); - } + } else if (psize == size9){ + psize = try_init (memctl, CFG_PSDMR_9COL, CFG_OR2_9COL, + (uchar *) CFG_SDRAM_BASE); + printf ("(60x:9COL) "); + } else + printf ("(60x:10COL) "); #endif /* CFG_RAMBOOT */ |