I'm trying to develop a program which communicatee with WIFI card over SDIO protocol. The SDIO protocol part working fine but I want to use the simple internal DMA to read and write data. However I got at every time a DMA ERROR interrupt (the DMA TRANSFER COMPLETE flag is also fired up). Here is my configuration program:
SDIO_SetWriteWatermark(SDHC_BASE_PTR, (u32)(count&0xffff));SDIO_SetReadWatermark(SDHC_BASE_PTR, (u32)(count&0xffff));SDIO_SetDMAAddress(SDHC_BASE_PTR, (u32)data); // data is an pointer over my bufferSDIO_SetCommandArgument(SDHC_BASE_PTR, arg); SDIO_SendCommand(SDHC_BASE_PTR, SDIO_CMD53_IO_RW_EXTENDED,SDIO_ENABLE_DMA | SDIO_DATA_PRESENT | SDIO_DATA_READ | SDIO_RESPONSE_LENGTH_48);
Someone has an idea to get the SDIO working fine with the internal DMA?