On Fri, Apr 18, 2008 at 5:18 PM, Joe <<a href="mailto:joe@settoplinux.org">joe@settoplinux.org</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div class="Wj3C7c">> Hello,<br>
> Starting to work on the TV-Out code for the RCA RM4100, and I need some<br>
> help. Here is the Logical Plan:<br>
><br>
> 1. Setup a custom vga init (similar to Corey's vga.c for the cn700<br>
> northbridge) that will call a i2c (i810_i2c.c which could be used for a<br>
> bunch of intel nothbridges) driver from coreboot-v2/src/drivers/i2c/ that<br>
> will setup communications with the Tv encoder via the GPIO (sda, sdl)<br>
> lines in the nothbridge.</div></div></blockquote><div><br>Similar to, yes, but don't use vm86 (like I did) unless x86emu doesn't work. What you can do is NOT set up the rom_address in Config.lb, so coreboot doesn't know where to automagically run the rom from, then once you're done with the pre-rom stuff, call pci_rom_run manually from a function inside mainboard.c, using a location of 4GB-ROM_SIZE. Then in chip.h, add a struct member .enable_dev = [name of your function], so your custom vga init is only for your board.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div class="Wj3C7c"><br>
> 2. Then setup a init (that would program the registers, and fire it up)for<br>
> the Tv encoder coreboot-v2/src/drivers/tv-out which could also be called<br>
> from the nothbridge vga.c.</div></div></blockquote><div><br>Again, do this inside mainboard.c, so any other systems that might use i830 don't get tv init interfering with anything else.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div class="Wj3C7c"><br>
><br>
> Here is where it gets tricky. I want to make it dynamic in the respect<br>
> that you could specify from your mainboard directory:<br>
> a. TV-out settings (with a header file??) like NTSC, PAl, resolution,<br>
> macrovision, filters, etc.<br>
> a. enable TV encoder usage (if yes setup i2c, otherwise just skip over it)<br>
> b. Specify which Tv encoder to use</div></div></blockquote><div><br>Two options:<br>The first is to add global defines to the mainboard Config.lb, which also means adding them to the build system, I can't remember at the moment how to do that, but I think if you grep for some config variable name in util/, and you should be able to find it.<br>
<br>The second is to add config variables, similar to how we set the rom_address = "0xsomething". That I can't remember how to do at the moment either, and I'm not sure if you can do it on a mainboard level or not, thinking about it again, you might have to resort to doing it in the northbridge stuff.<br>
<br>Good luck!<br>-Corey<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div class="Wj3C7c"><br>
><br>
> This would broaden the horizons and allow other boards that have TV-out to<br>
> use this code also. The only thing I can think to do is setup some global<br>
> parameters? Suggestions?<br>
><br>
><br>
> --<br>
> Thanks,<br>
> Joseph Smith<br>
> Set-Top-Linux<br>
> <a href="http://www.settoplinux.org" target="_blank">www.settoplinux.org</a><br>
><br>
> --<br>
> coreboot mailing list<br>
> <a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br>
> <a href="http://www.coreboot.org/mailman/listinfo/coreboot" target="_blank">http://www.coreboot.org/mailman/listinfo/coreboot</a><br>
<br>
<br>
--<br>
coreboot mailing list<br>
<a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br>
<a href="http://www.coreboot.org/mailman/listinfo/coreboot" target="_blank">http://www.coreboot.org/mailman/listinfo/coreboot</a><br>
</div></div></blockquote></div><br>