diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-12-16 10:42:15 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-03-09 06:34:17 +0100 |
commit | e74955c2fd8cc8d285772cdb84be8c8bec6d75ff (patch) | |
tree | 57bcef84b198da573cf1bbeaa895cfdea844284d /arch/arm/boards/freescale-mx25-3ds | |
parent | aac3b3a15a21a555141009c57f270206b49ec8d8 (diff) | |
download | barebox-e74955c2fd8cc8d285772cdb84be8c8bec6d75ff.tar.gz barebox-e74955c2fd8cc8d285772cdb84be8c8bec6d75ff.tar.xz |
ARM: i.MX: boards: Setup stack before calling imx*_barebox_entry
This allows imx*_barebox_entry to use the stack.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/freescale-mx25-3ds')
-rw-r--r-- | arch/arm/boards/freescale-mx25-3ds/lowlevel_init.S | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/boards/freescale-mx25-3ds/lowlevel_init.S b/arch/arm/boards/freescale-mx25-3ds/lowlevel_init.S index 4ca4c82d32..a5d54e8d01 100644 --- a/arch/arm/boards/freescale-mx25-3ds/lowlevel_init.S +++ b/arch/arm/boards/freescale-mx25-3ds/lowlevel_init.S @@ -17,6 +17,7 @@ * */ +#include <linux/sizes.h> #include <asm-generic/memory_layout.h> #include <mach/imx25-regs.h> #include <mach/imx-pll.h> @@ -71,6 +72,9 @@ barebox_arm_reset_vector: writel(0x000FDFFF, MX25_CCM_BASE_ADDR + MX25_CCM_CGCR2) writel(0x0000FEFF, MX25_CCM_BASE_ADDR + MX25_CCM_MCR) + /* Setup a temporary stack in SRAM */ + ldr sp, =MX25_IRAM_BASE_ADDR + MX25_IRAM_SIZE - 4 + /* Skip SDRAM initialization if we run from RAM */ cmp pc, #0x80000000 bls 1f @@ -99,9 +103,6 @@ barebox_arm_reset_vector: #ifdef CONFIG_ARCH_IMX_EXTERNAL_BOOT_NAND - /* Setup a temporary stack in SRAM */ - ldr sp, =MX25_IRAM_BASE_ADDR + MX25_IRAM_SIZE - 4 - mov r0, #0 b imx25_barebox_boot_nand_external #endif /* CONFIG_ARCH_IMX_EXTERNAL_BOOT_NAND */ |