summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorwdenk <wdenk>2005-04-21 21:10:22 +0000
committerwdenk <wdenk>2005-04-21 21:10:22 +0000
commita63109281ad41b0fb489fdcb901171f76bcdbc2c (patch)
treec67b0f3d5c763294f73ab5962db97a4073e517b8 /board
parent7cc1438d433c5c5ee65fcb588a4d70acb117af82 (diff)
downloadu-boot-a63109281ad41b0fb489fdcb901171f76bcdbc2c.tar.gz
u-boot-a63109281ad41b0fb489fdcb901171f76bcdbc2c.tar.bz2
u-boot-a63109281ad41b0fb489fdcb901171f76bcdbc2c.zip
Fix bug in the SDRAM initialization code for canmb, IceCube and
PM520 boards. Fix PHY address for canmb board.
Diffstat (limited to 'board')
-rw-r--r--board/canmb/canmb.c11
-rw-r--r--board/icecube/icecube.c11
-rw-r--r--board/pm520/pm520.c11
3 files changed, 21 insertions, 12 deletions
diff --git a/board/canmb/canmb.c b/board/canmb/canmb.c
index 3d3abf7207..e84ec5aa93 100644
--- a/board/canmb/canmb.c
+++ b/board/canmb/canmb.c
@@ -133,10 +133,13 @@ long int initdram (int board_type)
*(vu_long *)MPC5XXX_SDRAM_CS1CFG = dramsize + 0x0000001e;/* 2G */
/* find RAM size using SDRAM CS1 only */
- sdram_start(0);
- test1 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
- sdram_start(1);
- test2 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
+ if (!dramsize)
+ sdram_start(0);
+ test2 = test1 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
+ if (!dramsize) {
+ sdram_start(1);
+ test2 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
+ }
if (test1 > test2) {
sdram_start(0);
dramsize2 = test1;
diff --git a/board/icecube/icecube.c b/board/icecube/icecube.c
index 07c25ed8ab..3763821942 100644
--- a/board/icecube/icecube.c
+++ b/board/icecube/icecube.c
@@ -133,10 +133,13 @@ long int initdram (int board_type)
*(vu_long *)MPC5XXX_SDRAM_CS1CFG = dramsize + 0x0000001e;/* 2G */
/* find RAM size using SDRAM CS1 only */
- sdram_start(0);
- test1 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
- sdram_start(1);
- test2 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
+ if (!dramsize)
+ sdram_start(0);
+ test2 = test1 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
+ if (!dramsize) {
+ sdram_start(1);
+ test2 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
+ }
if (test1 > test2) {
sdram_start(0);
dramsize2 = test1;
diff --git a/board/pm520/pm520.c b/board/pm520/pm520.c
index 54f59f59a7..d7a8c83436 100644
--- a/board/pm520/pm520.c
+++ b/board/pm520/pm520.c
@@ -133,10 +133,13 @@ long int initdram (int board_type)
*(vu_long *)MPC5XXX_SDRAM_CS1CFG = dramsize + 0x0000001e;/* 2G */
/* find RAM size using SDRAM CS1 only */
- sdram_start(0);
- test1 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
- sdram_start(1);
- test2 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
+ if (!dramsize)
+ sdram_start(0);
+ test2 = test1 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
+ if (!dramsize) {
+ sdram_start(1);
+ test2 = get_ram_size((ulong *)(CFG_SDRAM_BASE + dramsize), 0x80000000);
+ }
if (test1 > test2) {
sdram_start(0);
dramsize2 = test1;