AnsweredAssumed Answered

Imx53 ldb (LVDS) dual channel troubles with 1280x1024 Panel

Question asked by nichosim on Apr 6, 2013
Latest reply on Apr 10, 2013 by nichosim

Dear All,

i'm facing some troubles trying to make LVDS dual channel work on imx53 with linux.

our board is based on QSB Schematics and we want to use a 1280x1024@24bit display for our application.

THe actual problem is that i can see only half of the screen but stretched to fill all the display area.

see the attached pictures for reference...

 

in these days i made these steps:

 

     - Add the correct fb_videomode in ldb.c

     - Add the correct fb_videomode in mx53_loco.c

      - Add the correct mxc_fb_platform_data in mx53_loco.c


See here below the new added settings:


In file: \home\lucid\ltib\rpm\BUILD\linux\drivers\video\mxc\ldb.c

struct fb_videomode mxcfb_ldb_modedb[] = {

        {

         /* 1280x1024 @ 60 Hz , pixel clk @ 54MHz */

         "TEST",                  // name

         60,                      // refresh

         1280,                    // x res

         1024,                    // y res

         18520,                    // pixclock in PICOSECONDS!!!!   10^12 / pixel_clock_frequency

         130,                     // left margin

         54,                      // right margin

         10,                      // upper margin

         3,                       // lower margin

         1,                      // H sync len

         2,                      // W sync len

         //FB_SYNC_CLK_LAT_FALL,    // sync

         FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,    // Sync sul fronte di salita

         FB_VMODE_NONINTERLACED,  // vmode

         FB_MODE_IS_DETAILED,                       // flag

        },

}

 

In file \home\lucid\ltib\rpm\BUILD\linux\arch\arm\mach-mx5\mx53_loco.c

static struct fb_videomode video_modes[] = {

{

                /* 1280x1024 @ 60 Hz , pixel clk @ 54MHz */

                "TEST",                  // name

                60,                      // refresh

                1280,                    // x res

                1024,                    // y res

                18520,                   // pixclock  in PICOSECONDS!!!  10^12 / pixel_clock_frequency

                 130,                      // left margin

                54,                     // right margin

                10,                      // upper margin

                3,                      // lower margin

                1,                      // H sync len

                2,                      // W sync len

                //FB_SYNC_CLK_LAT_FALL,    // sync

                FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,

                FB_VMODE_NONINTERLACED,  // vmode

                FB_MODE_IS_DETAILED,                       // flag

                },

}

 

AND

 

static struct mxc_fb_platform_data fb_data[] = {

                {

                 .interface_pix_fmt = IPU_PIX_FMT_RGB24,

                .mode_str = "TEST",

                .mode = video_modes,

                .num_modes = ARRAY_SIZE(video_modes),

                },

}


i've changed also the bootargs in:

set bootargs_base 'set bootargs console=ttymxc0,115200 video=mxcdi0fb:RGB24,TEST,bpp=32 ldb=di0,split di0_primary dmfc=3'


The parameters should be ok, but for a strange reason and after trying all the possible combinations (i'm working on it from two days) I cannot view the entire screen area on my display, only half of the picture stretched to fill the lcd area...

attached you can see the boot penguin logo 2x wider than normal and half of a qt demo application...


I saw on the forum that other peoples asked for the same problem in the past but i found no valid replies, so I'm here...


Please help me..

thanks



Attachments

Outcomes