spl: add support for custom boot method names

Currently the names MMC1, MMC2 and MMC2_2 are output in the SPL. To
achieve more userbility here the name of the boot source can be returned.
E.g. for "MMC1" -> "eMMC" or "MMC2" -> "SD card".

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Reviewed-by: Michael Walle <michael@walle.cc>
Tested-by: Michael Walle <michael@walle.cc>
This commit is contained in:
Heiko Thiery 2022-01-17 16:25:41 +01:00 committed by Tom Rini
parent 2d0953c0e0
commit c592292385
2 changed files with 19 additions and 1 deletions

View File

@ -174,6 +174,11 @@ __weak void spl_board_prepare_for_optee(void *fdt)
{
}
__weak const char *spl_board_loader_name(u32 boot_device)
{
return NULL;
}
#if CONFIG_IS_ENABLED(OPTEE_IMAGE)
__weak void __noreturn jump_to_image_optee(struct spl_image_info *spl_image)
{

View File

@ -462,6 +462,17 @@ void spl_board_prepare_for_boot(void);
int spl_board_ubi_load_image(u32 boot_device);
int spl_board_boot_device(u32 boot_device);
/**
* spl_board_loader_name() - Return a name for the loader
*
* This is a weak function which might be overridden by the board code. With
* that a board specific value for the device where the U-Boot will be loaded
* from can be set. By default it returns NULL.
*
* @boot_device: ID of the device which SPL wants to load U-Boot from.
*/
const char *spl_board_loader_name(u32 boot_device);
/**
* jump_to_image_linux() - Jump to a Linux kernel from SPL
*
@ -544,7 +555,9 @@ struct spl_image_loader {
static inline const char *spl_loader_name(const struct spl_image_loader *loader)
{
#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
return loader->name;
const char *name;
name = spl_board_loader_name(loader->boot_device);
return name ?: loader->name;
#else
return NULL;
#endif