diff --git a/drivers/ram/sunxi/dram_sun20i_d1.c b/drivers/ram/sunxi/dram_sun20i_d1.c index fb55b2b2964..1532ef11bbb 100644 --- a/drivers/ram/sunxi/dram_sun20i_d1.c +++ b/drivers/ram/sunxi/dram_sun20i_d1.c @@ -14,6 +14,7 @@ #include #include +#include #ifdef CONFIG_RAM #include #include @@ -1098,6 +1099,7 @@ static int auto_scan_dram_size(const dram_para_t *para, dram_config_t *config) /* Set bank mode for current rank */ clrsetbits_le32(mc_work_mode, 0xffc, 0x6a4); udelay(1); + flush_dcache_all(); // Test if bit A23 is BA2 or mirror XXX A22? chk = CFG_SYS_SDRAM_BASE + (1U << 11); @@ -1126,6 +1128,7 @@ static int auto_scan_dram_size(const dram_para_t *para, dram_config_t *config) /* Set page mode for current rank */ clrsetbits_le32(mc_work_mode, 0xffc, 0xaa0); udelay(1); + flush_dcache_all(); // Scan per address line, until address wraps (i.e. see shadow) for (i = 9; i < 14; i++) {