From be0b076c55a3de8a1a10053a8db9ff9ca8ffb8ac Mon Sep 17 00:00:00 2001 From: Mattijs Korpershoek Date: Wed, 10 Jul 2024 10:40:03 +0200 Subject: bootstd: Add bootflow_iter_check_mmc() helper Some bootflows might be able to only boot from MMC devices. Add a helper function these bootflows can use. Reviewed-by: Igor Opaniuk Reviewed-by: Julien Masson Reviewed-by: Guillaume La Roque Tested-by: Guillaume La Roque Signed-off-by: Mattijs Korpershoek Reviewed-by: Simon Glass --- include/bootflow.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include') diff --git a/include/bootflow.h b/include/bootflow.h index 6affc5e1a4f..4d2fc7b69b5 100644 --- a/include/bootflow.h +++ b/include/bootflow.h @@ -408,6 +408,15 @@ void bootflow_remove(struct bootflow *bflow); */ int bootflow_iter_check_blk(const struct bootflow_iter *iter); +/** + * bootflow_iter_check_mmc() - Check that a bootflow uses a MMC device + * + * This checks the bootdev in the bootflow to make sure it uses a mmc device + * + * Return: 0 if OK, -ENOTSUPP if some other device is used (e.g. ethernet) + */ +int bootflow_iter_check_mmc(const struct bootflow_iter *iter); + /** * bootflow_iter_check_sf() - Check that a bootflow uses SPI FLASH * -- cgit v1.2.3 From a525656c5ba69d307864c4de14e911384cc7dc0c Mon Sep 17 00:00:00 2001 From: Mattijs Korpershoek Date: Wed, 10 Jul 2024 10:40:04 +0200 Subject: android: boot: Add set_abootimg_addr() and set_avendor_bootimg_addr() The only way to configure the load addresses for both bootimg and vendor_bootimg is by using the "abootimg" command. If we want to use the C API, there is no equivalent. Add set_abootimg_addr() and set_avendor_bootimg_addr() so that we can specify the load address from C. This can be useful for implementing an Android bootmethod. Reviewed-by: Igor Opaniuk Reviewed-by: Julien Masson Reviewed-by: Simon Glass Reviewed-by: Guillaume La Roque Tested-by: Guillaume La Roque Signed-off-by: Mattijs Korpershoek --- include/image.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'include') diff --git a/include/image.h b/include/image.h index 9daaee15cdb..dd4042d1bd9 100644 --- a/include/image.h +++ b/include/image.h @@ -1971,6 +1971,13 @@ bool is_android_vendor_boot_image_header(const void *vendor_boot_img); */ ulong get_abootimg_addr(void); +/** + * set_abootimg_addr() - Set Android boot image address + * + * Return: no returned results + */ +void set_abootimg_addr(ulong addr); + /** * get_ainit_bootimg_addr() - Get Android init boot image address * @@ -1985,6 +1992,13 @@ ulong get_ainit_bootimg_addr(void); */ ulong get_avendor_bootimg_addr(void); +/** + * set_abootimg_addr() - Set Android vendor boot image address + * + * Return: no returned results + */ +void set_avendor_bootimg_addr(ulong addr); + /** * board_fit_config_name_match() - Check for a matching board name * -- cgit v1.2.3