cancel
Showing results for 
Search instead for 
Did you mean: 

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

DMårt
Lead
  • 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.

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

STM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer
1 ACCEPTED SOLUTION

Accepted Solutions

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.
Tip of the day: Try Sidekick STM32 AI agent, see here

View solution in original post

5 REPLIES 5
PatrickF
ST Employee

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.
Tip of the day: Try Sidekick STM32 AI agent, see here

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-Computer

STM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer

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.
Tip of the day: Try Sidekick STM32 AI agent, see here

Hi @PatrickF 

 

So, you mean that the MP257 is reading the DT?

No, in my TF-a DT, i haven't remove the UHS-I speed. I'm planning to do it.

So it's possible to run UHS-I SD card in slow mode e.g fixed VDDIO_SDCARD = 3.3V?

If yes, well. That must be the answer of this question.

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

STM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer

Hi @DMårt 

SD-Card always start @3.3V 400kHz, then Host get Card capabilities (voltage, frequencies) to decide to change that later (BootROM keep 3.3V but go to 16MHz after very first card query).
I don't know if it is TF-A or uBoot which speed up to UHS-I (while going to 1.8V for IOs, but Card supply is always 3.3V).

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.
Tip of the day: Try Sidekick STM32 AI agent, see here