summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorAnton Vorontsov <avorontsov@ru.mvista.com>2009-09-16 23:21:57 +0400
committerKim Phillips <kim.phillips@freescale.com>2009-09-25 18:25:51 -0500
commit034477bb31948d698d18b84bc0834c3e25a14d04 (patch)
treee50e558115fa6ae12673a5d1407461a6f932485b /board
parentd77c779bc23596aa3693d1c5c4d5b6e1072f93f2 (diff)
downloadu-boot-imx-034477bb31948d698d18b84bc0834c3e25a14d04.zip
u-boot-imx-034477bb31948d698d18b84bc0834c3e25a14d04.tar.gz
u-boot-imx-034477bb31948d698d18b84bc0834c3e25a14d04.tar.bz2
mpc83xx: mpc8360emds: Don't use LBC SDRAM when DDR is available
Since commit 5c2ff323a94e27e481f70c44838d43fcd844dd46 ("mpc8360emds: rework LBC SDRAM setup"), LBC SDRAM is available for use in Linux. Though, it appears that QE Ethernet in Gigabit mode can't transmit large packets when it tries to work with a data in LBC SDRAM (memtest didn't discover any issues, is LBC SDRAM just too slow?). With this patch we can still use the board without DDR memory, but if DDR is available, we don't use LBC SDRAM. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Diffstat (limited to 'board')
-rw-r--r--board/freescale/mpc8360emds/mpc8360emds.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/board/freescale/mpc8360emds/mpc8360emds.c b/board/freescale/mpc8360emds/mpc8360emds.c
index dc4dbd3..769eb2f 100644
--- a/board/freescale/mpc8360emds/mpc8360emds.c
+++ b/board/freescale/mpc8360emds/mpc8360emds.c
@@ -126,6 +126,7 @@ phys_size_t initdram(int board_type)
{
volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR;
u32 msize = 0;
+ u32 lbc_sdram_size;
if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32) im)
return -1;
@@ -147,7 +148,9 @@ phys_size_t initdram(int board_type)
/*
* Initialize SDRAM if it is on local bus.
*/
- msize += sdram_init(msize * 1024 * 1024);
+ lbc_sdram_size = sdram_init(msize * 1024 * 1024);
+ if (!msize)
+ msize = lbc_sdram_size;
/* return total bus SDRAM size(bytes) -- DDR */
return (msize * 1024 * 1024);