<div>at first, thanks for your best and detail replies. next, I have other issues to ask for you.</div>
<div> </div>
<div>my device uses geode lx processor (500MHZ) with 7&quot; LCD display. at present, </div>
<div>I&#39;m porting google android to my device. compile kernel 2.6.27 with geode lx frame buffer,</div>
<div>not the vesa framebuffer,  one of the question found is that after</div>
<div>android booting, the display is blinking. it can obviously see the highlight horizontal line, </div>
<div>in the beginning, i think it maybe is related to vsync, but no matter whatever i adjust it to, it&#39;s no use. at the same</div>
<div>time, compile kernel with intelfb, then run android on PC with intel processor, the display </div>
<div>is very well. of course, the PC&#39;s intel processor (2.6G) is much faster than geode processor.</div>
<div>but it should not be the just reason, because android can run well on lower frequency smartphone.</div>
<div>since andoid uses openGL ES that i am not familiar with too much. but it seems to be much </div>
<div>related to the geode framebuffer.</div>
<div> </div>
<div>expect to get your professional hints or suggestion!<br><br></div>
<div class="gmail_quote">2009/4/29 Martin-Éric Racine <span dir="ltr">&lt;<a href="mailto:q-funk@iki.fi">q-funk@iki.fi</a>&gt;</span><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">As I recall, the only reason why some specific resolutions are in the<br>source code is because they are those that TFT output can only<br>
support. For VGA output, the driver should be capable of extrapolating<br>any arbitrary resolution that fits within its maximum clock pitch.<br>
<div>
<div></div>
<div class="h5"><br>On Tue, Apr 28, 2009 at 5:28 PM, John Yoder &lt;<a href="mailto:john.yoder@twny.net">john.yoder@twny.net</a>&gt; wrote:<br>&gt; I apologize for not getting back to you sooner. To answer your earlier<br>
&gt; question about adding a resolution that is currently not available, I<br>&gt; would submit a patch, as I believe I can infer that you are using the<br>&gt; VGA port rather then a direct connect to the panel connector. It<br>
&gt; simplifies things a bit.<br>&gt;<br>&gt; As I recall, the table entries are as follows:<br>&gt;  &lt;name&gt;  &lt;refresh,&gt; &lt;xres&gt; &lt;yres&gt; &lt;pixclock&gt; &lt;left_margin&gt;<br>&gt; &lt;right_margin&gt; &lt;upper_margin&gt; &lt;lower_margin&gt; &lt; hsync_length&gt;<br>
&gt; &lt;vsync_length&gt; &lt;sync&gt; &lt;vmode&gt;<br>&gt; What is required are derived by calculation from modelines. So you will<br>&gt; need to get a working custom modeline to start. Then some calculations.<br>&gt; Lets start with an explanation of the fields:<br>
&gt;<br>&gt;    pixclock - pixel clock in pico seconds (I believe this is correct)<br>&gt;    left_margin - time from sync to picture<br>&gt;    right_margin - time from picture to sync<br>&gt;    upper_margin - time from sync to picture<br>
&gt;    lower_margin - time from picture to sync<br>&gt;    hsync_lenth - length of horizontal sync<br>&gt;    vsync_length - length of vertical sync<br>&gt;<br>&gt; Modelines have the following fields<br>&gt;<br>&gt;    Modeline &lt;name&gt; &lt;DCL&gt; &lt;HR&gt; &lt;HPS&gt; &lt;HPE&gt; &lt;HFL&gt; &lt;VR&gt; &lt;VPS&gt; &lt;VPE&gt; &lt;VFL&gt;<br>
&gt;<br>&gt; Where:<br>&gt;    name - name assigned to mode<br>&gt;    DCL - Dot Clock (MHz)<br>&gt;    HR &amp; VR - Horizontal and Vertical resolution<br>&gt;    HPS, HPE, VPS, VPE - Horizontal and Vertical Pulse Start and End<br>
&gt; also known as Front and Back Porch<br>&gt;    HFL &amp; VFL - Horizontal and Vertical Field Length<br>&gt;<br>&gt; To get values that are required for these the calculations are as<br>&gt; follows:<br>&gt;    left_margin = HFL - HPE<br>
&gt;    right_margin = HPS - HR<br>&gt;    hsync_length = HFE - HPS<br>&gt;<br>&gt;    upper_margin = VFL - VPE<br>&gt;    lower_margin = VPS - VR<br>&gt;    vsync_length = VPE - VPS<br>&gt;<br>&gt; This should get you close. This information was pulled from memory and a<br>
&gt; couple different sources.<br>&gt; To get the custom modeline, I typically use<br>&gt; <a href="http://xtiming.sourceforge.net/cgi-bin/xtiming.pl" target="_blank">http://xtiming.sourceforge.net/cgi-bin/xtiming.pl</a> to get a close<br>
&gt; modeline. If this doesn&#39;t work, I check the log file to verify the DCL<br>&gt; is within the range of the LX DCL. If it is and I get a black screen, I<br>&gt; verify the other values like HFL &amp; VFL then move around the Horizontal<br>
&gt; and Vertical Sync Time in the above website. Waving a rubber chicken or<br>&gt; other Voodoo incantations may help as well. :)<br>&gt; I pulled this information from:<br>&gt;    <a href="http://ftp.utcluj.ro/pub/docs/how-to/mini-how-to/Modeline" target="_blank">http://ftp.utcluj.ro/pub/docs/how-to/mini-how-to/Modeline</a><br>
&gt;    <a href="http://tldp.org/HOWTO/Framebuffer-HOWTO-18.html" target="_blank">http://tldp.org/HOWTO/Framebuffer-HOWTO-18.html</a><br>&gt;<br>&gt; For further reading on the subject of how Xorg get the timings:<br>&gt;    <a href="http://en.tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/" target="_blank">http://en.tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/</a><br>
&gt;<br>&gt; I hope this helps.<br>&gt;<br>&gt; Best Regards,<br>&gt;<br>&gt; John Yoder<br>&gt;<br>&gt; On Tue, 2009-04-28 at 10:51 +0800, wan michael wrote:<br>&gt;&gt; in the file drivers/video/geode/lxfb_core.c<br>&gt;&gt;<br>
&gt;&gt; static struct fb_videomode geode_modedb[] __initdata = {<br>&gt;&gt;         /* 640x480-60 */<br>&gt;&gt;         { NULL, 60, 640, 480, 39682, 48, 8, 25, 2, 88, 2,<br>&gt;&gt;           FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,<br>
&gt;&gt;           FB_VMODE_NONINTERLACED, 0 },<br>&gt;&gt;        ......<br>&gt;&gt; }<br>&gt;&gt;<br>&gt;&gt; now i want to add the mode of 800x480, but how to calculate these<br>&gt;&gt; values. such as<br>&gt;&gt; 800x480-60, 800x480-70, 800x480-72, 800x480-80, 80x480-85, and so on.<br>
&gt;&gt; it is the case of changing the refresh frequency, what is the<br>&gt;&gt; calculation?<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; 2009/4/26 wan michael &lt;<a href="mailto:michalwan@gmail.com">michalwan@gmail.com</a>&gt;<br>
&gt;&gt;         is it possible to be standard modeline like 800X600 through<br>&gt;&gt;         adding 800x480 into geode driver, not just the custom modeline<br>&gt;&gt;         in the xorg.conf ?<br>&gt;&gt;<br>&gt;&gt;<br>
&gt;&gt;         another question, like 7&quot; LCD display, they are commonly used<br>&gt;&gt;         in the embedded device, like MID or handheld device, the most<br>&gt;&gt;         resolution is 800x480. not like common PC, which can provide<br>
&gt;&gt;         much more higher resolution than 7&quot; LCD display, such as<br>&gt;&gt;         1024X768, and so on. So, when used for PC, it always selects<br>&gt;&gt;         the best resolution,  and it can not do that for the embedded<br>
&gt;&gt;         device, for the reason of 7&quot; LCD display supporting the most<br>&gt;&gt;         high resolution is 800X480, if both of them can not match<br>&gt;&gt;         well, the display will not be normal. so is there one way to<br>
&gt;&gt;         automatically match them, adapting to 800X480, not the higher?<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;         2009/4/24 John Yoder &lt;<a href="mailto:jtyoder@twny.net">jtyoder@twny.net</a>&gt;<br>&gt;&gt;<br>
&gt;&gt;                 On Wed, 2009-04-22 at 14:20 +0800, wan michael wrote:<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;                 &gt; hi<br>&gt;&gt;                 &gt;<br>&gt;&gt;                 &gt; can the geode driver provide the mode 800x480? if<br>
&gt;&gt;                 &gt; so, it can meet the 7&#39; LCD display which is 800x480,<br>&gt;&gt;                 &gt; and not the standard modes on pc.<br>&gt;&gt;                 &gt;<br>&gt;&gt;                 &gt;<br>
&gt;&gt;                 &gt; _______________________________________________<br>&gt;&gt;                 &gt; Xorg-driver-geode mailing list<br>&gt;&gt;                 &gt; <a href="mailto:Xorg-driver-geode@lists.x.org">Xorg-driver-geode@lists.x.org</a><br>
&gt;&gt;                 &gt; <a href="http://lists.x.org/mailman/listinfo/xorg-driver-geode" target="_blank">http://lists.x.org/mailman/listinfo/xorg-driver-geode</a><br>&gt;&gt;                 It should be able to provide the 800x480 mode.<br>
&gt;&gt;                 However, that will require a custom modeline in the<br>&gt;&gt;                 xorg.cong. I would use one of the modeline calculators<br>&gt;&gt;                 as a starting point. Whenever I need to provide custom<br>
&gt;&gt;                 modelines it takes a bit to get the dot clock<br>&gt;&gt;                 frequency of the LX and Monitor to be correct, but not<br>&gt;&gt;                 typically much of a problem.<br>&gt;&gt;<br>
&gt;&gt;                 Best Regards,<br>&gt;&gt;<br>&gt;&gt;                 John Yoder<br>&gt;&gt;<br>&gt;&gt;<br>&gt;<br>&gt;<br>&gt; _______________________________________________<br>&gt; Xorg-driver-geode mailing list<br>
&gt; <a href="mailto:Xorg-driver-geode@lists.x.org">Xorg-driver-geode@lists.x.org</a><br>&gt; <a href="http://lists.x.org/mailman/listinfo/xorg-driver-geode" target="_blank">http://lists.x.org/mailman/listinfo/xorg-driver-geode</a><br>
&gt;<br></div></div></blockquote></div><br>