Jelajahi Sumber

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>
Stefan Roese 13 tahun lalu
induk
melakukan
226502e01b
1 mengubah file dengan 7 tambahan dan 0 penghapusan
  1. 7 0
      arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c

+ 7 - 0
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