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.

EDMA SPI Master Extremely Long Delays

Other Parts Discussed in Thread: OMAPL138

Hi,

I have been trying to get EDMA to work with the SPI1 peripheral of OMAPL138 on the DSP side. So far, I have a ping-pong type EDMA transfer working with SPI0 as a slave.
However, with SPI1 in 4-pin with Chip-Select Master mode, I get very strange behavior. The transfers do occur, but after a delay of several minutes!

The transfers work fine if I write directly to SPIDAT1 without the EDMA but take forever with EDMA. I've tried several ideas with no luck so far.
Most of the relevant code is here: http://pastebin.com/hsq0Lf9E

The SPI1 Master Tx/Rx is being done in the sendRecvSPI1 function. Any ideas on what's going wrong?


Cheers,
Akhil

  • Solved.

    I had to set the DMAREQEN after setting up the EDMA transfer and not before.

    I used StarterWare as a reference design to compare with my own driver.
    We have been developing drivers for the OMAPL138 and its DSP-only counterpart for some time now, we had to go with CSLR because we wanted a simpler design than the BIOS.
    If StarterWare had existed when we started, we would definitely have used it. Anyway, better late than never.