arm: mx6: ddr: set fast-exit on DDR3 if pd_fast_exit specified
authorTim Harvey <tharvey@gateworks.com>
Mon, 18 May 2015 14:07:02 +0000 (07:07 -0700)
committerStefano Babic <sbabic@denx.de>
Tue, 19 May 2015 13:22:53 +0000 (15:22 +0200)
Commit fa8b7d66f49f0c7bd41467fe78f6488d8af6976a introduced fast-exit support
to the MMDC however enabling it on the DDR3 got missed. Make sure we enable
it on the DDR3 as well.

Gateworks uses Micron memory as well as Winbond in MX6. We have found in
testing that we need to enable fast-exit for Winbond stability. Gateworks
boards are currently the only boards using the MX6 SPL and enabling
fast-exit mode.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
arch/arm/cpu/armv7/mx6/ddr.c

index 5d5bd0f..86c8354 100644 (file)
@@ -521,7 +521,8 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *sysinfo,
                /* MR0 */
                val = ((tcl - 1) << 4) |        /* CAS */
                      (1 << 8)   |              /* DLL Reset */
-                     ((twr - 3) << 9);         /* Write Recovery */
+                     ((twr - 3) << 9) |        /* Write Recovery */
+                     (sysinfo->pd_fast_exit << 12); /* Precharge PD PLL on */
                debug("MR0 CS%d: 0x%08x\n", cs, (u32)MR(val, 0, 3, cs));
                mmdc0->mdscr = MR(val, 0, 3, cs);
                /* ZQ calibration */