[coreboot] TV-Out Plan - need suggestions

Joe joe at settoplinux.org
Fri Apr 18 23:59:40 CEST 2008



From: coreboot-bounces at coreboot.org [mailto:coreboot-bounces at coreboot.org]
On Behalf Of Corey Osgood
Sent: Friday, April 18, 2008 5:50 PM
To: joe at settoplinux.org
Cc: Coreboot
Subject: Re: [coreboot] TV-Out Plan - need suggestions


On Fri, Apr 18, 2008 at 5:18 PM, Joe <joe at settoplinux.org> wrote:

> Hello,
> Starting to work on the TV-Out code for the RCA RM4100, and I need some
> help. Here is the Logical Plan:
> 1. Setup a custom vga init (similar to Corey's vga.c for the cn700
> northbridge) that will call a i2c (i810_i2c.c which could be used for a
> bunch of intel nothbridges) driver from coreboot-v2/src/drivers/i2c/ that
> will setup communications with the Tv encoder via the GPIO (sda, sdl)
> lines in the nothbridge.

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.

> 2. Then setup a init (that would program the registers, and fire it up)for
> the Tv encoder coreboot-v2/src/drivers/tv-out which could also be called
> from the nothbridge vga.c.

Again, do this inside mainboard.c, so any other systems that might use i830
don't get tv init interfering with anything else.

> Here is where it gets tricky. I want to make it dynamic in the respect
> that you could specify from your mainboard directory:
> a. TV-out settings (with a header file??) like NTSC, PAl, resolution,
> macrovision, filters, etc.
> a. enable TV encoder usage (if yes setup i2c, otherwise just skip over it)
> b. Specify which Tv encoder to use

Two options:
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.

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.


I was thinking about figuring out how to setup this in Config.lb

Good luck!

> This would broaden the horizons and allow other boards that have TV-out to
> use this code also. The only thing I can think to do is setup some global
> parameters? Suggestions?

Thnaks for the suggestions Corey :-)


Joseph Smith


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20080418/71fcfa09/attachment.html>

More information about the coreboot mailing list