The memory controller could already be enabled, when spd_sdram() is
called. This could be the case for example, when the SDRAM is initialized
by the JTAG debugger.

Signed-off-by: Stefan Roese <s...@denx.de>
Cc: Reinhard Arlt <reinhard.a...@esd.eu>
Cc: Kim Phillips <kim.phill...@freescale.com>
---
 cpu/mpc83xx/spd_sdram.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/cpu/mpc83xx/spd_sdram.c b/cpu/mpc83xx/spd_sdram.c
index 0f61180..952afeb 100644
--- a/cpu/mpc83xx/spd_sdram.c
+++ b/cpu/mpc83xx/spd_sdram.c
@@ -150,6 +150,13 @@ long int spd_sdram()
        unsigned int ddrc_ecc_enable;
        unsigned int pvr = get_pvr();
 
+       /*
+        * First disable the memory controller (could be enabled
+        * by the debugger)
+        */
+       ddr->sdram_cfg &= ~SDRAM_CFG_MEM_EN;
+       asm("sync;isync");
+
        /* Read SPD parameters with I2C */
        CONFIG_SYS_READ_SPD(SPD_EEPROM_ADDRESS, 0, 1, (uchar *) & spd, sizeof 
(spd));
 #ifdef SPD_DEBUG
-- 
1.6.6.rc1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to