#include <config.h>
#include <common.h>
#include <asm/blackfin.h>
-
-extern void blackfin_icache_flush_range(unsigned long, unsigned long);
-extern void blackfin_dcache_flush_range(unsigned long, unsigned long);
+#include "cache.h"
void flush_cache(unsigned long dummy1, unsigned long dummy2)
{
- if ((dummy1 >= L1_ISRAM) && (dummy1 < L1_ISRAM_END))
- return;
- if ((dummy1 >= DATA_BANKA_SRAM) && (dummy1 < DATA_BANKA_SRAM_END))
- return;
- if ((dummy1 >= DATA_BANKB_SRAM) && (dummy1 < DATA_BANKB_SRAM_END))
+ if (dummy1 >= 0xE0000000)
return;
if (icache_status())
- blackfin_icache_flush_range(dummy1, dummy1 + dummy2);
+ blackfin_icache_flush_range((void*)dummy1, (void*)(dummy1 + dummy2));
if (dcache_status())
- blackfin_dcache_flush_range(dummy1, dummy1 + dummy2);
+ blackfin_dcache_flush_range((void*)dummy1, (void*)(dummy1 + dummy2));
return;
}