AnsweredAssumed Answered

Pixel Clock 11% low on pico-imx6ul-hobbit

Question asked by Ed Boyer on Dec 12, 2016
Latest reply on Jan 8, 2017 by Biyong Sun

I've been trying to drive a display off the hobbit board but the pixel clock always seems to be about 11% lower than what I specify in device tree. We've tried 640x480 and 1024x768. Hsycn and vsync clock proportions are correct just the master pixel clock is off. We did get display when we put in a pixel clock value boosted 11% higher than we actually wanted. (It also looks like fbdev is not respecting vsync wait, not sure if that is related or another issue.) "fbset" basically reports what we put in the DT but actually scoping the pixel clock we can see it is down ~11% (as well as clocks derived from it like the syncs).

Background, I did this originally on yocto krogoth patching in the device tree to avoid a compile issue with imx-alsa-plugins. After encountering the video issue, I tried yocto morty with alsa removed entirely and the issue still persisted. From what I've seen online, pixel clock problems seem to be often tied to PLL selections.

I did notice there was a dummy clock in imx6ul.dtsi, but in my looking around it seems that the last two clock parameters are only needed for imx6sx, unless the same applies for the imx6ul? If that is the case, I'm not sure what clock to specify in that case. On the surface, I would expect "pix" to be all that is required.

            lcdif: lcdif@021c8000 {
                compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
                reg = <0x021c8000 0x4000>;
                interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&clks IMX6UL_CLK_LCDIF_PIX>,
                     <&clks IMX6UL_CLK_LCDIF_APB>,
                     <&clks IMX6UL_CLK_DUMMY>;
                clock-names = "pix", "axi", "disp_axi";
                status = "disabled";
            };

Seems like there is some breakdown in clock math somewhere on the way to pixel clock output?

Outcomes