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 priority on OMAPL138

Dear E2E:

Thank you for your support.

1.  I need to use EDMA for data transfer from McASP and SPI0.

2.  I was able to setup EDMA for McASP and SPI0 - they run OK.

3.  SPI0 has CLK rate of ~36.9MHz and set for 16-bit character length.

4.  The 16-bit character need to be serviced by EDMA every ~0.434uS.

5.  I can see that SPI0 EDMA readings became incorrect when McASP is serviced by EDMA simultaneously with SPI0.

6.  McASP uses a FIFO which needs to be serviced by EDMA every 15.25uS.

7.  That means - SPI0 (channel_14) must have the higher priority than McASP (channel_0).

8.  But according to the UM, page 596 "for EDMA events, channel_0 has the highest priority and channel_31 has the lowest priority"

9.  How can I change the channel_0 and channel_14 priority?

Thank you for your help,

Boris Ruvinsky

 

  • Boris,

    When you run these applications (audio + SPI) are you running anything on DSP side?

  • Hello Renjith.

    Thank you for your respond.

    DSP is not running.

    The EDMA is only running after it is setup by ARM.

    I use GEL file to setup EDMA which runs after that continuously.

    I setup already DMAQNUM[0:1] registers: SPI0 events[14:15] on on Q0; McASP events[0:1] on Q1.

    SYSCNFG_MSTPRI1 is also set to 0x00001000 (PRITC0=0, PRITC1=1)

    What else need to be set to make the EDMA events [14:15] higher priority than events [0:1] ?

    Thank you fort your help,

    Boris Ruvinsky

  • Boris,

    Which is the software package that you are using? Is it DVSDK? 

    I don't think DMA parameters will get corrupt because of priority. 

    Just see whether your problem is similar to this issue. Observe closely.

    http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/p/231409/813341.aspx#813341