Hi Fabio,
thank you for your reply. Unfortunately, your information doesn't help much.
You're absolutely correct - 33MHz equates to 30303 pico seconds. However, the question is rather: how to configure the i.MX6 clock distribution that LVDS clock frequencies lower than 38.79 MHz can be achieved?
Please correct me if I'm wrong, but as far as I understand, the LVDS clock frequency is derived from the System-PLL (PLL2), PFD0. PLL2 runs with 528MHz and for the selector of PFD0 a value between 12 and 35 can be chosen. So the lowest selectable frequency for PFD0 seems to be 271.5 MHz (528MHz*18/35). Finally, the LVDS clock is derived from a subsequent fixed divider by 7, so 271.5MHz / 7 = 38.79MHz - this is exactly the value that we measure. In the linux kernel, the function clk_round_rate() (see ldb.c, fct ldb_disp_setup()) seems to be responsible to determine the nearest LVDS clock rate according to the specified value. This function returns the lowest possible value (which is 38791836), regardless if 30303 or if 30066 is configured.
I'm afraid, but if above assumption is correct, the LVDS clock can't be less than 38.79MHz with the current clock setup, right? If I'm correct, all LVDS panels that require less than 38MHz LVDS clock frequency (most of the 800x480 and most likely all of the 640x480 panels) might not work on the LVDS port. So, how is it possible to configure the system (respectively the clock distribution) in order to achieve LVDS clock frequencies of 33MHz (and even lower, e.g. 25MHz)?