Commit 93a6d3284ca635496c6de097e49cadc8f62e6256

Authored by Shengzhou Liu
Committed by York Sun
1 parent 214ffae02d

armv7:ls1021a: Enable workaround for DDR erratum A-009942

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>

Showing 2 changed files with 7 additions and 1 deletions Side-by-side Diff

arch/arm/include/asm/arch-ls102xa/config.h
... ... @@ -131,6 +131,7 @@
131 131 #define CONFIG_USB_MAX_CONTROLLER_COUNT 1
132 132 #define CONFIG_SYS_FSL_ERRATUM_A008378
133 133 #define CONFIG_SYS_FSL_ERRATUM_A009663
  134 +#define CONFIG_SYS_FSL_ERRATUM_A009942
134 135 #define CONFIG_SYS_FSL_ERRATUM_A010315
135 136 #define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1
136 137 #else
board/freescale/ls1021atwr/ls1021atwr.c
... ... @@ -142,7 +142,7 @@
142 142 void ddrmc_init(void)
143 143 {
144 144 struct ccsr_ddr *ddr = (struct ccsr_ddr *)CONFIG_SYS_FSL_DDR_ADDR;
145   - u32 temp_sdram_cfg;
  145 + u32 temp_sdram_cfg, tmp;
146 146  
147 147 out_be32(&ddr->sdram_cfg, DDR_SDRAM_CFG);
148 148  
... ... @@ -189,6 +189,11 @@
189 189 out_be32(&ddr->ddr_zq_cntl, DDR_DDR_ZQ_CNTL);
190 190  
191 191 out_be32(&ddr->cs0_config_2, DDR_CS0_CONFIG_2);
  192 +
  193 + /* DDR erratum A-009942 */
  194 + tmp = in_be32(&ddr->debug[28]);
  195 + out_be32(&ddr->debug[28], tmp | 0x0070006f);
  196 +
192 197 udelay(1);
193 198  
194 199 #ifdef CONFIG_DEEP_SLEEP