Hi,
I'm not sure if the driver (ov5642.c) is the same. The one on the BSP for imx6q is different from the one you find in other git.
anyway the mclk is 24Mhz and come from the im6q.
I try to exaplain what is happening.
At the beginning the driver load a regiser table called initial_values (and it is a 30 fps VGA) the there is another table called 30fps VGA, used when coming from another mode to vga 30fps... and it doesn't work, but if i try to reload the init table when i select the mode 0 (vga 30fps) it works.
I tried also to load the 15 fps vga (there is its table) and it doesn't works... So i treid to change modify the initial value table to have the vga 15 fps: i just changed the sysclk divider (register 0x3010) in the inital values table, and it works.
So i was able to change mode from 30 fos vga to 15 fps vga.
now i tried to change from vga to qvga, in this situation (from vga to qvga) the driver loads a very small table (just 5 registers)
4 register set the output windows (to QVGA values) and the 0x3815 that shouls be the PCLK divider.... well it doesn' twork... again i have very strange behaviour in the outbput.
... I think that could it be our module (we did the ov5642) but it is a very simple module with power supply, i2C connection and digital video port .... SO i don't know what coudl be wrong, there is any schematics example on the ov5642 module?
Just to understand if it could be an hardware issue.