diff options
Diffstat (limited to 'cpu/mpc83xx/spd_sdram.c')
| -rw-r--r-- | cpu/mpc83xx/spd_sdram.c | 9 | 
1 files changed, 9 insertions, 0 deletions
| diff --git a/cpu/mpc83xx/spd_sdram.c b/cpu/mpc83xx/spd_sdram.c index 0f611804a..44aaa9abc 100644 --- a/cpu/mpc83xx/spd_sdram.c +++ b/cpu/mpc83xx/spd_sdram.c @@ -29,6 +29,7 @@  #include <common.h>  #include <asm/processor.h> +#include <asm/io.h>  #include <i2c.h>  #include <spd.h>  #include <asm/mmu.h> @@ -150,6 +151,14 @@ 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) +	 */ +	clrsetbits_be32(&ddr->sdram_cfg, SDRAM_CFG_MEM_EN, 0); +	sync(); +	isync(); +  	/* Read SPD parameters with I2C */  	CONFIG_SYS_READ_SPD(SPD_EEPROM_ADDRESS, 0, 1, (uchar *) & spd, sizeof (spd));  #ifdef SPD_DEBUG |