From: Stefan Roese Date: Fri, 16 Sep 2011 10:54:58 +0000 (+0200) Subject: ppc4xx: Flush dcache after DDR2 autocalibration with caches on X-Git-Tag: v2011.09-rc2~8 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=226502e01bc7ffa79dde28604075949f8f816cfc;p=oweals%2Fu-boot.git 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 --- diff --git a/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c b/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c index 95df1d94c4..4a2f33744d 100644 --- a/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c +++ b/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c @@ -656,6 +656,13 @@ phys_size_t initdram(int board_type) program_ecc(dimm_populated, iic0_dimm_addr, num_dimm_banks, 0); #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