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.

AM3358: SPI transfer stops after 655350 packets of 16bits words when using TI OMAP SPI linux driver (with EDMA), before resuming

Part Number: AM3358


We're investigating a strange behavior we've encountered with the OMAP SPI linux driver. We configured the OMAP SPI for 2MB of DMA buffered transfer with the following SPI configuration : 16bits transfer, 24MHz clock, mode 1 (via the spidev kernel module). We absolutely need it to be all contiguous (or equally spaced) transfers since we are sampling an external SPI ADC chip. But it seems we have a maximum of 655350 contiguous SPI transfers followed by ~100us silence. Then, the transfer starts again with contiguous SPI packets until the end. We're wondering how we may fix this behavior and have 2MB of continuous transfers without "holes". Is it a limitation of the EDMA peripheral/driver?

We use the TI Processor SDK Linux RT version 06.03.00.106.

Here's an example of the behavior observed on the board.