aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPatrice Chotard <patrice.chotard@st.com>2018-03-30 09:22:40 +0200
committerTom Rini <trini@konsulko.com>2018-04-10 11:52:16 -0400
commitd409c962169bd293e39386d0ddfa64d5222a3be4 (patch)
treed1416bd98c4ed3e4e8b6e4c47a3e28ef0bb9d97e /arch
parente1e1e85203688c1929350d153bd8ef23706fafe6 (diff)
downloadu-boot-d409c962169bd293e39386d0ddfa64d5222a3be4.zip
u-boot-d409c962169bd293e39386d0ddfa64d5222a3be4.tar.gz
u-boot-d409c962169bd293e39386d0ddfa64d5222a3be4.tar.bz2
armv7m: disable icache before linux booting
Similarly to ARMV7, on ARMV7M instruction cache memory needs to be disabled before running linux kernel to avoid kernel to be stuck. Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/cpu/armv7m/cpu.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7m/cpu.c b/arch/arm/cpu/armv7m/cpu.c
index a424bab..2959775 100644
--- a/arch/arm/cpu/armv7m/cpu.c
+++ b/arch/arm/cpu/armv7m/cpu.c
@@ -37,6 +37,9 @@ int cleanup_before_linux(void)
* dcache flushing and disabling dcache */
invalidate_dcache_all();
+ icache_disable();
+ invalidate_icache_all();
+
return 0;
}