summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu
diff options
context:
space:
mode:
authorAndre Heider <a.heider@gmail.com>2013-10-19 14:18:42 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-10-22 15:28:58 +0200
commit5611ccb0422ba938519c20c4f7ce08c7c940b427 (patch)
tree4fe609cfb8004104336689bb5227ccdf04a9d3dc /arch/arm/cpu
parent297661763584f6e22470b9225b0f2494b1abc6c0 (diff)
downloadbarebox-5611ccb0422ba938519c20c4f7ce08c7c940b427.tar.gz
barebox-5611ccb0422ba938519c20c4f7ce08c7c940b427.tar.xz
ARM: cache: restore cache functions from the PBL
When using CONFIG_MMU_EARLY combined with CONFIG_PBL_IMAGE, the barebox setup reuses the MMU setup from the PBL, but doesn't setup the cache functions. Set these up to guarantee proper early cache handing before mmu_initcall(). Signed-off-by: Andre Heider <a.heider@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/cpu')
-rw-r--r--arch/arm/cpu/start.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c
index f8d343f4ec..f0a7df37bd 100644
--- a/arch/arm/cpu/start.c
+++ b/arch/arm/cpu/start.c
@@ -70,7 +70,9 @@ static noinline __noreturn void __start(uint32_t membase, uint32_t memsize,
endmem &= ~0x3fff;
endmem -= SZ_16K; /* ttb */
- if (!IS_ENABLED(CONFIG_PBL_IMAGE)) {
+ if (IS_ENABLED(CONFIG_PBL_IMAGE)) {
+ arm_set_cache_functions();
+ } else {
arm_early_mmu_cache_invalidate();
mmu_early_enable(membase, memsize, endmem);
}