[LinuxBIOS] GA-M57SLI with SPI flash

echelon at free.fr echelon at free.fr
Thu Jul 26 03:41:01 CEST 2007


 I discovered the LinuxBios project very recently and I found that is a great
 So great idea, that I consider participating myself at this project. I do not
consider myself an "elite hacker", not at all, but I do have some experience in
low level and system programming, mostly in the embedded world (bootloaders and
device drivers for various ARM devices)..

 To begin with, I considered setting up a hardware test platform to start
playing with LinuxBios. For the motherboard, the Gigabyte m57sli mobo seemed a
premium choice, as it is listed as fully supported on the "supported
motherboards" web page, and there is even a tutorial for installing LB on this
kind of board. (even hw-modding it). So I bought this baby..

 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..
 Obviously this kind of flash device isn't (yet..) supported by flashrom. But
this isn't the biggest problem (one can find the datasheet of the spi flash
device very easily : 25L4005 from Macronix).

 The biggest problem is the way this device interacts with MCP55 southbridge...

 In fact there are 2 (sub)problems:
  -1) reflashing this device with LB (adding support in flashrom for example)
  -2) modifying LB itself to make it boot on this spi device!

 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). For the real
support in flashrom.. well we will see this later..
  -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"? 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?

Thanks in advance for your help!

Best regards,
 Florentin Demetrescu
 (from Paris - France)

More information about the coreboot mailing list