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.
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,},
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.
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.
There is app note AN3974 : Different Display Configurations on i.MX35 Linux PDK that might help. It explains the fb_videomode structure too.
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!!
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!!