|
|
@ -142,7 +142,7 @@ int checkboard(void) |
|
|
|
void ddrmc_init(void) |
|
|
|
void ddrmc_init(void) |
|
|
|
{ |
|
|
|
{ |
|
|
|
struct ccsr_ddr *ddr = (struct ccsr_ddr *)CONFIG_SYS_FSL_DDR_ADDR; |
|
|
|
struct ccsr_ddr *ddr = (struct ccsr_ddr *)CONFIG_SYS_FSL_DDR_ADDR; |
|
|
|
u32 temp_sdram_cfg; |
|
|
|
u32 temp_sdram_cfg, tmp; |
|
|
|
|
|
|
|
|
|
|
|
out_be32(&ddr->sdram_cfg, DDR_SDRAM_CFG); |
|
|
|
out_be32(&ddr->sdram_cfg, DDR_SDRAM_CFG); |
|
|
|
|
|
|
|
|
|
|
@ -189,6 +189,11 @@ void ddrmc_init(void) |
|
|
|
out_be32(&ddr->ddr_zq_cntl, DDR_DDR_ZQ_CNTL); |
|
|
|
out_be32(&ddr->ddr_zq_cntl, DDR_DDR_ZQ_CNTL); |
|
|
|
|
|
|
|
|
|
|
|
out_be32(&ddr->cs0_config_2, DDR_CS0_CONFIG_2); |
|
|
|
out_be32(&ddr->cs0_config_2, DDR_CS0_CONFIG_2); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* DDR erratum A-009942 */ |
|
|
|
|
|
|
|
tmp = in_be32(&ddr->debug[28]); |
|
|
|
|
|
|
|
out_be32(&ddr->debug[28], tmp | 0x0070006f); |
|
|
|
|
|
|
|
|
|
|
|
udelay(1); |
|
|
|
udelay(1); |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_DEEP_SLEEP |
|
|
|
#ifdef CONFIG_DEEP_SLEEP |
|
|
|