Hi,
I meet a problem about CSI module on IMX6L2EVN10AB.
There is a CMOS camera sensor connected to IMX6SL, using parallel CSI 12bit connection with Bayer format. Now I need to acquire the data using eDMA in 8 bit mode.
I find that it need to manually synchronize the three of DMA, RxFIFO,and VSYNC signal, otherwise the start position of the image is wrong.
Now I only find CSI_CSICR3 (bit 12 DMA_REQ_EN_RFF) to disable the CSI module,actually this bit only disable the DMA request. When I clear bit 12 to stop, next time restart CSI again, there is data in RxFiFo,
and these data has to be ignored. So there will be at lease a waste of one frame of translation time. I really want to save this time.
Is there any way to automaticlly synchronize the start of eDMA to VSYNC?
Below is the code now I use to synchronize:
while(!HW_CSI_CSISR.B.EOF_INT);
HW_CSI_CSICR1.B.CLR_RXFIFO = 1;
HW_CSI_CSICR3.B.DMA_REFLASH_RFF = 1;
But this way will bring the problem I described before.
Thanks a lot!