I am trying to do continuous 32-bit data transfer in Descriptor List Mode of DMA through SPI1(MISO) with below configuration, but the 32-bit response data(1 word) is not transferred at the first request from Host, rather the response is getting transferred only from the 5th request onwards.
Host will send "n" requests(data as 0's) to receive "n" response data from Slave(ADSP-21569).
Configuration for SPI1:
1. CFG_SLAVE_MASTER - Slave
2. CFG_TRANSFER_SIZE - 2(32-bit)
3. CFG_ENABLE_MISO - 1
Configuration for SPI1_TXDMA:
Src_List.pStartAddr = &TXSPI; (where TXSPI is a 32-bit variable)
/* DMA Config - only specify memory transfer size */
Src_List.XCount = 1;
Src_List.XModify = 4;
Src_List.Config = ENUM_DMA_CFG_PERIPH_INT;
Src_List.pNxtDscp = &Src_List;
Transmitter configuration is done in linked list mode, to transmit continuously. But data in TXSPI is not transmitted immediately.
Attached below the timing diagram demonstrating this issue.
Please support me to resolve this issue.