mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 23:47:24 +00:00
imx: spl_imx_romapi: Get and print boot stage
Get and print boot stage through ROM API in SPL Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
parent
e54882aefb
commit
20ba9f252a
2 changed files with 28 additions and 1 deletions
|
@ -172,6 +172,13 @@ enum boot_dev_type_e {
|
||||||
BT_DEV_TYPE_INVALID = 0xFF
|
BT_DEV_TYPE_INVALID = 0xFF
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum boot_stage_type {
|
||||||
|
BT_STAGE_PRIMARY = 0x6,
|
||||||
|
BT_STAGE_SECONDARY = 0x9,
|
||||||
|
BT_STAGE_RECOVERY = 0xa,
|
||||||
|
BT_STAGE_USB = 0x5,
|
||||||
|
};
|
||||||
|
|
||||||
#define QUERY_ROM_VER 1
|
#define QUERY_ROM_VER 1
|
||||||
#define QUERY_BT_DEV 2
|
#define QUERY_BT_DEV 2
|
||||||
#define QUERY_PAGE_SZ 3
|
#define QUERY_PAGE_SZ 3
|
||||||
|
|
|
@ -341,15 +341,35 @@ int board_return_to_bootrom(struct spl_image_info *spl_image,
|
||||||
struct spl_boot_device *bootdev)
|
struct spl_boot_device *bootdev)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
u32 boot;
|
u32 boot, bstage;
|
||||||
|
|
||||||
ret = rom_api_query_boot_infor(QUERY_BT_DEV, &boot);
|
ret = rom_api_query_boot_infor(QUERY_BT_DEV, &boot);
|
||||||
|
ret |= rom_api_query_boot_infor(QUERY_BT_STAGE, &bstage);
|
||||||
|
|
||||||
if (ret != ROM_API_OKAY) {
|
if (ret != ROM_API_OKAY) {
|
||||||
puts("ROMAPI: failure at query_boot_info\n");
|
puts("ROMAPI: failure at query_boot_info\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
printf("Boot Stage: ");
|
||||||
|
|
||||||
|
switch (bstage) {
|
||||||
|
case BT_STAGE_PRIMARY:
|
||||||
|
printf("Primary boot\n");
|
||||||
|
break;
|
||||||
|
case BT_STAGE_SECONDARY:
|
||||||
|
printf("Secondary boot\n");
|
||||||
|
break;
|
||||||
|
case BT_STAGE_RECOVERY:
|
||||||
|
printf("Recovery boot\n");
|
||||||
|
break;
|
||||||
|
case BT_STAGE_USB:
|
||||||
|
printf("USB boot\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
printf("Unknow (0x%x)\n", bstage);
|
||||||
|
}
|
||||||
|
|
||||||
if (is_boot_from_stream_device(boot))
|
if (is_boot_from_stream_device(boot))
|
||||||
return spl_romapi_load_image_stream(spl_image, bootdev);
|
return spl_romapi_load_image_stream(spl_image, bootdev);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue