Skip to main content
Lead
January 26, 2026
Solved

Which LDO/Buck from STPMIC25A can be used with SD card boot?

  • January 26, 2026
  • 1 reply
  • 252 views
  • Hi!

I accedently used STPMIC25A instead of STPMIC25D when I want to boot A35 from SD card.

According to AN5727 page 13, topic 4.1.8. it says that if the MP257 is going to boot from SD card, then the STPMIC25D must be used instead of STPMIC25A due to LDO7 and LDO8 are dedicated for 1.8/3.3V at initial boot.

My question is: is there any soldering fix I could use to borrow voltage from another Buck/LDO output from STPMIC25A?

My goal is just to boot TF-A. 

Suggestion:

I use LDO2 for VDD_SD and VDDIO_SD. LDO2 boots at 3.3V. My SD-card might be UHS-I, but I'm guessing that it can run at low speed as well (3.3V pull-up).

 

Edit 1:

I cut of the traces from VDD_SD and VDDIO_SD and connected them to LDO2. Now I have 3.3V on the SD Card and its pull-up. But no signs of output of the USART6.

 

The CLK of SDMMC1 has been started. I guess that the BootROM understand its purpose when telling 0b0001.

Best answer by PatrickF

Hi,

you have to align Device Tree to your 'hacked' HW

https://wiki.st.com/stm32mpu/wiki/SDMMC_device_tree_configuration#DT_configuration_-28board_level-29

PatrickF_0-1769439445430.png

At least, I guess you need to remove all the 'uhs' lines

 

PatrickF_1-1769439519227.png

 

Regards.

1 reply

PatrickF
Technical Moderator
January 26, 2026

Hi @DMårt 

you might 'transform' an STPMIC25A in STPMIC25D by reprogramming it's NVM. That's could be possible by with https://wiki.st.com/stm32mpu/wiki/STM32PRGFW-UTIL and CubeProgrammer (which does not need SD card supply).

About the boot issue itself, you could try using https://wiki.st.com/stm32mpu/wiki/STM32_MPU_ROM_trace_analyzer#On_STM32MP2_series (need USB + UART)

 

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.NEW ! Sidekick STM32 AI agent, see here
DMårtAuthor
Lead
January 26, 2026

Hi @PatrickF 

Thank you for the reply. I think I will buy the correct PMIC D-version instead of A-version. I have no access to the dedicated BootROM pins for USART2. Only USART6.

But in this case. I have tried to read the SD Card from MP2 and it's working. But only for the first microseconds.

First the MP2 reads the SD Card. Then the clock signal turns from square wave to incredible fast sine wave. 

What I think is the BootROM ask the SD card what typ of SD card it is. Then the SD card introduce itself as UHS-I and the MP2 turn up the speed.

The problem is that my pull up is 3.3V from LDO2. I need to tell the MP2 or the SD card to talk in lower speed. Is that possible?

Or if I already know the speed of my SD UHS-I card. Can I have 1.8V as the initial pull up?

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-ComputerSTM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer
PatrickF
PatrickFBest answer
Technical Moderator
January 26, 2026

Hi,

you have to align Device Tree to your 'hacked' HW

https://wiki.st.com/stm32mpu/wiki/SDMMC_device_tree_configuration#DT_configuration_-28board_level-29

PatrickF_0-1769439445430.png

At least, I guess you need to remove all the 'uhs' lines

 

PatrickF_1-1769439519227.png

 

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.NEW ! Sidekick STM32 AI agent, see here