Hi,
I have been trying to figure how to do spi over edma on the omapl137. I started from the Starterware examples for the omapl138 and have been able to succesfully run spi with and without edma on the dsp as well as spi without edma on the arm. When trying to test my code for spi with edma on the arm the code gets stuck in:
the first write enable:
/* Wait until both the flags are set to 1 in the callback function. */
while((0 == flagTx) || (0 == flagRx));
I have reviewed everything I have been able to find in the documentation and in the forums:
- completion interrupt is being set in region 0 for the arm and 1 for the dsp (the driver is taking care of it correctly)
- i have modified the Edma3Request Channel for SPI0 channels to 15 and 14 for TX and RX respectively.
- the code initializes and seems to work OK for the UARTSTDIO
- pinmux for the dsp and arm is the same (DSP with edma is working)
- I have moved, per one of your forums, the ARM code to different memory location. One of your forums stated that edma does not have access to 0x80000000.
- I'm setting the suspend
// Configure UART2 with the ARM CPU
CSL_FINST(sysRegs->SUSPSRC, SYSCFG_SUSPSRC_SPI0SRC, ARM);
Tthis work on spi0 arm without edma.
Any suggestions will be appreciated. The fact that I have the arm working without edma and the dsp with edma tells me I'm close but I'm not sure what else to test.
I have another thread that went stale but that I requested to close since I figured out the original question (running arm without edma)