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.

DM6446 MMC-SD data ready problem

I am trying to create a device driver for the MMC-SD peripheral of our DM6446-based non-Linux system. I can successfully initialize the controller and identify a connected SD card. The problem I am having is when attempting data transfers to the device. 

I have sent the SELECT_CARD command and gotten the expected response.
I have sent the SET_BLOCKLEN command (512 byte blocks) and gotten the expected response.
I have loaded the start address into the MMC argument registers, reset and configured the FIFO, enabled the interrupts and loaded the first 32 bytes into the FIFO.

I then send the WRITE_BLOCK command and I get  interrupts indicating DXRDY and RSPDNE. In response to this I load the next 16 bytes (FIFOLEV = 0) but I get no more interrupts. So, I cannot complete the transfer. If I look at the MMCST1 register it indicated the FIFO and transmitter are empty.

The same issue happens when I send the READ_BLOCK command. I get one interrupt indicating DRRDY. In response I read the next 16 bytesfrom the FIFO but no more interrupts.

I have also tried using the DMA to do the transfer but it to never completes.

What could be causing this type of behavior?