diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-12-03 10:13:41 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-12-03 10:20:00 +0100 |
commit | fbf502a9c2a1b88e0ad00be0c675bc1f69d3b839 (patch) | |
tree | af37ec3d617d24ef529fc72d006fb39b7153330e /arch | |
parent | 6e66ab7a53a277987505eee2df5a71ae12c51318 (diff) | |
download | barebox-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')
-rw-r--r-- | arch/arm/mach-imx/external-nand-boot.c | 3 |
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) |