Ver Fonte

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 há 13 anos atrás
pai
commit
226502e01b
1 ficheiros alterados com 7 adições e 0 exclusões
  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