diff options
Diffstat (limited to 'src/soc/nvidia/tegra124/verstage.c')
-rw-r--r-- | src/soc/nvidia/tegra124/verstage.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/soc/nvidia/tegra124/verstage.c b/src/soc/nvidia/tegra124/verstage.c index 80324232a8..2d7a9530b6 100644 --- a/src/soc/nvidia/tegra124/verstage.c +++ b/src/soc/nvidia/tegra124/verstage.c @@ -19,6 +19,8 @@ #include <arch/cache.h> #include <arch/exception.h> +#include <arch/hlt.h> +#include <arch/stages.h> #include <console/console.h> #include <soc/cache.h> #include <soc/early_configs.h> @@ -47,12 +49,23 @@ static void soc_init(void) enable_cache(); } +static void verstage(void) +{ + void *entry; + + soc_init(); + early_mainboard_init(); + + entry = vboot2_verify_firmware(); + if (entry != (void *)-1) + stage_exit(entry); +} + void main(void) { asm volatile ("bl arm_init_caches" : : : "r0", "r1", "r2", "r3", "r4", "r5", "ip"); - soc_init(); - early_mainboard_init(); - vboot2_verify_firmware(); + verstage(); + hlt(); } |