Browse Source

am33xx: Rework DDR2 EMIF initalization slightly

With the previous bugfix we now don't need to set two different REF_CTRL
values and instead set the final value.

Signed-off-by: Tom Rini <trini@ti.com>
Tom Rini 12 years ago
parent
commit
10e7e36daf
1 changed files with 2 additions and 15 deletions
  1. 2 15
      arch/arm/cpu/armv7/am33xx/emif4.c

+ 2 - 15
arch/arm/cpu/armv7/am33xx/emif4.c

@@ -117,7 +117,6 @@ static void config_vtp(void)
 
 static void config_emif_ddr2(void)
 {
-	int i;
 	int ret;
 	struct sdram_config cfg;
 	struct sdram_timing tmg;
@@ -137,31 +136,19 @@ static void config_emif_ddr2(void)
 
 	cfg.sdrcr = EMIF_SDCFG;
 	cfg.sdrcr2 = EMIF_SDCFG;
-	cfg.refresh = 0x00004650;
-	cfg.refresh_sh = 0x00004650;
+	cfg.refresh = EMIF_SDREF;
+	cfg.refresh_sh = EMIF_SDREF;
 
 	/* Program EMIF instance */
 	ret = config_ddr_phy(&phyc);
 	if (ret < 0)
 		printf("Couldn't configure phyc\n");
 
-	ret = config_sdram(&cfg);
-	if (ret < 0)
-		printf("Couldn't configure SDRAM\n");
 
 	ret = set_sdram_timings(&tmg);
 	if (ret < 0)
 		printf("Couldn't configure timings\n");
 
-	/* Delay */
-	for (i = 0; i < 5000; i++)
-		;
-
-	cfg.refresh = EMIF_SDREF;
-	cfg.refresh_sh = EMIF_SDREF;
-	cfg.sdrcr = EMIF_SDCFG;
-	cfg.sdrcr2 = EMIF_SDCFG;
-
 	ret = config_sdram(&cfg);
 	if (ret < 0)
 		printf("Couldn't configure SDRAM\n");