How to configure display timing of iMX53 for a new TFT LCD

cancel
Showing results for 
Search instead for 
Did you mean: 

How to configure display timing of iMX53 for a new TFT LCD

3,434 Views
leejey
Contributor I

Hi,

I am implementing a new LCD (model: ATM0700D6B from ZETTLER ELECTRONICS) connection to iMX53 board. This LCD's specification is different from tha CLAA070VC01 LCD.  I don't know how to change the struct :

  static struct fb_videomode video_modes[] = {
      {
       /* 800x480 @ 55 Hz , pixel clk @ 25MHz */
       "CLAA-WVGA", 55, 800, 480, 40000, 40, 40, 5, 5, 20, 10,
       FB_SYNC_CLK_LAT_FALL,
       FB_VMODE_NONINTERLACED,
       0,},
};

Could anyone help me with this?

Thanks a lot.

Labels (1)
0 Kudos
6 Replies

620 Views
AugustoLanari
Contributor I

Try this:

{
  /* 800x480 @ 60 Hz , pixel clk @ 32MHz */
  "WVGA", 60, 800, 480, 29850, 89, 164, 23, 10, 10, 10,
  FB_SYNC_CLK_LAT_FALL,
  FB_VMODE_NONINTERLACED,
  0,},

with 0 in .sync field you have no sync output.

This link explains a lot about framebuffer setting.

Here is defined the "struct fb_videomode".

Some generic fb settings for .sync field are (fb.h)

#define FB_SYNC_HOR_HIGH_ACT    1    /* horizontal sync high active    */
#define FB_SYNC_VERT_HIGH_ACT    2    /* vertical sync high active    */
#define FB_SYNC_EXT        4    /* external sync        */
#define FB_SYNC_COMP_HIGH_ACT    8    /* composite sync high active   */
#define FB_SYNC_BROADCAST    16    /* broadcast video timings      */

and in mxcfb.h you find these

#define FB_SYNC_OE_LOW_ACT    0x80000000
#define FB_SYNC_CLK_LAT_FALL    0x40000000
#define FB_SYNC_DATA_INVERT    0x20000000
#define FB_SYNC_CLK_IDLE_EN    0x10000000
#define FB_SYNC_SHARP_MODE    0x08000000
#define FB_SYNC_SWAP_RGB    0x04000000
#define FB_ACCEL_TRIPLE_FLAG    0x00000000
#define FB_ACCEL_DOUBLE_FLAG    0x00000001

Unfortunately I did not find much documentation about them.

xizhou wang said:

can show correct color on the screen but only part of it. I tried added an entry to the ldb.c like this

{
  /* 800x480 @ 60 Hz , pixel clk @ 32MHz */
  "WVGA", 60, 800, 480, 29850, 89, 164, 23, 10, 10, 10,
  0,
  FB_VMODE_NONINTERLACED,
  0,},

0 Kudos

620 Views
xizhouwang
Contributor II

Help on a similar issue please.

Try to use a 800x480 RGB666 LCD with LVDS interface from J9 of the I.MX53 QSB running Linux from 1109 BSP. The default XGA (1024x768 ) setting 

setenv lvds 'video=mxcdi0fb:RGB666,XGA ldb=di0'

can show correct color on the screen but only part of it. I tried added an entry to the ldb.c like this

{
  /* 800x480 @ 60 Hz , pixel clk @ 32MHz */
  "WVGA", 60, 800, 480, 29850, 89, 164, 23, 10, 10, 10,
  0,
  FB_VMODE_NONINTERLACED,
  0,},

It did not working, the screen display nothing, no clock signal on the wire. While the clock is 74.18Mhz when the XGA is selected. What the steps required to correctly set this LVDS panel? Thanks.

0 Kudos

620 Views
leejey
Contributor I

Ivica,

Thanks a lot. I will view this note.

Ivica Eftimovski said:

There is app note AN3974 : Different Display Configurations on i.MX35 Linux PDK that might help. It explains the fb_videomode structure too.

0 Kudos

620 Views
IvicaEftimovski
Contributor III

There is app note AN3974 : Different Display Configurations on i.MX35 Linux PDK that might help. It explains the fb_videomode structure too.

0 Kudos

620 Views
leejey
Contributor I

Bill,

Thank you for your help.

But actually I don't know how to adjust struct parameters following with my LCD module.

... 40000,40,40,5,5,20,10...

Bill Whitford said:

To attack a new display, you usually need to come at it from three directions:

You need look at the definition of the fb_videomode structure in the header files, as that will give you some idea of the fields and their meanings.

You need to research the values from the vendor or manufacturer. A data sheet is usually available somewhere for your display. This will help you with the timings. Find the data sheet for the CLAA070VC01 and compare things.

At some point you may need to look at the interface with a logic analyzer or oscilloscope to see if you are generating the signals which the display expects to see. Or to see if your connections are wired up correctly.

Good luck!!

0 Kudos

620 Views
billwhit
Contributor II

To attack a new display, you usually need to come at it from three directions:

You need look at the definition of the fb_videomode structure in the header files, as that will give you some idea of the fields and their meanings.

You need to research the values from the vendor or manufacturer. A data sheet is usually available somewhere for your display. This will help you with the timings. Find the data sheet for the CLAA070VC01 and compare things.

At some point you may need to look at the interface with a logic analyzer or oscilloscope to see if you are generating the signals which the display expects to see. Or to see if your connections are wired up correctly.

Good luck!!

0 Kudos