diff options
Diffstat (limited to 'arch/arm/boards/ccxmx51/lowlevel.c')
-rw-r--r-- | arch/arm/boards/ccxmx51/lowlevel.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/arm/boards/ccxmx51/lowlevel.c b/arch/arm/boards/ccxmx51/lowlevel.c index 2b3dc42e87..462c22e284 100644 --- a/arch/arm/boards/ccxmx51/lowlevel.c +++ b/arch/arm/boards/ccxmx51/lowlevel.c @@ -1,3 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* Author: Alexander Shiyan <shc_work@mail.ru> */ + #include <common.h> #include <mach/esdctl.h> #include <mach/generic.h> @@ -5,8 +8,16 @@ #include <asm/barebox-arm-head.h> #include <mach/imx51-regs.h> -void __naked barebox_arm_reset_vector(void) +ENTRY_FUNCTION(start_ccxmx51, r0, r1, r2) { + extern char __dtb_imx51_ccxmx51_start[]; + void *fdt; + imx5_cpu_lowlevel_init(); - barebox_arm_entry(MX51_CSD0_BASE_ADDR, SZ_128M, NULL); + + arm_setup_stack(0x20000000 - 16); + + fdt = __dtb_imx51_ccxmx51_start + get_runtime_offset(); + + barebox_arm_entry(MX51_CSD0_BASE_ADDR, SZ_128M, fdt); } |