imx8: fix reduced lcdif pix clk workaround by enabling underflow recovery

This commit is contained in:
Sigrid Solveig Haflínudóttir 2022-07-12 16:38:41 +00:00
parent 76f8d642ee
commit 62a4e64d31

View file

@ -461,7 +461,10 @@ lcdifinit(struct video_mode *mode)
wr(lcdif, LCDIF_CTRL1_SET, CTRL1_FIFO_CLEAR); wr(lcdif, LCDIF_CTRL1_SET, CTRL1_FIFO_CLEAR);
wr(lcdif, LCDIF_AS_CTRL, 0); wr(lcdif, LCDIF_AS_CTRL, 0);
wr(lcdif, LCDIF_CTRL1, sm(7, CTRL1_BYTE_PACKING_FORMAT)); /* enable underflow recovery to fix image shift */
wr(lcdif, LCDIF_CTRL1,
sm(7, CTRL1_BYTE_PACKING_FORMAT) |
CTRL1_RECOVER_ON_UNDERFLOW);
wr(lcdif, LCDIF_CTRL, wr(lcdif, LCDIF_CTRL,
CTRL_BYPASS_COUNT | CTRL_BYPASS_COUNT |
@ -911,12 +914,8 @@ lcdinit(void)
goto out; goto out;
} }
/* /* start the pixel clock */
* start the pixel clock. running at the actual pixel clock setclkrate("lcdif.pix_clk", "system_pll1_clk", mode.pixclk);
* causes the screen to shift horizontally after a while.
* using 80% seems to fix it - for now.
*/
setclkrate("lcdif.pix_clk", "system_pll1_clk", (mode.pixclk*8)/10);
dpiinit(&mode); dpiinit(&mode);
/* release dpi reset */ /* release dpi reset */