ARM: renesas: falcon: Initialize ARM generic timer and GICv3 if EL3
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>
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
#include <asm/mach-types.h>
|
#include <asm/mach-types.h>
|
||||||
#include <asm/processor.h>
|
#include <asm/processor.h>
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
|
#include <asm/system.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
@@ -69,7 +70,8 @@ static void init_gic_v3(void)
|
|||||||
|
|
||||||
void s_init(void)
|
void s_init(void)
|
||||||
{
|
{
|
||||||
init_generic_timer();
|
if (current_el() == 3)
|
||||||
|
init_generic_timer();
|
||||||
}
|
}
|
||||||
|
|
||||||
int board_early_init_f(void)
|
int board_early_init_f(void)
|
||||||
@@ -86,7 +88,8 @@ int board_init(void)
|
|||||||
/* address of boot parameters */
|
/* address of boot parameters */
|
||||||
gd->bd->bi_boot_params = CONFIG_TEXT_BASE + 0x50000;
|
gd->bd->bi_boot_params = CONFIG_TEXT_BASE + 0x50000;
|
||||||
|
|
||||||
init_gic_v3();
|
if (current_el() == 3)
|
||||||
|
init_gic_v3();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user