LVDS not working with linux 3.14.28

I am not able to have LVDS single channel working with 3.14.28 kernel. With same dts file, command line and kconfig kernel 3.14.52 is working.

No evident error/warning messages on kernel log. Framebuffer is present and with correct configuration.

Any suggestion?

The LVDS panel is 43.11MHz pixel clock and 1280x480 resolution


The cause is likely related to the selection of LDB parent clock. This is done in arch/arm/mach-imx/clk-imx6q.c. There are several relevant commits made to the 3.14.52 kernel which are not present in 3.14.28. You may need to manually change the parent clock. This can be done with the following patch to the 3.14.28 kernel:

diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
index 8669c92..e62824c 100644
--- a/arch/arm/mach-imx/clk-imx6q.c
+++ b/arch/arm/mach-imx/clk-imx6q.c
@@ -511,6 +511,8 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
                imx_clk_set_parent(clk[IMX6QDL_CLK_IPU1_SEL], clk[IMX6QDL_CLK_MMDC_CH0_AXI]);
                imx_clk_set_parent(clk[IMX6QDL_CLK_IPU2_SEL], clk[IMX6QDL_CLK_MMDC_CH0_AXI]);
+       imx_clk_set_parent(clk[IMX6QDL_CLK_LDB_DI0_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);
+       imx_clk_set_parent(clk[IMX6QDL_CLK_LDB_DI1_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);
         * The gpmi needs 100MHz frequency in the EDO/Sync mode,

With this commit, you can now set the parent clock in the 3.14.52 device tree.

Let me know if this helps.

I confirm that it works with this patch.

Any specific reason for not having this patch integrated in toradex kernel branch?
What is triggering the problem? Pixel clock value or LVDS is just not working in this kernel?


Please update to our latest BSP V2.6 beta 1 based on Linux kernel 3.14.52. Please note that the Linux 3.14.28 kernel is no longer supported by us.