imx8 U-Boot: Unknown Boot Type returned from ROM API

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8 U-Boot: Unknown Boot Type returned from ROM API

461 Views
PhilRittenhouse
Contributor II

Just a heads up for anyone using a Boot Mode in their design that isn't included in the EVK.  It appears that the ROM API for QUERY_BT_DEV does not return the raw Boot Mode value. For example, when Boot Mode is 0x8, the ROM API returns 0x6 and when Boot Mode is 0x1 the ROM API returns 0xE.  Sadly, NXP is unable to provide any documentation for the ROM API.  

I found two possible solutions.  You can either run tests with the various boot mode pin settings to map it out or you can just read the Boot Mode in SRC Boot Mode Register 2 (SRC_SBMR2). 

In the u-boot code only EVK supported boot modes are defined, so when Boot Mode is 0x8, the ROM API returns 0x6, but 0x6 is not defined in the code (see below).  This results in unexpected behavior so be careful to make sure you update your u-boot source to handle all the boot mode's your application supports.

From arch/arm/include/asm/mach-imx/sys_proto.h

 

enum boot_dev_type_e {
BT_DEV_TYPE_SD = 1,
BT_DEV_TYPE_MMC = 2,
BT_DEV_TYPE_NAND = 3,
BT_DEV_TYPE_FLEXSPINOR = 4,

BT_DEV_TYPE_USB = 0xE,
BT_DEV_TYPE_MEM_DEV = 0xF,

BT_DEV_TYPE_INVALID = 0xFF
};

 

 

 

0 Kudos
1 Reply

444 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

I don't know which device you’re checking, but we do have ROM log events document that you may use to decode this:
https://www.nxp.com/webapp/Download?colCode=AN12853

Best regards,
Aldo.

0 Kudos