aboutsummaryrefslogtreecommitdiff
path: root/src/soc/nvidia/tegra124
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/nvidia/tegra124')
-rw-r--r--src/soc/nvidia/tegra124/verstage.c19
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();
}