This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: uSD card on MMC1 port doesn't respond to host commands

Part Number: TDA4VM

Hi TI,

I am writing a SD card driver for a RTOS on TDA4VMXEVM board. The RTOS runs after u-boot stops at auto boot prompt. My driver takes the card to default speed and issues ACMD41 during the standard card initialization sequence but it never gets a response from the card and I receive a TIMEOUT interrupt. I suspect that u-boot might have touched something on the board which prevents the card from working at the default speed. Can you provide a quick guess of what I need to check on the board?

Thanks,
Umair Khan

  • Hello TI. Can I get a response please?

    Umair Khan

  • Muhammad, 

    I assume your board was configured to boot from SD card when you stopped at u-boot autoload. If true, then the ROM already initialized SD card to 33MHz SDR.  If you are writing your own RTOS driver for SD card, you may wanted to boot via a non SD card interface. 

    Also are there any particular reason your are using u-boot vs SBL?

    Jian

  • Thank you Jian35385 for your kind response. I somehow missed the email notification, this is why I am responding late.

    The usecase is such that I need to boot from SD and load RTOS after uboot stops just like Linux does. Linux has a working SD driver too.

    The behaviour I see in my RTOS driver is that some cards initialize successfully (Kingston, KIOXIA, ADATA) whereas those of SanDisk throw command timeout error when ACMD41 is issued. I suspect that this may be due to insufficient supply voltage on the TF slot but this is just my guess. I debugged uboot and found that it does touch some voltage regulator to switch between 3.3V and 1.8V for UHS mode operation. Any guesses of what might be going wrong in my case?

  • So, luckily I found the problem Slight smile

    The u-boot takes the uSD card to UHS-I mode, if the card supports this speed grade and changes the IO signaling voltage to 1.8V. This is controlled by a voltage regulator attached to GPIO0_117 pin. Alongside it, it also issues CMD11 and asks the card to shift its IO voltage to 1.8V as well.

    When my RTOS driver used to load, it started at the default speed but the operating voltage stayed at 1.8V as configured by the u-boot.

    Adding the details here if it could be of help to someone else.

    Regards,
    Umair Khan