]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
video: mxsfb: fix pixel clock polarity
authorSam Meredith <sam@aandtinstruments.com>
Sat, 27 Dec 2025 21:28:18 +0000 (18:28 -0300)
committerFabio Estevam <festevam@gmail.com>
Mon, 29 Dec 2025 13:17:00 +0000 (10:17 -0300)
DISPLAY_FLAGS_PIXDATA_NEGEDGE means the controller drives the data on
pixel clocks falling edge. That is DOTCLK_POL=0 (default) not 1.

The mxsfb-drm driver in the Linux kernel has made the same change and it
remains to this day:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.19-rc2&id=53990e416bb7adaa59d045f325a47f31a11b75ee

I found this was required on an IMX8X SoM.

Without the patch a splash screen displays with aliasing-like jagged edges.

Signed-off-by: Sam Meredith <sam@aandtinstruments.com>
[fabio: Put more information into the commit log]
Signed-off-by: Fabio Estevam <festevam@gmail.com>
drivers/video/mxsfb.c

index e72839cead477fbce33773a6a12449121af2d264..71429a43e0640cb55ba750b23f0429804e4163c2 100644 (file)
@@ -159,7 +159,7 @@ static void mxs_lcd_init(struct udevice *dev, u32 fb_addr,
                vdctrl0 |= LCDIF_VDCTRL0_HSYNC_POL;
        if(flags & DISPLAY_FLAGS_VSYNC_HIGH)
                vdctrl0 |= LCDIF_VDCTRL0_VSYNC_POL;
-       if(flags & DISPLAY_FLAGS_PIXDATA_NEGEDGE)
+       if (flags & DISPLAY_FLAGS_PIXDATA_POSEDGE)
                vdctrl0 |= LCDIF_VDCTRL0_DOTCLK_POL;
        if(flags & DISPLAY_FLAGS_DE_HIGH)
                vdctrl0 |= LCDIF_VDCTRL0_ENABLE_POL;