
From: Hai Pham hai.pham.ud@renesas.com
U-Boot executes at EL3 is required to initalize those settings. In other cases, they will be done by prior-stage firmware instead.
This fixes crash when U-Boot is at non-secure exception level.
Reviewed-by: Marek Vasut marek.vasut+renesas@mailbox.org Signed-off-by: Hai Pham hai.pham.ud@renesas.com Signed-off-by: Marek Vasut marek.vasut+renesas@mailbox.org --- board/renesas/falcon/falcon.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/board/renesas/falcon/falcon.c b/board/renesas/falcon/falcon.c index b0cb4e747b6..b7e7fd9003a 100644 --- a/board/renesas/falcon/falcon.c +++ b/board/renesas/falcon/falcon.c @@ -14,6 +14,7 @@ #include <asm/mach-types.h> #include <asm/processor.h> #include <linux/errno.h> +#include <asm/system.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -69,7 +70,8 @@ static void init_gic_v3(void)
void s_init(void) { - init_generic_timer(); + if (current_el() == 3) + init_generic_timer(); }
int board_early_init_f(void) @@ -86,7 +88,8 @@ int board_init(void) /* address of boot parameters */ gd->bd->bi_boot_params = CONFIG_TEXT_BASE + 0x50000;
- init_gic_v3(); + if (current_el() == 3) + init_gic_v3();
return 0; }