T4240_DMA3_CHANNEL_BUSY

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

T4240_DMA3_CHANNEL_BUSY

501 Views
731020999
Contributor I

Hi, support

I have a problem when I use DMA 3 controller.

I setup "Basic, direct, single-write start mode" and I intend to dma 0x400 bytes from 0xE0000000 to 0x5E000000.(I have reserved memory in advance, so the address is safe.)

When I start DMA transfer , the DMA status register (DMAx_SRn)  is 0x00000004 (Channel busy) all the time and DMA transfer failed, the value of related registers is as the following picture.

pastedImage_2.png

However, the problem did not show up when I use DMA 1 and DMA 2 in the same way and DMA transfer succeed.

I wonder if I missed something when I setup the DMA3 controller, or the DMA 3 is reserved only for system ?

Any suggestions would be greatly appreciated!

CPU : T4240QDS Version 2.0

Kernel : linux-3.12.37 from QorIQ-SDK-V1.8

Have a great day!

Xiao Jun

Labels (1)
0 Kudos
1 Reply

364 Views
alexander_yakov
NXP Employee
NXP Employee

Yes, there is some difference between DMA3 and other DMA channels:

DMA3 is not available when Serdes3 is configured to options 5, 7, 13, or 15.

Please check is this is not your case.

Also, DMA3 does not have control signals for externally controlled transfers - DMA_DREQ_B, DMA_DACK_B, and DMA_DDONE_B.


Have a great day,
Alexander

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos