STM32MP157 eMMC not booting
We have a custom STM32MP157 board running Linux that is not booting over eMMC. The STM32MP157 image boots from SD card on SDMMC1 but not from a Toshiba THGBMNG5D1LBAIL eMMC chip connected to SDMMC2. We have confirmed the Boot pins are correct, and the device tree is correct in uBoot and Linux
We can see 4 partitions of the SD card, and the hardware partitions of the eMMC:
/dev/mmcblk0 (SD Card)
/dev/mmcblk0p1 (fsbl1)
/dev/mmcblk0p2 (fsbl2)
/dev/mmcblk0p3 (ssbl)
/dev/mmcblk0p4 (rootfs)
/dev/mmcblk1 (eMMC)
/dev/mmcblk1rpmb
/dev/mmcblk1boot0
/dev/mmcblk1boot1
I have tried copying the entire SD card over to mmcblk1 using:
dd if=/dev/mmcblk0 of=/dev/mmcblk1
I've also tried unlocking the mmcblk1bootX partitions and copying over the SPL and uboot partitions. Schemes I have tried are a copy of single partitions, and even copying over the entire GPT table and partitions 1-3
dd if=/dev/mmcblk0p1 of=/dev/mmcblk1boot0
dd if=/dev/mmcblk0 of=/dev/mmcblk1boot0 count=xxxx
etc.
Unfortunately, nothing results in a boot from eMMC
How does the STM32MP157 boot from eMMC? Does it access boot0 or boot1 partitions or only the user partition? Are any changes to the CONFIG_PARTITION register on the eMMC needed?
Is a valid GPT required or only a raw image of the SPL?
Build system: Buildroot 2019.11
Kernel: https://github.com/STMicroelectronics/linux
U-Boot build from ST repo: https://github.com/STMicroelectronics/u-boot
MMC_UTILS available
CPU as reported by U-Boot: "CPU: STM32MP157C?? Rev.B"
Thank you,
Drew
