summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/freescale-mx25-3ds
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-12-16 10:42:15 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-03-09 06:34:17 +0100
commite74955c2fd8cc8d285772cdb84be8c8bec6d75ff (patch)
tree57bcef84b198da573cf1bbeaa895cfdea844284d /arch/arm/boards/freescale-mx25-3ds
parentaac3b3a15a21a555141009c57f270206b49ec8d8 (diff)
downloadbarebox-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.S7
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 */