diff options
author | Safae Ouajih <souajih@baylibre.com> | 2023-08-30 10:04:40 +0200 |
---|---|---|
committer | Praneeth Bajjuri <praneeth@ti.com> | 2023-09-13 09:21:35 -0500 |
commit | c5e4106e65bf2138389a6e3802bd15476e02d5ec (patch) | |
tree | 4ca8624223f81fce26af886bc66c0d87881a000d /include | |
parent | 9f0d18e7f655b4fb855853f21cf75ddcdf77cec3 (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.h | 28 | ||||
-rw-r--r-- | include/environment/ti/mmc_android.env | 2 |
2 files changed, 23 insertions, 7 deletions
diff --git a/include/configs/am62x_evm_android.h b/include/configs/am62x_evm_android.h index afabdb4afe4..19c536a2cbe 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 fbf5d253123..2d903582212 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}; |