I have a 24bit LVDS display that I am running on a custom imx6q board. The images look like they are being displayed at the wrong color depth and have some odd horizontal scan line artifacts.
I have modified drivers/video/mxc/ldb.c to add a new entry for my display:
static struct fb_videomode ldb_modedb[] = {
{
"LG-WVGA", 60, 800, 480, 30066, /*DE mode only. horizontal blanking 256 (85 + 85 + 86), vert blanking 45 (15 + 15 + 15) */
85, 85,
15, 15,
86, 15,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
I also modified my kernel board file to add a matching entry and made sure to specify IPU_PIX_FMT_RGB24
static struct ipuv3_fb_platform_data qmx6_fb_data[] = {
{ /*fb0*/
| .disp_dev = "ldb", |
| .interface_pix_fmt = IPU_PIX_FMT_RGB24, |
| .mode_str = "LG-WVGA", |
| .default_bpp = 32, |
| .int_clk = false, |
| .late_init = false, |
| }, { |
| .disp_dev = "hdmi", |
| .interface_pix_fmt = IPU_PIX_FMT_RGB24, |
| .mode_str = "1920x1080M@60", |
| .default_bpp = 32, |
| .int_clk = false, |
| .late_init = false, |
| }, { |
| .disp_dev = "ldb", |
| .interface_pix_fmt = IPU_PIX_FMT_RGB24, |
| .mode_str = "LG-WVGA", |
| .default_bpp = 32, |
| .int_clk = false, |
| .late_init = false, |
| }, |
};
Is there something else I need to setup in u-boot in order to get a 24bit LVDS panel working? Could this be more related to the custom cable I have connecting the display to the board?
