Hello,
I have interfaced a VGA (640x480) resolution display on LVDS0 port on i.MX53. The OS used is Linux.
The Display interface works fine, however, with the default resolution of 800x600 which is default configuration.
Can anyone please let me know the procedure for configuring the display resolution to 640x480?
Thanks in advance !
Regards,
Gopi
已解决! 转到解答。
Hi ,GopiNagaBharath,
if you use LVDS port, you should add LCD's with 640x480 video mode to ldb.c(linux/drivers/video/mxc/ldb.c)
struct fb_videomode mxcfb_ldb_modedb[] = {
{
"1080P60", 60, 1920, 1080, 7692,
100, 40,
30, 3,
10, 2,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
// {
/* 1024x600 @ , pixel clk @ 51.2MHz */
/* "WSVGA", 60, 1024, 600, 19531,
90, 30,
20, 5,
200, 10,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},*/
/* {
"XGA", 60, 1024, 768, 15385,
220, 40,
21, 7,
60, 10,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},*/
{
/* 1280x800 @ 60 Hz , pixel clk @ 72.4MHz */
"LDB-WXGA",60,1280,800,13812,60,60,20,15,40,3,
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
0,},
};
1280x800 @ 60 Hz , pixel clk @ 72.4MHz is added by me . you can modify it to 640x480 accroding to your LCD datasheet.
<Note: don't add 3rd one, In this structure, there are only 2 members>
Weidong
We are using the below mentioned command,
- setenv bootargs_base 'setenv bootargs console=ttymxc3,115200 console=ttymxc3 video=mxcdi0fb:RGB666,TOSHIBA-XGA di0_primary ldb=single,di=0,ch0_map=SPWG'
Thanks,
Gopi
Hello,GopiNagaBharath,
Try to set u-boot envronment like following ,then test it :
u-boot > setenv bootargs_base 'setenv bootargs console=ttymxc3,115200 console=ttymxc3 video=mxcdi0fb:RGB666,TOSHIBA-XGA di0_primary ldb=di0 video=mxcdi1fb:GBR24,640x480M@60 vga'
<Note: In i.mx53 there 1 IPU module, there are 2 internal parallel interfaces:di0 & di1, di0 & di1 are video source of external interfaces:LVDS0,LVDS1,DISP0 and VGA. The max resolution of IPU is 1080P, so if you use di0 & di1 at the same time, video resolution should be distributed reasonably. >
From settings in u-boot, video source of TOSHIBA-XGA is from di0, and VGA's is from di1.
R Regards,
Weidong
R
Sorry, I forgot that 640x480 resolution mode is not supported in tve.c. See linux/drivers/video/mxc/tve.c
static struct fb_videomode video_modes_vga[] = {
{
/* VGA 800x600 40M pixel clk output */
"VGA-SVGA", 60, 800, 600, 25000,
215, 28,
24, 2,
13, 2,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
{
/* VGA 1024x768 65M pixel clk output */
"VGA-XGA", 60, 1024, 768, 15384,
160, 24,
29, 3,
136, 6,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
......
}
Wedong
Hi ,GopiNagaBharath,
if you use LVDS port, you should add LCD's with 640x480 video mode to ldb.c(linux/drivers/video/mxc/ldb.c)
struct fb_videomode mxcfb_ldb_modedb[] = {
{
"1080P60", 60, 1920, 1080, 7692,
100, 40,
30, 3,
10, 2,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
// {
/* 1024x600 @ , pixel clk @ 51.2MHz */
/* "WSVGA", 60, 1024, 600, 19531,
90, 30,
20, 5,
200, 10,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},*/
/* {
"XGA", 60, 1024, 768, 15385,
220, 40,
21, 7,
60, 10,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},*/
{
/* 1280x800 @ 60 Hz , pixel clk @ 72.4MHz */
"LDB-WXGA",60,1280,800,13812,60,60,20,15,40,3,
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
0,},
};
1280x800 @ 60 Hz , pixel clk @ 72.4MHz is added by me . you can modify it to 640x480 accroding to your LCD datasheet.
<Note: don't add 3rd one, In this structure, there are only 2 members>
Weidong