summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/phytec-phycore-imx31
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/phytec-phycore-imx31
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/phytec-phycore-imx31')
-rw-r--r--arch/arm/boards/phytec-phycore-imx31/lowlevel.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/arm/boards/phytec-phycore-imx31/lowlevel.c b/arch/arm/boards/phytec-phycore-imx31/lowlevel.c
index 44fc5bc765..27e275676f 100644
--- a/arch/arm/boards/phytec-phycore-imx31/lowlevel.c
+++ b/arch/arm/boards/phytec-phycore-imx31/lowlevel.c
@@ -39,6 +39,8 @@ void __bare_init __naked barebox_arm_reset_vector(void)
arm_cpu_lowlevel_init();
+ arm_setup_stack(MX31_IRAM_BASE_ADDR + MX31_IRAM_SIZE - 12);
+
writel(1 << 6, MX31_IPU_CTRL_BASE_ADDR);
writel(0x074B0BF5, MX31_CCM_BASE_ADDR + MX31_CCM_CCMR);
@@ -125,12 +127,8 @@ void __bare_init __naked barebox_arm_reset_vector(void)
writel(0x0000000c, MX31_ESDCTL_BASE_ADDR + IMX_ESDMISC);
#endif
- if (IS_ENABLED(CONFIG_ARCH_IMX_EXTERNAL_BOOT_NAND)) {
- /* setup a stack to be able to call imx31_barebox_boot_nand_external() */
- arm_setup_stack(MX31_IRAM_BASE_ADDR + MX31_IRAM_SIZE - 12);
-
+ if (IS_ENABLED(CONFIG_ARCH_IMX_EXTERNAL_BOOT_NAND))
imx31_barebox_boot_nand_external(0);
- } else {
+ else
imx31_barebox_entry(NULL);
- }
}