[coreboot] [SeaBIOS] Data exchange between coreboot - seabios - option rom

Christian Gmeiner christian.gmeiner at gmail.com
Thu Aug 23 08:54:08 CEST 2012


2012/8/23 Kevin O'Connor <kevin at koconnor.net>:
> On Wed, Aug 22, 2012 at 04:13:29PM +0200, Christian Gmeiner wrote:
>> 2012/8/22 Kevin O'Connor <kevin at koconnor.net>:
>> > I'm not sure I fully understand your requirements.  Will the board
>> > truly have different flat screens hooked up to it?  One can't simply
>>
>> There are different screens (timing and resolution) connected to the device.
>>
>> > compile the EPI info into the BIOS?  Also, if you have to interrogate
>> > the display via i2c, can you simply fully generate the EPI info in the
>> > vgabios at runtime?
>>
>> After some time of hacking I came up with the following solution.
>>
>> 1) Reserve 128 byte in SeaVIDOEBIOS (between ROM haeder and entry points)
>> 2) Add all needed epi files to cbfs
>> 3) Add possibility to patch vbios during loading based on i2c content
>> - see http://review.coreboot.org/#/c/1478/
>
> Why read the i2c and then patch the vgabios - why not just have the
> vgabios read from i2c directly?

May I need to say that we are talking here about two different i2c buses.
* i2c bus of cs5563
* i2c bus for EDID data transfer - used by VGA

As may panel is connected via LVDS I can not get EDID data from it. So
I want to use
EPI and EDID extension.

So I would read the i2c eeprom at the cs5536 smb bus and get 3 values.
Based on these
values I decide which EDID/EPI binary blob I would like to use.

>
>> 4) Extend vbios to make use of epi/edid data by writing a simple parser
>> 5) Extend VBE
>> 6) Extend geode code in vbios to make use of parsed epi/edid data
>
> -Kevin




More information about the coreboot mailing list