[coreboot] coreboot and embedded controllers, for example OLPC and its OpenEC code

Ken.Fuchs at bench.com Ken.Fuchs at bench.com
Thu Jun 19 22:23:44 CEST 2008

Peter Stuge wrote:

> Just a little tidbit..
> On Thu, Jun 19, 2008 at 01:22:47AM +0200, Frieder Ferlemann wrote:
> > Yep, let's see what happens. OpenEC is GPL'ed so it is there
> > to stay and it is waiting for a slightly better chance than
> > OLPC turned out to be.
> Me and Uwe ran into a desktop board with this SMSC superio..
> > And OpenEC was written with portability in mind. While it
> > specifically targets an ENE KB3700 (with its 8051 based core)
> > the source is also compileable with gcc.
> The superio included an 8051. The 8051 did not have it's own program
> memory, it's program was stored in the BIOS flash.
> When the board powered up, only the 8051 was running. It needed
> software to do some stuff, and only then could it negotiate release
> of the main CPU reset.
> We found some PDF files and it did seem within our reach to get the
> 8051 to at least power up the CPU, but it was the heart of the
> superio, so I believe most superio functions would be unavailable
> until there was more 8051 code.

Can you provide more details?  Such as exactly which SMSC SuperIO?
What was the embedded controller used for?  Just perform basic
SuperIO functions or something more?  Which desktop board?
Which processor and chipset?

coreboot needs to have a solution/framework/interface for dealing
with embedded controllers.  The trend seems to be that mainboards
will have more of these as time goes by.  For existing boards,
coreboot may be able to load the existing embedded controller
code, but for new designs with coreboot firmware, the embedded
controller code will have to written from scratch and obviously
will require a toolchain and debugging tools.

Here's a few resources that may be useful for working with EC
(especially 8051/MCS 51):







Ken Fuchs

More information about the coreboot mailing list