AnsweredAssumed Answered

IMX8QM Boot Logic Partitions - SCFW API

Question asked by Daniel Oliveira on Mar 30, 2020
Latest reply on Mar 31, 2020 by Daniel Oliveira

Greetings,We are currently working with the iMX8QM, and are trying a few different methods of bootstraping the environment. In one of our experiments we are trying to get the cortex-m4_0 to run as the boot partition, while running another partition for the AP clusters.To make this happen we created another partiton, pt_a, which we assigned all resources which were previously assigned to boot. And the boot partition is left assigned with all resources which were attributed to the m4_0 partition.

By previously I mean, the default boards.c file. We have not been sucessfull in booting the AP clusters.
We changed the iMX8QM imx-mkimage makefile rule to the following:


flash_linux_m4: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-spl.bin m4_image.bin m4_1_image.bin u-boot-atf-container.img

./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -flags 0x00200000 -scfw scfw_tcm.bin -p1 -m4 m4_image.bin 0 0x34FE0000 -p3 -ap u-boot-spl.bin a53 0x00100000 -out flash.bin


With this we were expecting the SCU to be able to boot the AP clusters as partition 3, but this did not happen. Furthermore we tried to boot the AP from the cortex-M4_0 (which now owns the boot partition), but we can only wake up the AP to run in the DDRr. Trying to wake it up to run from the address 0x100000 (as is specified by default in the makefile), does not work and returns error 3: bad parameters. We think it may be related to some OCM (On Chip Ram) particularity.We considered loading the image ourselves from the m4_0 binary, which we would load into DDR instead of TCM, but we would really like to avoid this.Is there something we are doing wrong? From our understanding of the SCU API we should be able to do want we are trying to achieve.