summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/karo-tx25/lowlevel.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-01-27 15:04:48 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-01-31 21:30:32 +0100
commit23f23a7224fc4de6a4be42350df35d589e929c18 (patch)
treed17fba4cb2c2761816603aa7a6edb427a4bd776c /arch/arm/boards/karo-tx25/lowlevel.c
parent2cca917c4813403c55a7bfd057c2eca7d7a362a2 (diff)
downloadbarebox-23f23a7224fc4de6a4be42350df35d589e929c18.tar.gz
barebox-23f23a7224fc4de6a4be42350df35d589e929c18.tar.xz
ARM: i.MX25: Karo TX25: Switch to devicetree support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/karo-tx25/lowlevel.c')
-rw-r--r--arch/arm/boards/karo-tx25/lowlevel.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/boards/karo-tx25/lowlevel.c b/arch/arm/boards/karo-tx25/lowlevel.c
index 11f4138d2f..a3a778469b 100644
--- a/arch/arm/boards/karo-tx25/lowlevel.c
+++ b/arch/arm/boards/karo-tx25/lowlevel.c
@@ -75,9 +75,12 @@ static inline void __bare_init setup_sdram(uint32_t base, uint32_t esdctl,
writel(esdctl, esdctlreg);
}
+extern char __dtb_imx25_karo_tx25_start[];
+
void __bare_init __naked barebox_arm_reset_vector(void)
{
uint32_t r;
+ uint32_t fdt;
arm_cpu_lowlevel_init();
@@ -136,6 +139,8 @@ void __bare_init __naked barebox_arm_reset_vector(void)
setup_uart();
+ fdt = (uint32_t)__dtb_imx25_karo_tx25_start - get_runtime_offset();
+
/* Skip SDRAM initialization if we run from RAM */
r = get_pc();
if (r > 0x80000000 && r < 0xa0000000)
@@ -161,8 +166,8 @@ void __bare_init __naked barebox_arm_reset_vector(void)
/* setup a stack to be able to call imx25_barebox_boot_nand_external() */
arm_setup_stack(MX25_IRAM_BASE_ADDR + MX25_IRAM_SIZE - 8);
- imx25_barebox_boot_nand_external(0);
+ imx25_barebox_boot_nand_external(fdt);
#endif
out:
- imx25_barebox_entry(0);
+ imx25_barebox_entry(fdt);
}