Send CMD1 command timeout using EMMC

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Send CMD1 command timeout using EMMC

1,960 Views
wangkuan30
Contributor I

Hello, I use RT1020 development board, insert TF card and SD card, its functions are normal, but when inserting EMMC (KLMAG1JETD-B041), first send the CMD0 command, and then send the CMD1 command after the response timeout error occurs. This EMMC card is used normally on the STM32 development board, so the EMMC card functions normally; When using the RT1020 development board, the USDHC configuration is exactly the same during the use of the EMMC card and the SD card, except that the initialization process of the card is different. The command parameters of CMD1 are as follows:

sdmmchost_transfer_t content = {0};

        sdmmchost_cmd_t command      = {0};

        uint32_t i                   = 0XFFFF;

        status_t error               = kStatus_Success;

        uint32_t voltage            = 0;

 

        command.index        = (uint32_t)SD_CMD_SEND_OP_COND;

        command.argument     = 0xC0FF8000;

        command.responseType = kCARD_ResponseTypeR3;

 

        content.command = &command;

        content.data    = NULL;

        do

        {

            error = SDMMCHOST_TransferFunction(card->host, &content);

}

This command parameter has been verified on the STM32 development board to initialize the EMMC card.So I feel there is no other difference in the configuration of USDHC when connecting SD card and EMMC card. 

 

For MMC operation, the host starts the card identification process in open-drain mode
with the identification clock rate lower than 400 kHz and the power voltage higher than
2.7 V. The open drain driver stages on the CMD line allow parallel card operation during
card identification. After the bus is activated the host will request the cards to send their
valid operation conditions (CMD1). The response to CMD1 is the "wired OR" operation
on the condition restrictions of all cards in the system. Incompatible cards are sent into
the Inactive State.

Labels (1)
Tags (1)
0 Kudos
Reply
1 Reply

1,937 Views
Alexis_A
NXP TechSupport
NXP TechSupport

Hello @wangkuan30,

In the SDK for the IMXRT1020 there is the following example that shows how to use a MMC card in the board:

Alexis_A_0-1620263429897.png

I will suggest to try this example in the board to check if it works.

Best Regards,

Alexis Andalon

0 Kudos
Reply