Hi,All.
I try to use lvds display on sabre-sd board (i.MX 6Quad), Android 4.2.2_1, but the display is not correct ,both the resolution and color is not right :


the panel is LP101WX1-SLN2 from LG , its specification is:

I folow the below steps to port the display driver:
1. connect the hardware between the panel and board through lvds1
2. modify fb_videomode variable of kernel drivers/video/mxc/ldb.c:
--------------------------------------------------------------------
static struct fb_videomode ldb_modedb[] = {
{
"LDB-WXGA", 60, 1280, 800, 14065,
40, 40,
10, 3,
80, 10,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
{
"LDB-XGA", 60, 1280, 800, 14430,
80, 48,
15, 2,
32, 47,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
{
"LDB-1080P60", 60, 1920, 1080, 7692,
100, 40,
30, 3,
10, 2,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
};
i change the 'LDB-XGA‘ member's parameters refer to my panel:
1)name is LDB-XGA
2)refresh is 60
3)resolution is 1280*800
4)clock is 10^12/(69.3*10^6)=14430
5)left_margin=80, right_margin=48, upper_margin=15 , lower_margin=2
6)hsync_len=32 , vsync_len=47
3. build and run the jb4.2.2_1 system, set bootargs below :
setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=ldb video=mxcfb1:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb2:off fbmem=10M androidboot.hardware=freescale
After it boots up, the lvds display appears not normal as I said at the start ,but the hdmi display is ok.
I've try several ways to resolve this problem, but none of it work.
1)edit fb_videomode variable of u-boot-imx/board/freescale/mx6q_sabresd.c ,make it the same as ldb.c of kernel:
{
" XGA", 60, 1280, 800, 14430,
80, 48,
15, 2,
32, 47,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,
}
2)change bootargs like: video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666,bpp=16 video=mxcfb1:off video=mxcfb2
...
Finally, I download android 4.0.4 source ,andr patch imx-android-r13.4.1 , and modify fb_videomode variable of ldb.c (the same as I said before), build and run the system, the lvds display's resolution is correct , and the color is better:

So the display on android 4.0.4 is ok, but for android 4.2.2_1 is not ok,both base on the same sabre-sd board and display panel.
Can anyone tell me, how to resolve this problem on android 4.2.2_1, just make correct resolution of lvds display?