summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorBoyan Karatotev <[email protected]>2024-10-25 18:18:17 +0100
committerTom Rini <[email protected]>2024-11-04 14:50:43 -0600
commit6d111a6dc22f89104786b43e4e37bde46934330c (patch)
treecbe8d336f4176a292511809c1a1843dde5d5b57f /board
parent4696d63d873acbd162ccf858b8508d22c56f7316 (diff)
arm: total_compute: move the boot command to an env file
The boot command for Total Compute has many aspects and changes from time to time. So move it to an .env file where it can be a proper script. Signed-off-by: Boyan Karatotev <[email protected]> Signed-off-by: Leo Yan <[email protected]>
Diffstat (limited to 'board')
-rw-r--r--board/armltd/total_compute/total_compute.env28
1 files changed, 28 insertions, 0 deletions
diff --git a/board/armltd/total_compute/total_compute.env b/board/armltd/total_compute/total_compute.env
new file mode 100644
index 00000000000..8975a86fd2b
--- /dev/null
+++ b/board/armltd/total_compute/total_compute.env
@@ -0,0 +1,28 @@
+/* DRAM1 + 0x2000_0000 */
+load_addr=0xa0000000
+/* DRAM1 + 0x0800_0000 */
+initrd_addr_r=0x88000000
+
+bootcmd=
+ if part number mmc 0 vbmeta is_avb; then
+ echo 'MMC with vbmeta partition detected.';
+ echo 'Starting Android Verified boot...';
+ avb init 0;
+ if avb verify; then
+ set bootargs $bootargs $avb_bootargs;
+ part start mmc 0 boot boot_start;
+ part size mmc 0 boot boot_size;
+ mmc read ${load_addr} ${boot_start} ${boot_size};
+ bootm ${load_addr} ${load_addr} ${fdt_addr_r};
+ else;
+ echo 'AVB verification failed.';
+ exit;
+ fi;
+ elif part number mmc 0 system is_non_avb_android; then
+ echo 'Booting Android non-AVB...';
+ booti ${kernel_addr_r} ${initrd_addr_r} ${fdt_addr_r};
+ elif iminfo ${load_addr}; then
+ echo 'Booting FIT image...';
+ bootm ${load_addr} ${load_addr} ${fdt_addr_r};
+ fi;
+ echo 'ERROR: No valid image to boot the system. Aborting boot sequence.';