summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/arm1136
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2010-06-17 21:06:16 +0200
committerWolfgang Denk <wd@denx.de>2010-06-17 21:06:16 +0200
commit399b09331f313d57b16b583f453387231d217f15 (patch)
tree240defa6bd80bdcd4ba89c9ba8f27093939d54b0 /arch/arm/cpu/arm1136
parenta9046b9e1aeeedc66ddf1d00474ad0ce8c6aa6e4 (diff)
parent376e7fadbad3285231e390c6534feb5af86d594b (diff)
downloadolio-uboot-2014.01-399b09331f313d57b16b583f453387231d217f15.tar.xz
olio-uboot-2014.01-399b09331f313d57b16b583f453387231d217f15.zip
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'arch/arm/cpu/arm1136')
-rw-r--r--arch/arm/cpu/arm1136/cpu.c1
-rw-r--r--arch/arm/cpu/arm1136/start.S4
2 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/cpu/arm1136/cpu.c b/arch/arm/cpu/arm1136/cpu.c
index ade7f4680..2b9163173 100644
--- a/arch/arm/cpu/arm1136/cpu.c
+++ b/arch/arm/cpu/arm1136/cpu.c
@@ -71,6 +71,7 @@ static void cache_flush(void)
{
unsigned long i = 0;
+ asm ("mcr p15, 0, %0, c7, c10, 0": :"r" (i)); /* clean entire data cache */
asm ("mcr p15, 0, %0, c7, c7, 0": :"r" (i)); /* invalidate both caches and flush btb */
asm ("mcr p15, 0, %0, c7, c10, 4": :"r" (i)); /* mem barrier to sync things */
}
diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S
index 957f4389b..922d01cb7 100644
--- a/arch/arm/cpu/arm1136/start.S
+++ b/arch/arm/cpu/arm1136/start.S
@@ -226,8 +226,8 @@ cpu_init_crit:
* flush v4 I/D caches
*/
mov r0, #0
- mcr p15, 0, r0, c7, c7, 0 /* flush v3/v4 cache */
- mcr p15, 0, r0, c8, c7, 0 /* flush v4 TLB */
+ mcr p15, 0, r0, c7, c7, 0 /* Invalidate I+D+BTB caches */
+ mcr p15, 0, r0, c8, c7, 0 /* Invalidate Unified TLB */
/*
* disable MMU stuff and caches