[LinuxBIOS] GA-M57SLI with SPI flash

Peter Stuge peter at stuge.se
Thu Jul 26 08:21:44 CEST 2007

Hello Florentin,

On Thu, Jul 26, 2007 at 03:41:01AM +0200, echelon at free.fr wrote:
> I discovered the LinuxBios project very recently and I found that
> is a great idea!
> So great idea, that I consider participating myself at this
> project.

Welcome aboard! :)

> But then I had a very nasty surprise!.. The new revisions of this
> board have no more a bios flash device on the LPC bus, but come
> with a SPI flash instead..


>  My plan of attack is the following:
>   -1) for this point, I will chose a "hardware" solution for the
> moment, by "socketising" the spi device (desoldering and installing
> it on a "custom socket" of my own ;) ) and programming it (or a
> remplacement) with an external programmer which I will build myself
> (with an fpga for example).

Excellent. This will work just fine.

If you're using a SOIC chip with a HOLD# pin you would not even have
to socket it and could just use a SOIC clip (~10 EUR) to connect the
homemade programmer to it:

Also see FLASH-PLAICE at http://flash-plaice.wikispaces.com/ for a
$150 ROM emulator+logic analyzer.

>   -2) this is the most crucial point! In fact, I have a very simple
> question : does the actual version of LB need to be modified at all
> for this new hw configuration or it could work "out of the box"?

LB does not need to be modified in order to boot from the SPI chip.

The physical interface is abstracted by the southbridge - memory
accesses are decoded to the flash chip transparently.

> By browsing the LB code, I discovered a procedure which
> intriguished me : "mcp55_enable_rom()". Is it supposed to work
> only with a LPC flash device?


> More simply : what does exactly mcp55_enable_rom() do?

It is part of flashrom and the purpose is to flip the neccessary
bits in the southbridge so that it will pull WE# to the LPC flash
low, allowing writes to the flash chip to go through - which is
neccessary not only to write or erase the flash chip but also in
order to identify it, which flashrom will always try to do.

In short: flashrom requires quite a lot of work to do anything at all
with an SPI chip, but assuming there is another way to reprogram the
flash chip LB can boot just fine on the board.


More information about the coreboot mailing list