STM32MP15 ECO 5.0.0 STM32MP151 boots from USB but not eMMC
Still trying to get a custom board with a STM32MP151AAC and 512MB ram to boot from eMMC. Switched to using this guide.
After various new issues (one of them being this), I managed to bitbake a set that I'm able to fully program with CubeProgrammer.
However, that was the only good news about that. The board doesn't boot from eMMC, instead i get the following output.
NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.1-yocto-mickledore-mp1-v23.06.21
INFO: PMIC version = 0x21
INFO: Reset reason (0x15):
INFO: Power-on Reset (rst_por)
INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000
INFO: FCONF: Reading firmware configuration information for: stm32mp_io
INFO: Using EMMC
INFO: Instance 2
INFO: Boot used partition fsbl1
NOTICE: BL2: v2.8-stm32mp1-r1.0(debug):lts-v2.8.6-dirty(ff0bd5f9)
NOTICE: BL2: Built : 17:57:15, Apr 21 2023
WARNING: Failed to access image id=3 (-2)
ERROR: Unable to find a metadata partition
WARNING: Failed to set reference to image id=12 (-2)
WARNING: loading of FWU-Metadata failed, using Bkup-FWU-Metadata
WARNING: Failed to access image id=3 (-2)
ERROR: Unable to find a metadata partition
WARNING: Failed to set reference to image id=13 (-2)
ERROR: loading of Bkup-FWU-Metadata failed
PANIC at PC : 0x2ffea1fbI think it means it doesn't find the eMMC? But it did program fine...
The mmc part in the tf-a dts looks like this.
/* For SD Card */
&sdmmc1{
pinctrl-names = "default";
pinctrl-0 = <&sdmmc1_pins_mx>;
status = "okay";
/* USER CODE BEGIN sdmmc1 */
disable-wp;
st,neg-edge;
bus-width = <4>;
vmmc-supply = <&v3v3>;
/* USER CODE END sdmmc1 */
};
/* eMMC storage */
&sdmmc2{
pinctrl-names = "default";
pinctrl-0 = <&sdmmc2_pins_mx>;
status = "okay";
/* USER CODE BEGIN sdmmc2 */
non-removable;
no-sd;
no-sdio;
st,neg-edge;
bus-width = <8>;
vmmc-supply = <&v3v3>;
vqmmc-supply = <&v3v3>;
mmc-ddr-3_3v;
/* USER CODE END sdmmc2 */
};Only thing I can think of is that the processor looks at sdmmc1 instead of sdmmc2. But haven't found any way to specify that yet. But given that 'Instance 2' is the console output, that's not it probably?
