bl31.bin as bootloader for Cortex-A53

Showing results for 
Search instead for 
Did you mean: 

bl31.bin as bootloader for Cortex-A53

Contributor III


I can build bl31.bin (ARM Trusted Firmware open source reference) for my i.MX8QM EVK which can act as an ARMv8-A bootloader. I do NOT intend to combine my image with u-boot.

Is that possible for a Cortex-A53 only image ? Can someone point out the limitations or any reference documentation ?


0 Kudos
2 Replies

NXP TechSupport
NXP TechSupport

Hi rkohli2000

>Is that possible for a Cortex-A53 only image ? Can someone point out the limitations

>or any reference documentation ?

I believe it is possible, for documentation one can look at

i.MX8 Boot process and creating a bootable image 

Use AN12631 Normal and Secure Debug for i.MX8/8X Family of Applications Processors

for investigation of boot process.

Best regards
Note: If this post answers your question, please click the Correct Answer button. Thank you!

0 Kudos

Contributor III

Additional info:

I see the following debug from the bl31.bin debug console on booting the a test image.

NOTICE: Memreg 2 0x34000000 -- 0x37ffffff
NOTICE: Memreg 3 0x38000000 -- 0x3bffffff
NOTICE: Memreg 4 0x60000000 -- 0x6fffffff
NOTICE: Memreg 5 0x70000000 -- 0x7fffffff
NOTICE: Memreg 6 0x80000000 -- 0xffffffff
NOTICE: Memreg 7 0x400000000 -- 0x43fffffff
NOTICE: Memreg 8 0x880000000 -- 0x97fffffff
NOTICE: Non-secure Partitioning Succeeded
NOTICE: BL31: v2.3():
NOTICE: BL31: Built : 15:21:46, Aug 24 2020
INFO: GICv3 with legacy support detected.
INFO: ARM GICv3 driver initialized in EL3
INFO: BL31: Initializing runtime services
INFO: BL31: cortex_a53: CPU workaround for 855873 was applied
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x80020000
INFO: SPSR = 0x3c9

The bl31.bin binary was assigned 0x80000000 on A53 core in the imx-mkimge makefile:

flash_b0_a53_bl31_1: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin bl31.bin
16 ./$(MKIMG) -soc QM -rev B0 -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -ap bl31.bin a53 0x80000000 -out flash.bin

What is the "Entry point address" logged ? Shouldn't it be possible to call another A53 app OR secondary Bootloader from bl31 code ?


0 Kudos