[flashrom] [coreboot] GSoC 2010

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Sun Mar 7 21:47:21 CET 2010

Hi Paul,

I'm one of the developers of flashrom <http://www.flashrom.org/> which
aims to be a generic utility for programming all kinds of flash EEPROMs
on your mainboard, on storage/network/graphics cards, and in external
There is some interest in integrating parts of your firebrand code to
support a Willem backend/driver for flashrom. Would that be OK with you?
flashrom is GPLv2.

On 07.03.2010 15:18, Keith Hui wrote:
> Looking at this on the GSoC page:
>> flashrom support for Willem hardware
> Haha, I'd so love to see this.
> For a base to work off of, look at firebrand:
> http://www.astro.gla.ac.uk/~paulm/Code/eprom.html

Cool. I have added Paul to CC of this mail.

> You may even be able to google for an older version of the original control
> program with source.
> Also look at the sivava "PCB45" variant as well. This site has info (and
> schematics with differences highlighted) on how to convert a PCB3B (for
> which schematics is/was available) to a PCB45:
> http://www.msxpro.com/py2bbs/willem_pcb45en.php
> There are four versions that we can easily get schematics for - original
> willem, PCB3B, a simplified, flash-only "EzoFlash", and the PCB45 conversion
> above. There are newer variants but they are proprietary. I'd love to see
> support for these four implemented.
> From what I read it may be a product of the shady parts of Internet. At
> least it is sort of open and easily accessible. I first built EzoFlash on a
> breadboard to flash a firmware for my infamous Apex 600A DVD player, and
> then built a PCB3B on a crudely made PCB, that I am using right now to flash
> 440BX RAM initialization code for boot testing.


Basically, flashrom already has chip drivers for 29* series Parallel
flash, 49* series LPC/FWH flash, and 25* series SPI flash (actual model
numbers may differ, but pretty much every flash chip present on
mainboards out there is supported). Support for other chip types
(I2C...) is possible (infrastructure is there) but not on our immediate
TODO list.
flashrom has half a dozen backend programmer drivers, and these backend
drivers can be "dumb", i.e. the only thing they have to do is pass
address/data pairs (Parallel/LPC/FWH) or command streams (SPI) to the
programmer hardware. Adding support for a new programmer can be as easy
as writing 20 lines of code.


More information about the flashrom mailing list