AnsweredAssumed Answered

lvds display on i.MX 6Quad android 4.2

Question asked by tonny wong on Aug 18, 2013
Latest reply on Aug 28, 2013 by tonny wong

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 :


Home.jpg


apps.jpg

 

 

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

 

panel.JPG.jpg

 

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:

C360_2013-08-13-12-26-22-457.jpg

 

 

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?

Outcomes