am33xx: Rework DDR2 EMIF initalization slightly
authorTom Rini <trini@ti.com>
Thu, 26 Jul 2012 14:49:23 +0000 (07:49 -0700)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sat, 1 Sep 2012 12:58:12 +0000 (14:58 +0200)
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>
arch/arm/cpu/armv7/am33xx/emif4.c

index 2f4164d..8f7aadc 100644 (file)
@@ -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");