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/phytec-phycore-imx31 | |
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/phytec-phycore-imx31')
-rw-r--r-- | arch/arm/boards/phytec-phycore-imx31/lowlevel.c | 10 |
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); - } } |