Shaojun Wang

Enable 1366x768 LVDS screen on MX53 LVDS 0, Android R10.3.1

Discussion created by Shaojun Wang Employee on Jan 10, 2012
Latest reply on Feb 28, 2013 by Soujanya K

1. Kernel change

diff --git a/drivers/video/mxc/ldb.c b/drivers/video/mxc/ldb.c

index 088d36a..b49ef28 100644

--- a/drivers/video/mxc/ldb.c

+++ b/drivers/video/mxc/ldb.c

@@ -123,6 +123,7 @@ struct fb_videomode mxcfb_ldb_modedb[] = {

         0,

         FB_VMODE_NONINTERLACED,

         FB_MODE_IS_DETAILED,},

+#if 0

        {

         "XGA", 60, 1024, 768, 15385,

         220, 40,

@@ -131,6 +132,17 @@ struct fb_videomode mxcfb_ldb_modedb[] = {

         0,

         FB_VMODE_NONINTERLACED,

         FB_MODE_IS_DETAILED,},

+#endif

+       {

+        /* 1366x768 @ 60 Hz 162M pixel clk*/

+        //" WXGA", 60, 1366, 768, 13255, // 75.44MHz

+        "WXGA", 60, 1360, 768, 13255, // 75.44MHz

+        190, 10,  // 194

+        30, 8,   // 38

+        65, 12,

+        0,

+        FB_VMODE_NONINTERLACED,

+        FB_MODE_IS_DETAILED },

 };

 int mxcfb_ldb_modedb_sz = ARRAY_SIZE(mxcfb_ldb_modedb);

 

@@ -433,7 +445,7 @@ static int ldb_fb_pre_setup(struct fb_info *fbi)

 {

        int ipu_di = 0;

        struct clk *di_clk, *ldb_clk_parent;

-       unsigned long ldb_clk_prate = 455000000;

+       unsigned long ldb_clk_prate = 528080000;

 

        fbi->mode = (struct fb_videomode *)fb_match_mode(&fbi->var,

                        &fbi->modelist);

 

This change is for 1366x760 screen.

Since IPU IC require the input/output width must be multiple of 8, so set the screen width to 1360, rather than 1366.

528080000 is 7 times of pix clock, 75.44MHz

 

2. Android change

In init.freescale.rc, change “setprop ro.AUTO_CONFIG_DISPLAY  1” to “setprop ro.AUTO_CONFIG_DISPLAY  0”

This change is for LVDS0.

 

3. U-boot command line change

console=ttymxc0 init=/init androidboot.console=ttymxc0 video=mxcdi0fb:RGB666,WXGA ldb=di0 di0_primary ip=dhcp gpu_nommu, gpu_memory=64M

Outcomes