summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-12-03 10:13:41 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-12-03 10:20:00 +0100
commitfbf502a9c2a1b88e0ad00be0c675bc1f69d3b839 (patch)
treeaf37ec3d617d24ef529fc72d006fb39b7153330e /arch/arm/mach-imx
parent6e66ab7a53a277987505eee2df5a71ae12c51318 (diff)
downloadbarebox-fbf502a9c2a1b88e0ad00be0c675bc1f69d3b839.tar.gz
barebox-fbf502a9c2a1b88e0ad00be0c675bc1f69d3b839.tar.xz
ARM: i.MX external NAND boot: Add missing instruction cache invalidate
Before we jump to SDRAM where we just copied our code we have to invalidate the instruction cache. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r--arch/arm/mach-imx/external-nand-boot.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/external-nand-boot.c b/arch/arm/mach-imx/external-nand-boot.c
index b0aeb43b15..1af46b78ea 100644
--- a/arch/arm/mach-imx/external-nand-boot.c
+++ b/arch/arm/mach-imx/external-nand-boot.c
@@ -15,6 +15,7 @@
#include <init.h>
#include <io.h>
#include <linux/mtd/nand.h>
+#include <asm/cache.h>
#include <asm/sections.h>
#include <asm/barebox-arm.h>
#include <asm/barebox-arm-head.h>
@@ -244,6 +245,8 @@ void __bare_init imx_nand_load_image(void *dest, int size, void __iomem *base,
*/
static __bare_init __naked void jump_sdram(unsigned long offset)
{
+ flush_icache();
+
__asm__ __volatile__ (
"sub lr, lr, %0;"
"mov pc, lr;" : : "r"(offset)