Skip to main content
Associate
June 20, 2026
Question

Does the sdmmc1 I/O have internal pull-ups on CMD, D0 D1, D2 and D3?

  • June 20, 2026
  • 1 reply
  • 49 views

I’m reading the getting started manual of STM32MP257 (AN5489) and it displays that there are internal pull-ups on 

CMD and D0, but not CK.

Also there is a confusion if the dashed lines means they have internal pull-ups as well.

My question is:

If CMD, D0, D1, D2 and D3 have internal pull-ups. Why does the STM32MP257F-DK board have external pull-ups?

Can I skip these external pull-ups?

 

According to the datasheet of STM32MP257C/F (DS14284 - Rev 5), the CK, CMD and D0 MUST be high at initialisation of the BootROM. 

 

1 reply

AScha.3
Super User
June 20, 2026

>Can I skip these external pull-ups?

Yes, you can - but i would use them (because hopefully ST knows, what works best with their cpu; and not all are equal !)

  • You could switch on internal pullups, but these are about 40k , so maybe not optimum.
  • Internal pull-up resistors are typically weak (ranging between 30 kΩ and 50 kΩ). The SD Association specifications mandate much stronger pull-ups (typically 10 kΩ) on data/command lines to ensure clean signal integrity, especially at higher clock speeds (e.g., High-Speed or UHS modes). 
  • At initial power-up (before the internal pull-ups are initialized by software), the lines will float, which can lead to erratic behavior or prevent the SD card from being properly detected. 

So saving some cent seems no clever decision here. Just follow the DK board design.

"If you feel a post has answered your question, please click ""Accept as Solution""."
WindowsAuthor
Associate
June 20, 2026

Hi ​@AScha.3 

Thank you so much for the reply!

I know that weak internal pull-ups have a less quality compered to e.g. 0402 external pull-ups.

But! Here is the catch.

At the current moment, I’m using the ST product EMI-filter EMIF06-MSD02N16, which have internal pull-ups. That’s great! But unfortunately the EMI-filter EMIF06-MSD02N16 only works for SDR50 SD-cards and below. These days SDR50 is very rareware and difficult to buy because the successor SDR104 is the current standard.

The only ST product for an EMI-filter that can handle SDR104 is EMIF06-HSD03F3. Unfortunately, the EMI-filter EMIF06-HSD03F3 does not have internal pull-ups as EMIF06-MSD02N16 does.

 

Answer: You could switch on internal pullups, but these are about 40k , so maybe not optimum.

Reply: Yes! But the internal pull-ups of EMIF06-MSD02N16 is 80 to 100 kOhm, which is more. I have tested the EMIF06-MSD02N16 with STM32MP257F on a custom board. It works if you make sure that the SD-card clock is limited to 50 MHz only. Over that limit, then you will get kernel panic after the linux kernel has been loaded.

Answer: Internal pull-up resistors are typically weak (ranging between 30 kΩ and 50 kΩ). The SD Association specifications mandate much stronger pull-ups (typically 10 kΩ) on data/command lines to ensure clean signal integrity, especially at higher clock speeds (e.g., High-Speed or UHS modes). 

Reply: Do you have a documentation for that? Because most of the EMI-filters for SD-card does not have pull-ups. Having external pull-ups for a high speed signal SDR104 (208 MHz) is very critical and needs to be routed correctly. 

Answer: At initial power-up (before the internal pull-ups are initialized by software), the lines will float, which can lead to erratic behavior or prevent the SD card from being properly detected. 

Reply: Yes, I am aware of that. But I’m not sure that these pull-ups will float, because they are all connected to VDDIO1. I hope any ST Dev Team and explain more about this.

Answer: So saving some cent seems no clever decision here. Just follow the DK board design.

Reply: No, the STM32MP257F-DK board design contains lots of obsolete components and bad components. Also the routing is exepnsive for the purpose. I think ST should update their BOM-list and some components inside the STM32MP257F-DK.