The board is an imx8mmevk-bb.
Please find below a photo of the device:
MIMX8MM6DVTLZAA
QN87W
SBBU1924A
The key point is that our Event BAsed camera is using MIPI variable frame size. The camera can produce some frames with few bytes and other with mega bytes of data. 16 or 32-bits pixels do not comply with standart camera format as carry event information.
We have modified the drivers/media/platform/mxc/capture/mx6s_capture.c file:
Instead of enabling BIT_FB0/1_DMA_DONE_INTEN, we enable BIT_SOF_INTEN and we have changed the interrupt handler accordingly.
We have added instructions to align physical buffers on double word boundaries
We have configured the IP to swap buffers after each start of frame
We set to 0 the DMA buffers before enquing them. We know the size of the frame sent by our sensor.
=> We observe that ~128Bytes are missing at the end of the frames received.
It seems that some RX buffers are not flushed in the MIPI-CSI and the MIPI-bridge or the last DMA burst has not been executed.
Please tell us if you want us to try different configurations. I join the 2 files modified in plain text and as a patch to highlight our modifications.
Regards