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.

[OMAP-L138] SPI slave mode issue with DMA

Other Parts Discussed in Thread: OMAP-L138

Hi,

I am implementing DMA on my SPI slave mode driver and I notice that after the first successful transfer that I am sometimes getting an additional byte on the next transfer.

For example, I try to send 0, 1, 2, 3, 4, 5 from the SPI master and on the first transfer I receive 0, 1, 2, 3, 4, 5. However occasionally I see that the data received from the master becomes 0, 0, 1, 2, 3, 4 and when I do an additional read on the SPIBUF register that I can read the last byte (eg. 5).

Has someone encountered this issue before?

  • Is this still an issue for you?  I'm assuming that your driver is using the event signals that the SPI peripheral provides to know when new data has arrived.  Is it possible the master is actually sending this data?

    Regards, Daniel

  • I have an SPI bus analyzer and I can confirm that the master is not sending the leading zeroes that I am receiving in the slave end.

    The driver just calls the EDMA facility that has been provided for the OMAP-L138 Linux DVSDK. Once my callback function is called then I read the data that is in the buffer.