summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSafae Ouajih <souajih@baylibre.com>2023-08-30 10:04:40 +0200
committerPraneeth Bajjuri <praneeth@ti.com>2023-09-13 09:21:35 -0500
commitc5e4106e65bf2138389a6e3802bd15476e02d5ec (patch)
tree4ca8624223f81fce26af886bc66c0d87881a000d /include
parent9f0d18e7f655b4fb855853f21cf75ddcdf77cec3 (diff)
include: configs: am62x_evm: support boot image v4
- Add vendor_boot and init_boot partitions in partition table. - Rework Android bootflow to include vendor_boot image loading. Signed-off-by: Safae Ouajih <souajih@baylibre.com> Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
Diffstat (limited to 'include')
-rw-r--r--include/configs/am62x_evm_android.h28
-rw-r--r--include/environment/ti/mmc_android.env2
2 files changed, 23 insertions, 7 deletions
diff --git a/include/configs/am62x_evm_android.h b/include/configs/am62x_evm_android.h
index afabdb4afe..19c536a2cb 100644
--- a/include/configs/am62x_evm_android.h
+++ b/include/configs/am62x_evm_android.h
@@ -138,6 +138,8 @@
#define BOOTENV_DEV_RECOVERY(devtypeu, devtypel, instance) \
"bootcmd_recovery=" \
"setenv run_recovery 0;" \
+ "setenv ramdisk_addr_r 0xe9000000;" \
+ "setenv vloadaddr 0xe0000000;" \
"if bcb load " __stringify(CONFIG_FASTBOOT_FLASH_MMC_DEV) " " \
CONTROL_PARTITION "; then " \
"if bcb test command = boot-recovery; then; " \
@@ -163,10 +165,15 @@
"run avb_verify_cmd;" \
"part start mmc ${mmcdev} " RECOVERY_PARTITION "${slot_suffix} boot_start;" \
"part size mmc ${mmcdev} " RECOVERY_PARTITION "${slot_suffix} boot_size;" \
+ "part start mmc ${mmcdev} vendor_boot${slot_suffix} vendor_boot_start;" \
+ "part size mmc ${mmcdev} vendor_boot${slot_suffix} vendor_boot_size;" \
"if mmc read ${loadaddr} ${boot_start} ${boot_size}; then " \
- "run prepare_fdt_cmd;" \
- "echo Running Android Recovery...;" \
- BOOT_CMD \
+ "if mmc read $vloadaddr ${vendor_boot_start} ${vendor_boot_size}; then " \
+ "abootimg addr $loadaddr $vloadaddr;" \
+ "run prepare_fdt_cmd;" \
+ "echo Running Android Recovery...;" \
+ BOOT_CMD \
+ "fi;" \
"fi;" \
"echo Failed to boot Android...;" \
"reset;" \
@@ -182,13 +189,20 @@
"setenv bootargs ${bootargs} androidboot.serialno=${serial#};" \
"run ab_select_slot_cmd;" \
"run avb_verify_cmd;" \
+ "setenv ramdisk_addr_r 0xe9000000;" \
+ "setenv vloadaddr 0xe0000000;" \
"part start mmc ${mmcdev} " BOOT_PARTITION "${slot_suffix} boot_start;" \
"part size mmc ${mmcdev} " BOOT_PARTITION "${slot_suffix} boot_size;" \
+ "part start mmc ${mmcdev} vendor_boot${slot_suffix} vendor_boot_start;" \
+ "part size mmc ${mmcdev} vendor_boot${slot_suffix} vendor_boot_size;" \
"if mmc read ${loadaddr} ${boot_start} ${boot_size}; then " \
- "run prepare_fdt_cmd;" \
- "setenv bootargs \"${bootargs} " AB_BOOTARGS "\" ; " \
- "echo Running Android...;" \
- BOOT_CMD \
+ "if mmc read $vloadaddr ${vendor_boot_start} ${vendor_boot_size}; then " \
+ "abootimg addr $loadaddr $vloadaddr;" \
+ "run prepare_fdt_cmd;" \
+ "setenv bootargs \"${bootargs} " AB_BOOTARGS "\" ; " \
+ "echo Running Android...;" \
+ BOOT_CMD \
+ "fi;" \
"fi;" \
"echo Failed to boot Android...\0"
diff --git a/include/environment/ti/mmc_android.env b/include/environment/ti/mmc_android.env
index fbf5d25312..2d90358221 100644
--- a/include/environment/ti/mmc_android.env
+++ b/include/environment/ti/mmc_android.env
@@ -7,6 +7,8 @@ partitions+=name=uboot-env,start=13M,size=512K,uuid=${uuid_gpt_env};
partitions+=name=misc,start=13824K,size=512K,uuid=${uuid_gpt_misc};
partitions+=name=boot_a,size=40M,uuid=${uuid_gpt_boot_a};
partitions+=name=boot_b,size=40M,uuid=${uuid_gpt_boot_b};
+partitions+=name=vendor_boot_a,size=32M,uuid=${uuid_gpt_vendor_boot_a};
+partitions+=name=vendor_boot_b,size=32M,uuid=${uuid_gpt_vendor_boot_b};
partitions+=name=dtbo_a,size=8M,uuid=${uuid_gpt_dtbo_a};
partitions+=name=dtbo_b,size=8M,uuid=${uuid_gpt_dtbo_b};
partitions+=name=vbmeta_a,size=64K,uuid=${uuid_gpt_vbmeta_a};