summaryrefslogtreecommitdiff
path: root/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2011-09-16 10:54:58 (GMT)
committerStefan Roese <sr@denx.de>2011-09-19 09:51:21 (GMT)
commit226502e01bc7ffa79dde28604075949f8f816cfc (patch)
treea786456a3bbf3c4cc35d211e6a7f5b82ffc72bb0 /arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c
parent25fb02abdf7af37b3b9f83891115ee94e9073708 (diff)
downloadu-boot-226502e01bc7ffa79dde28604075949f8f816cfc.tar.xz
ppc4xx: Flush dcache after DDR2 autocalibration with caches on
Flush the dcache before removing the TLB with caches enabled. Otherwise this might lead to problems later on, e.g. while booting Linux (as seen on ICON-440SPe). Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c')
-rw-r--r--arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c b/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c
index 95df1d9..4a2f337 100644
--- a/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c
+++ b/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c
@@ -657,6 +657,13 @@ phys_size_t initdram(int board_type)
#endif
/*
+ * Flush the dcache before removing the TLB with caches
+ * enabled. Otherwise this might lead to problems later on,
+ * e.g. while booting Linux (as seen on ICON-440SPe).
+ */
+ flush_dcache();
+
+ /*
* Now after initialization (auto-calibration and ECC generation)
* remove the TLB entries with caches enabled and program again with
* desired cache functionality