I'm using mxc_v4l2_capture.c and have implemented my own v4l2 sensor driver for our bespoke camera IC and seemingly it works, a little. After a reboot I can capture video successfully. If I stop the capture and restart it, the HSync and VSync alignment appears to be out (or worse capturing on the wrong edges). Only power-cycling the camera will bring it back up again (until the first restart).
It does not appear to be an issue with the camera itself. I can scope the signals and their polarity and frequency does not change. I can keep the camera running, while the capture is stopped and restarted, and the same thing happens. It does appear to be an issue with the CSI0 drivers somewhere. I'm using the simplest capture tree possible (CSI0->MEM->my app) with no processing, sizing or rotation in-between.
I'm not sure where to start debugging. The CSI_SENS_CONF register appears consistent across re-starts (0x8C0B) and the CSI_ACT_FRM_SIZE is the same each time too (0xEF013F).
Any pointer to where I should start debugging this would be great.
Using linux-fslc 4.1.23-00328
SOLVED, thank. Dodgy camera IC which lost it's internal reference when stopped.