2026-01-26 1:35 AM - edited 2026-01-26 3:42 AM
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.
Solved! Go to Solution.
2026-01-26 6:58 AM
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
At least, I guess you need to remove all the 'uhs' lines
Regards.
2026-01-26 5:22 AM
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.
2026-01-26 6:54 AM - edited 2026-01-26 7:04 AM
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?
2026-01-26 6:58 AM
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
At least, I guess you need to remove all the 'uhs' lines
Regards.
2026-01-26 7:32 AM - edited 2026-01-26 7:33 AM
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.
2026-01-26 8:24 AM
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.