I have a MIPI sensor running on an i.MX6Q board based on the Sabre reference design running Android 4.4 and I'm having trouble with sync reliability. Everything is stable, but the image wraps around (as if the first starting pixel is not at 0,0, but rather at some value x,y elsewhere in the image). The frame doesn't "roll" during a single capture--the sync location seems stable, but if I start and stop capture, the offset changes. Basically, it looks like the start of frame happens somewhere in the middle of the frame and stays at that offset for every capture.
I've been changing the polarity of hsync and vsync in the driver, but the behavior doesn't appear to change. I can't think of any settings that would cause the start/end of frame signals in the MIPI stream to be out of sync with the frame, so I can only assume the problem is on the controller driver side. I have an Ov5640 on the parallel0 interface to IPU0/CSI0 and that works correctly. The issue is only with the Ov8865 I have on the MIPI port VC1 to IPU0/CSI1.
Has anybody else run across this issue with their designs? What did you do to resolve it?