[Xorg-driver-geode] display mode with 800x480 on geode-2.11.1
John Yoder
john.yoder at twny.net
Tue Apr 28 07:28:02 PDT 2009
I apologize for not getting back to you sooner. To answer your earlier
question about adding a resolution that is currently not available, I
would submit a patch, as I believe I can infer that you are using the
VGA port rather then a direct connect to the panel connector. It
simplifies things a bit.
As I recall, the table entries are as follows:
<name> <refresh,> <xres> <yres> <pixclock> <left_margin>
<right_margin> <upper_margin> <lower_margin> < hsync_length>
<vsync_length> <sync> <vmode>
What is required are derived by calculation from modelines. So you will
need to get a working custom modeline to start. Then some calculations.
Lets start with an explanation of the fields:
pixclock - pixel clock in pico seconds (I believe this is correct)
left_margin - time from sync to picture
right_margin - time from picture to sync
upper_margin - time from sync to picture
lower_margin - time from picture to sync
hsync_lenth - length of horizontal sync
vsync_length - length of vertical sync
Modelines have the following fields
Modeline <name> <DCL> <HR> <HPS> <HPE> <HFL> <VR> <VPS> <VPE> <VFL>
Where:
name - name assigned to mode
DCL - Dot Clock (MHz)
HR & VR - Horizontal and Vertical resolution
HPS, HPE, VPS, VPE - Horizontal and Vertical Pulse Start and End
also known as Front and Back Porch
HFL & VFL - Horizontal and Vertical Field Length
To get values that are required for these the calculations are as
follows:
left_margin = HFL - HPE
right_margin = HPS - HR
hsync_length = HFE - HPS
upper_margin = VFL - VPE
lower_margin = VPS - VR
vsync_length = VPE - VPS
This should get you close. This information was pulled from memory and a
couple different sources.
To get the custom modeline, I typically use
http://xtiming.sourceforge.net/cgi-bin/xtiming.pl to get a close
modeline. If this doesn't work, I check the log file to verify the DCL
is within the range of the LX DCL. If it is and I get a black screen, I
verify the other values like HFL & VFL then move around the Horizontal
and Vertical Sync Time in the above website. Waving a rubber chicken or
other Voodoo incantations may help as well. :)
I pulled this information from:
http://ftp.utcluj.ro/pub/docs/how-to/mini-how-to/Modeline
http://tldp.org/HOWTO/Framebuffer-HOWTO-18.html
For further reading on the subject of how Xorg get the timings:
http://en.tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/
I hope this helps.
Best Regards,
John Yoder
On Tue, 2009-04-28 at 10:51 +0800, wan michael wrote:
> in the file drivers/video/geode/lxfb_core.c
>
> static struct fb_videomode geode_modedb[] __initdata = {
> /* 640x480-60 */
> { NULL, 60, 640, 480, 39682, 48, 8, 25, 2, 88, 2,
> FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
> FB_VMODE_NONINTERLACED, 0 },
> ......
> }
>
> now i want to add the mode of 800x480, but how to calculate these
> values. such as
> 800x480-60, 800x480-70, 800x480-72, 800x480-80, 80x480-85, and so on.
> it is the case of changing the refresh frequency, what is the
> calculation?
>
>
> 2009/4/26 wan michael <michalwan at gmail.com>
> is it possible to be standard modeline like 800X600 through
> adding 800x480 into geode driver, not just the custom modeline
> in the xorg.conf ?
>
>
> another question, like 7" LCD display, they are commonly used
> in the embedded device, like MID or handheld device, the most
> resolution is 800x480. not like common PC, which can provide
> much more higher resolution than 7" LCD display, such as
> 1024X768, and so on. So, when used for PC, it always selects
> the best resolution, and it can not do that for the embedded
> device, for the reason of 7" LCD display supporting the most
> high resolution is 800X480, if both of them can not match
> well, the display will not be normal. so is there one way to
> automatically match them, adapting to 800X480, not the higher?
>
>
> 2009/4/24 John Yoder <jtyoder at twny.net>
>
> On Wed, 2009-04-22 at 14:20 +0800, wan michael wrote:
>
>
> > hi
> >
> > can the geode driver provide the mode 800x480? if
> > so, it can meet the 7' LCD display which is 800x480,
> > and not the standard modes on pc.
> >
> >
> > _______________________________________________
> > Xorg-driver-geode mailing list
> > Xorg-driver-geode at lists.x.org
> > http://lists.x.org/mailman/listinfo/xorg-driver-geode
> It should be able to provide the 800x480 mode.
> However, that will require a custom modeline in the
> xorg.cong. I would use one of the modeline calculators
> as a starting point. Whenever I need to provide custom
> modelines it takes a bit to get the dot clock
> frequency of the LX and Monitor to be correct, but not
> typically much of a problem.
>
> Best Regards,
>
> John Yoder
>
>
More information about the Xorg-driver-geode
mailing list