Read PCIe memory using a DMA controller with i.MX6

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

Read PCIe memory using a DMA controller with i.MX6

1,536 Views
vincentdehors
Contributor I

Hi,

I have a custom i.MX6 board and I would like to read buffers from a DDR2 memory reachable by the PCIe. I tried to read using the CPU but either the reading is too long (cache disabled) or I have data corruption with the cache enabled (some part of old images are still in the cache while reading again).

I read that the PCIe address space can't be read by the SDMA module. Is there a DMA controller that I can use to read this memory ? Does the IDMAC could be used to transfer memory to memory ? I didn't see a DMA channel where both source and destination are memories.

Thanks,

Vincent

0 Kudos
3 Replies

755 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vincent

please look at below example usaging IPU DMA

i.MX6Q PCIe EP/RC Validation System

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

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

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

755 Views
vincentdehors
Contributor I

Hi,

I tried to used the /dev/mxc_ipu but the buffer I want to read are not necessary images.

The given exemple rescale the PCIe buffer (1024x1024 to 640x480 with RGB format). I could do the same thing but I have a "generic" data format (IPU_PIX_FMT_GENERIC = 8bpp) and I don't want to do any "image" processing. If I used these parameters with the /dev/mxc_ipu, I get the error IPU_CHECK_ERR_PROC_NO_NEED.

Note: I use linux-imx 3.0.35.

0 Kudos

755 Views
wooosaiiii
Contributor III

Did you manage to enable IPU DMA transfers to do 1:1 data transfers to/from PCIe address space?

0 Kudos