Hello Florentin,
On Thu, Jul 26, 2007 at 03:41:01AM +0200, echelon@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..
Aye.
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: http://www.elfa.se/images/highres/h2443.jpg
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?
Yes.
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.
//Peter