cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP135F eMMC boot partition

RomainP
Associate

Hello,

 

I am using a STM32MP135F on a custom board which is working well using SD Card (sdmmc1).

The SDCard is partitioned as: 

1) fsbl1

2) fsbl2

3) fip

4) bootfs

5) rootfs

From the SDcard system, I try to prepare the eMMC (4GB, sdmmc2).
I tried different configurations:
- mmcblk1p1boot0 (and boot1) contains fsbl1 (tf-a*.stm32), mmcblk1p1 contains fip => Could NOT find the fip partition! (although it contains the right GUID for fip partition 19...)

- mmcblk1p1boot0 contains fsbl1 (tf-a*.stm32) and fip (at offset 256KB => dd seek=512 bs=512) with 

STM32MP_EMMC_BOOT=1 => FIP magic failed (get_boot_part_fip_header: eMMC boot magic at offset 256K: 0a040001 / boot_mmc: Can't find FIP header on eMMC boot partition. Trying GPT. VERBOSE: MBR boot signature failure
VERBOSE: Failed to access image id=3 (-2)
ERROR: Failed to parse partition with image id = 3
ERROR: Could NOT find the fip partition!
- The MMC partconf is:
STM32MP> mmc partconf 1      
EXT_CSD[179], PARTITION_CONFIG:
BOOT_ACK: 0x1
BOOT_PARTITION_ENABLE: 0x1 (boot0)
PARTITION_ACCESS: 0x0 (user)

The BOOT_ACK is often erase and I have to renable it manually via u-boot on SDCard.
When I read back boot0 and boot1 at offset, the expected magic is present. Do you have an eMMC mapping for simple boot (the update & secure boot will be implemented later) to boot from eMMC successfully?

For information, please find the arguments for TFA:

EXTRA_OEMAKE:append:pn-trusted-firmware-a = " \
    ARCH=aarch32 ARM_ARCH_MAJOR=7 \
    AARCH32_SP=optee \
    DTB_FILE_NAME=myb-stm32mp135x-512m.dtb \
    STM32MP1_OPTEE_IN_SYSRAM=0 \
    BL32=${DEPLOY_DIR_IMAGE}/optee/tee-header_v2.bin \
    BL32_EXTRA1=${DEPLOY_DIR_IMAGE}/optee/tee-pager_v2.bin \
    BL32_EXTRA2=${DEPLOY_DIR_IMAGE}/optee/tee-pageable_v2.bin \
    BL33_CFG=${DEPLOY_DIR_IMAGE}/u-boot.dtb \
    STM32MP_EMMC=1 \
    STM32MP_SDMMC=1 \
    STM32MP_EMMC_BOOT=1 \
    BL33=${DEPLOY_DIR_IMAGE}/u-boot-nodtb.bin \
    STM32MP13=1 \
    STM32MP15=0 \
    LOG_LEVEL=50 \
"

 

Thank you for your help and I wish you a happy new year! 

0 REPLIES 0