From 829bbd381f335297632220921b0b291d54e4a3d5 Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Tue, 10 Mar 2020 09:03:25 +0100 Subject: ARM: at91: sama5d27-som1: branch to noinline function after stack setup We need to branch out as soon as possible after setting up the stack. Do this and thereby avoid an access violation we now run into using OSELAS.Toolchain-2019.09.1. Fixes: 8bfb1852cf6a ("ARM: at91: add basic sama5d2-som1-ek1 support") Signed-off-by: Ahmad Fatoum Signed-off-by: Sascha Hauer --- arch/arm/boards/sama5d27-som1/lowlevel.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'arch') diff --git a/arch/arm/boards/sama5d27-som1/lowlevel.c b/arch/arm/boards/sama5d27-som1/lowlevel.c index 6907dcf812..62d35be912 100644 --- a/arch/arm/boards/sama5d27-som1/lowlevel.c +++ b/arch/arm/boards/sama5d27-som1/lowlevel.c @@ -65,14 +65,10 @@ static void ek_dbgu_init(void) extern char __dtb_z_at91_sama5d27_som1_ek_start[]; -ENTRY_FUNCTION(start_sama5d27_som1_ek, r0, r1, r2) +static noinline void som1_entry(void) { void *fdt; - arm_cpu_lowlevel_init(); - - arm_setup_stack(SAMA5D2_SRAM_BASE + SAMA5D2_SRAM_SIZE); - if (IS_ENABLED(CONFIG_DEBUG_LL)) ek_dbgu_init(); @@ -81,3 +77,12 @@ ENTRY_FUNCTION(start_sama5d27_som1_ek, r0, r1, r2) ek_turn_led(RGB_LED_GREEN); barebox_arm_entry(SAMA5_DDRCS, SZ_128M, fdt); } + +ENTRY_FUNCTION(start_sama5d27_som1_ek, r0, r1, r2) +{ + arm_cpu_lowlevel_init(); + + arm_setup_stack(SAMA5D2_SRAM_BASE + SAMA5D2_SRAM_SIZE); + + som1_entry(); +} -- cgit v1.2.3