So, the above are keys for your device configurations.
Try to change the frequency to lock the signals.
Thanks,
Jim Huang (jserv)
http://0xlab.org/
hi Stanley,
Thanks for reporting. We have not tracked the development of OMAP DSS
driver for a while. It seems that you
encountered some compatibility problem. At least, newer DSS driver
shipped in Angstrom kernel image works
for your HDMI TV.
Please figure out the details by passing the extra kernel parameter:
omapfb.debug
- Enable debug printing. You have to have OMAPFB debug support enabled
in kernel config.
Sincerely,
So setup a LCD TV with Beagle you must:
1.Read out your EDID from your LCD TV.
2.Convert the xFree timings to framebuffer timings
3. Add the new framebuffer modeline to
/kernelrootfolder/drivers/video/modedb.c
4. compile the kernel and use your resolution
Details:
1. You can readout your EDID with Monitor Asset Manager or Powerstrip
both available on http://www.entechtaiwan.com/util/ (for Windows) or
with xvidtune (Linux)
I have done it with xvidtune
Then you get all supported Resolutions with its modelines.
One XFree Modeline looks like:
"1280x720" 74,250 1280 1344 1472 1664 720 723 728 748
DCF HR SH1 SH2 HFL VR SV1 SV2 VFL
2. Then you must convert XFree86 timing values info to frame buffer
device timings
1) Pixelclock:
pixclock = 1000000 / DCF
2) horizontal timings:
left_margin = HFL - SH2
right_margin = SH1 - HR
hsync_len = SH2 - SH1
3) vertical timings:
upper_margin = VFL - SV2
lower_margin = SV1 - VR
vsync_len = SV2 - SV1
I'have attached a ruby script to automate the
calculation step --> Just read out the modeline with the tools above and
enter the your values
The script generate the framebuffer modeline
3. Then you insert the modeline to the modedb.c which is in the kernel
directory in /drivers/video/
The whole Block looks like:
{
/* 1280x720 @ 60 Hz, 45 kHz hsync, CEA 681-E Format 4 */
"hd720", 60, 1280, 720, 13468, 220, 110, 20, 5, 40, 5, <-- this
is the modeline which from the script hd720 is the an example for a "name"
0, FB_VMODE_NONINTERLACED
},
You must insert in in the "static const struct fb_videomode modedb[]" block
This is an example from the Koen Kooi HD patch on:
http://cgit.openembedded.net/cgit.cgi?url=openembedded/commit/&id=687a7700eabaa53b1187947b6f3b4f1662b9bbb6
5. Compile your kernel as always.
6. Here are the bootargs for the nand boot:
setenv optargs 'init=/init omapdss.def_disp=dvi
omapfb.mode=dvi:hd720-24@60'
I found out that not all EDID-information you get from the LCDs are correct.
But when a resolution is working with your pc oder notebook it should
work on the beagleboard too!
I know that it not the best method. But it works!!
A better method would be to read the EDID values direct from the driver
of the kernel and choose the best Resolution. There is a experimental
patch on:
http://groups.google.com/group/beagleboard/browse_thread/thread/5274e1527067d88e/99e2af82cba3d50f?lnk=gst&q=EDID#99e2af82cba3d50f
I hope it helps!!
Regards
Michael
Here are my resources:
[1] http://store.smpte.org/product-p/smpte%200296m-2001.htm
[2] http://www.ce.org/Standards/browseByCommittee_2641.asp
[3] http://en.wikipedia.org/wiki/Extended_display_identification_data
[4]
http://groups.google.com/group/beagleboard/browse_thread/thread/5274e...
<http://groups.google.com/group/beagleboard/browse_thread/thread/5274e1527067d88e/99e2af82cba3d50f?lnk=gst&q=EDID#99e2af82cba3d50f>
[5] http://www.entechtaiwan.com/util/moninfo.shtm
[6]
http://cgit.openembedded.net/cgit.cgi?url=openembedded/commit/&id=687...
<http://cgit.openembedded.net/cgit.cgi?url=openembedded/commit/&id=687a7700eabaa53b1187947b6f3b4f1662b9bbb6>
[7]
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a...
<http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=blob;f=Documentation/fb/framebuffer.txt;h=b3e3a035683993edc8391cefd11ea3ef6be9eb08;hb=HEAD>
[8] http://www.bat.org/~tomba/linux-omap.html
<http://www.bat.org/%7Etomba/linux-omap.html>
hi Michael,
> So setup a LCD TV with Beagle you must:
[...]
Thanks for your sharing. Can I get the permission from you to put the
materials of mail into 0xdroid wiki?
> 3. Then you insert the modeline to the modedb.c which is in the kernel
> directory in /drivers/video/
> The whole Block looks like:
> {
> /* 1280x720 @ 60 Hz, 45 kHz hsync, CEA 681-E Format 4 */
> "hd720", 60, 1280, 720, 13468, 220, 110, 20, 5, 40, 5, <-- this
> is the modeline which from the script hd720 is the an example for a "name"
> 0, FB_VMODE_NONINTERLACED
> },
>
> You must insert in in the "static const struct fb_videomode modedb[]" block
>
Yes, exactly. We will try to change mode setting.
[...]
> I found out that not all EDID-information you get from the LCDs are correct.
> But when a resolution is working with your pc oder notebook it should
> work on the beagleboard too!
>
That's an excellent conclusion. :)
> A better method would be to read the EDID values direct from the driver
> of the kernel and choose the best Resolution. There is a experimental
> patch on:
> http://groups.google.com/group/beagleboard/browse_thread/thread/5274e1527067d88e/99e2af82cba3d50f?lnk=gst&q=EDID#99e2af82cba3d50f
[...]
checking.