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.

AM2432: DATA_CRC can't be detected in DMA mode

Genius 13655 points
Part Number: AM2432

Hello Champs,

Customer is configuring MMCSD to SDIO mode, 4Bit data width, using CMD53 to read/write data, enable DATA_CRC interrupt. The slave device sends fewer data and MMCSD receives more data in order to generate the CRC error,  but the DATA_CRC error in pReg->ERROR_INTR_STS can't be detected. 

If using MMCSD1_DATA_PORT to read/write, the DATA_CRC can be detected. If using DMA mode, the DATA_CRC can't be detected. 

SDIO_halNormalIntrSigEnable(sdioAttrs->ctrlBaseAddr,0xffff);
SDIO_halNormalIntrStatusEnable(sdioAttrs->ctrlBaseAddr,0xffff);
SDIO_halErrorIntrSigEnable(sdioAttrs->ctrlBaseAddr,0xffff);
SDIO_halErrorIntrStatusEnable(sdioAttrs->ctrlBaseAddr,0xffff);

const CSL_mmc_ctlcfgRegs *pReg = (const CSL_mmc_ctlcfgRegs *)(sdioAttrs->ctrlBaseAddr);

// Clear transfer mode and command registers
CSL_REG16_WR(&pReg->TRANSFER_MODE, 0U);
CSL_REG16_WR(&pReg->TIMEOUT_CONTROL, 0x02U);

CSL_REG16_FINS(&pReg->TRANSFER_MODE, MMC_CTLCFG_TRANSFER_MODE_RESP_TYPE, CSL_MMC_CTLCFG_TRANSFER_MODE_RESP_TYPE_VAL_R5);
CSL_REG16_FINS(&pReg->TRANSFER_MODE, MMC_CTLCFG_TRANSFER_MODE_RESP_INTR_DIS, CSL_MMC_CTLCFG_TRANSFER_MODE_RESP_INTR_DIS_VAL_DISABLE);
CSL_REG16_FINS(&pReg->TRANSFER_MODE, MMC_CTLCFG_TRANSFER_MODE_RESP_ERR_CHK_ENA, CSL_MMC_CTLCFG_TRANSFER_MODE_RESP_ERR_CHK_ENA_VAL_ENABLE);
CSL_REG16_FINS(&pReg->TRANSFER_MODE, MMC_CTLCFG_TRANSFER_MODE_DMA_ENA, 1);

// CSL_REG64_FINS(&pReg->CAPABILITIES, MMC_CTLCFG_CAPABILITIES_SDMA_SUPPORT, 1);
CSL_REG16_FINS(&pReg->HOST_CONTROL2, MMC_CTLCFG_HOST_CONTROL2_HOST_VER40_ENA, 0);
CSL_REG8_FINS(&pReg->HOST_CONTROL1, MMC_CTLCFG_HOST_CONTROL1_DMA_SELECT, 0); //0-SDMA
CSL_REG16_FINS(&pReg->BLOCK_SIZE, MMC_CTLCFG_BLOCK_SIZE_SDMA_BUF_SIZE, 0); //0-4KB


Thanks
Regards
Shine

  • Hello Champs,

    Is there any suggestion on this issue?

    Thanks
    Regards
    Shine

  • Hi Shine, 

    We have never tested SDIO mode in the SDK. So I am not sure what issues could be expected while enabling it. Nevertheless, can you let me know some more details? Like is it a custom board on which the customer is trying it, or is it a TI board? Also, is the SDIO mode successfully turned ON? We've had issues in the past trying to enable it. If I can get a diff of the modifications done, it will be helpful to reproduce it at my end.

    Regards,
    Anand Mahadevan SS