Hi Benson,
Did you manage to solve this problem? I am having the same problem using an ADV7280M (mipi / analogue camera) with an i.MX7D.
It seems to me the NXP documentation regarding the CSI/MIPI is a complete mess for the i.MX7, and probably likewise for the i.MX8. For instance the i.MX7 document pack contains a 150 page Graphics document that only mentions the i.MX6 family, never the i.MX7, and an 87 page VPU document, when the i.MX7 doesn't contain a VPU. Very confusing !!
Almost all of the CSI / MIPI posts assume use of an i.MX6 with a h/w IPU. Of course, the i.MX7 and the newer i.MX8 don't have a h/w IPU. And most posts, just like this one, are left 'hanging' without any conclusion.
I am using Kernel 4.9.11 and mx6s_capture.c attempts to set bits that are reserved according to the documentation.
Analogue video - by this I mean interlaced BT.656 - seem a very common use-case, but when using the CSI-MIPI it is completely unclear what driver is doing what.
With an analogue INTERLACED (PAL / NTSC) camera feed, and according to Analogue Devices documentation this results in a INTERLACED BT.656 compliant MIPI feed:
- I expected that mx6s_capture.c should be configured with CCIR enabled (CSICR1 bit 10), in order to decode the embedded timing (SAV, EAV) ?? But I can't get this to work !!
- If I don't enable CCIR, I can get an image, albeit with 2 copies one on top of each other, due to interlacing. But this raises the question of how has the embedded frame/field timing been decoded from the BT.656 without CCIR being enabled ??
- Is CCIR mode applicable when using the MIPI as a feed to the CSI ??
Some help from NXP is needed here !!