We have a customized imx6q(d) board. To the LCD interface, we found that the larger pixel clock is, more disorder the display will be. This will become obvious when pixel clock goes beyond 40Mhz.
For an example, we try to attach a LCD to the parallel RGB port. The LCD parameters are 18bpp(rgb666), 720x1280, 60hz, pixel clock is about 57Mhz. According to the data sheet of the LCD, we set proper timing in the kernel source 'mxc_lcdif.c'. But the display seems to be messed enough.
We captured the signal of the DI0_DISP_CLK (pixel clock of RGB signals), the waveform seems mess too.
And then, we set the refresh frequency from 60hz to 30hz (in order to downgrade pixel clock without cropping image). Except the refresh frequency, none of the timing items are changed. Then, the display looks good.
We removed LCD from the port, and tried several RGB timing settings with different pixel clocks. Finally, we conclude the result mentioned at the beginning of article. We are using BSP package from 'L3.0.35_1.1.0_121218_source', with patch 03&04 applied. The waveforms of pixel clock are captured from the position most nearby the CPU.