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