
I'm trying to get a HX8369A based lcd to display 18-bit parallel RGB. I've got it working but the colors look terrible. A lot of pixels just go to green like the color data is incorrect. I've tried a variety of timings but it doesn't help.
Does this seem like a timing issue? Is the software giving bad color data? Could my LCD be expecting color data in a slightly different format?
I'm using an IMX6S based RIoTboard which only has DISP_DAT0 - DISP0_DAT17 accessible on the header so I can't use 24 bits. Kernel 3.0.35, Android 4.3.
Boot Arguments:
setenv bootargs console=ttymxc1,115200 init=/init video=mxcfb0:dev=lcd,CLAA-WVGA@60,bpp=18,if=RGB666 video=mxcfb1:off fbmem=10M vmalloc=400M androidboot.console=ttymxc1 androidboot.hardware=freescale
Timing in mxc_lcdif.c:
static struct fb_videomode lcdif_modedb[] = {
{
"CLAA-WVGA", 60, 480, 800, KHZ2PICOS(25000), 5, 5, 2, 2, 5, 2,
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
0,
},
//...
}
FB configuration in board-mx6solo_RIoTboard.c:
static struct fsl_mxc_lcd_platform_data lcdif_data = {
.ipu_id = 0,
.disp_id = 0,
.default_ifmt = IPU_PIX_FMT_RGB666,
};
//...
static struct ipuv3_fb_platform_data RIoTboard_fb_data[] = {
{
.disp_dev = "lcd",
.interface_pix_fmt = IPU_PIX_FMT_RGB666,
.mode_str = "CLAA-WVGA",
.default_bpp = 18,
.int_clk = false,
},
//...
}
Pin Muxing in board-mx6solo_RIoTboard.h:
/* DISPLAY */
MX6DL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK,
MX6DL_PAD_DI0_PIN15__IPU1_DI0_PIN15, /* DE */
MX6DL_PAD_DI0_PIN2__IPU1_DI0_PIN2, /* HSync */
MX6DL_PAD_DI0_PIN3__IPU1_DI0_PIN3, /* VSync */
//MX6DL_PAD_DI0_PIN4__IPU1_DI0_PIN4, /* Contrast not connected*/
MX6DL_PAD_DISP0_DAT0__IPU1_DISP0_DAT_0,
MX6DL_PAD_DISP0_DAT1__IPU1_DISP0_DAT_1,
MX6DL_PAD_DISP0_DAT2__IPU1_DISP0_DAT_2,
MX6DL_PAD_DISP0_DAT3__IPU1_DISP0_DAT_3,
MX6DL_PAD_DISP0_DAT4__IPU1_DISP0_DAT_4,
MX6DL_PAD_DISP0_DAT5__IPU1_DISP0_DAT_5,
MX6DL_PAD_DISP0_DAT6__IPU1_DISP0_DAT_6,
MX6DL_PAD_DISP0_DAT7__IPU1_DISP0_DAT_7,
MX6DL_PAD_DISP0_DAT8__IPU1_DISP0_DAT_8,
MX6DL_PAD_DISP0_DAT9__IPU1_DISP0_DAT_9,
MX6DL_PAD_DISP0_DAT10__IPU1_DISP0_DAT_10,
MX6DL_PAD_DISP0_DAT11__IPU1_DISP0_DAT_11,
MX6DL_PAD_DISP0_DAT12__IPU1_DISP0_DAT_12,
MX6DL_PAD_DISP0_DAT13__IPU1_DISP0_DAT_13,
MX6DL_PAD_DISP0_DAT14__IPU1_DISP0_DAT_14,
MX6DL_PAD_DISP0_DAT15__IPU1_DISP0_DAT_15,
MX6DL_PAD_DISP0_DAT16__IPU1_DISP0_DAT_16,
MX6DL_PAD_DISP0_DAT17__IPU1_DISP0_DAT_17,
Does 18-bit color just look this bad?