cancel
Showing results for 
Search instead for 
Did you mean: 

Problem booting from eMMC on Rev.Z

Edgar A. Poe
Associate II

I have a strange problem booting from eMMC (Kingstone EMMC04G-M627-X03U) on STM32MP153CAA Rev.Z.

By boot failure I mean fallback to serial boot (DFU over USB). Situation is as follows:

  1. Cold start never fails (Power-on Reset).
  2. Reset pin (Pad Reset from NRST) - have noticed issue maybe just once - not 100% sure.
  3. System reset generated by MPU or IWDG2 Reset - fails very often but not always. Haven't noticed any system in this behaviour.
  4. Setting both primary and secondary boot sources to eMMC greatly reduces chances of failure but does not eliminate the issue completely.

Attached Boot ROM traces (without and with primary/secondary sources set) and current OTP values. Any help appreciated, thank you!

1 ACCEPTED SOLUTION

Accepted Solutions
PatrickF
ST Employee

Hi @Edgar A. Poe​ ,

In case your board did not use STPMIC1 for supply (which issue a power cycle on VDDCORE in case of reset), you should connect NRST to NRST_CORE with a 1nF capacitor as listed in ES0438 "Incorrect reset of glitch-free kernel clock switch" or AN5031 "Discrete supplies example 3.3 V I/Os with DDR3L"

Regards,

In order to give better visibility on the answered topics, please click on 'Select as Best' on the reply which solved your issue or answered your question. See also 'Best Answers'

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

5 REPLIES 5
msmit.1
Associate
  1. Configure the boot switch to boot from SD Card as described in Boot Configurations. Power on the board and boot into Linux.
  2. Flash <YOCTO_IMAGE>-<YOCTO MACHINE>. sdcard from the SD card to eMMC. This will partition the card and copy U-Boot, zImage, dtb, and root filesystem to eMMC.

eMMC is fully flashed and system is running correctly most of the time - problem appears occasionally when MPU is reset e.g. with Linux "reboot" command. I'd say now only one in ten reboots fail or even less than that. Pressing reset button or reconnecting power supply always helps and system boots correctly.

PatrickF
ST Employee

Hi @Edgar A. Poe​ ,

In case your board did not use STPMIC1 for supply (which issue a power cycle on VDDCORE in case of reset), you should connect NRST to NRST_CORE with a 1nF capacitor as listed in ES0438 "Incorrect reset of glitch-free kernel clock switch" or AN5031 "Discrete supplies example 3.3 V I/Os with DDR3L"

Regards,

In order to give better visibility on the answered topics, please click on 'Select as Best' on the reply which solved your issue or answered your question. See also 'Best Answers'

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Hi @PatrickF​,

Thank you this helped to pinpoint the problem! We are using STPMIC1 but as a workaround for eMMC timeout issue on the previous prototype with Rev.B we had chosen much larger capacitor for the reset button just to keep MPU in reset for longer period at cold start. Now, because of this larger capacitor STPMIC1 very often did not register MPU reset and as a result did not make power cycle on VDDCORE and Boot ROM got stuck with incorrect clock.

Too long pulse on NRST could have been also solved by playing with RCC_RDLSICR.MRD field.

Don't know which value you had, but 10nF on NRST is still recommended and should work with default settings

Regards.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.