[LinuxBIOS] M57SLI Revision 2 SPI

Chris Lingard chris at stockwith.co.uk
Sat Sep 8 21:21:07 CEST 2007

Peter Stuge wrote:
> On Fri, Sep 07, 2007 at 06:46:17PM +0100, Chris Lingard wrote:
>> Gigabyte have told me that the BIOS chip is made by SST, and the
>> model name is SST25LF040A BIOS ROM which is PLCC32 type.
> Nonsense, I'm afraid.
> SST25LF040A is only available in 8-contact packages. (SOIC and WSON)
> Whoever you had contact with at Gigabyte didn't know about the
> different revisions of the board and their differences.
>> I am now very confused because I have PLCC32 sockets and these are
>> nothing like the BIOS chip which has 8 connections.
>> (I have two PLCC32 sockets and four unused flash chips to give away,
>> if they are no use to this version of the motherboard).
> Correct, since you don't have PLCC chips you have the revision with
> SOIC chips.
>> I will probably try to source some of these chips, just in case the
>> rest of the problems can be solved.
> The hardware part is solved, but there's no support for flashing
> in flashrom yet, you would have to reboot into another OS (DOS or
> Windows) and use the Gigabyte-supplied flashing utility.
> For the hardware mod you would need:
> 1x SST25LF040A or MX25L4005A
> 2x 100k resistors (0.125W ones are good size-wise)
> 1x SPDT (single pole dual throw) switch (break-before-make or
> make-before-break doesn't matter much - neither will reliably allow
> the switch to be flipped while the flash chip is being accessed.)
> See http://stuge.se/m57sli_soic_detail_labels.jpg for contact names.
> 1. Lift the U5-CS# pin from the board.
> 2. Solder 1x 100k resistor between U5-VCC and the lifted U5-CS# pin.
> 3. Solder the center contact on the switch to the U5-CS# pad on the
> mainboard.
> 4. Solder one outer contact on the switch to the U5-CS# pin, where
> one end of the resistor in step 2 is also soldered.
> 5. Solder the new flash chip to the U9 pads. Note pin 1! There should
> be a marking on the flash chip near one corner pin, that's pin 1,
> U9-CS#.
> 6. Lift U9-CS# from the board. (Or just don't solder it in step 5.)
> 7. Solder 1x 100k resistor between U9-VCC and the lifted U9-CS# pin.
> 8. Solder the second outer contact on the switch to the U9-CS# pin,
> where one end of the resistor in step 7 is also soldered.
> Done! Now the switch controls which of U5 and U9 is actually
> selected when the super io wants to access the flash chip.
> You could get a biased (spring-loaded) switch in order to help
> avoiding accidentally leaving the system running with the factory
> BIOS chip selected when you're doing LB work - so that the next
> flashing operation does not overwrite the wrong chip. You would need
> to hold the switch while booting the factory BIOS, but that may be
> worthwhile if you can't easily redo the soldering work if both flash
> chips contain junk.
> //Peter

Thank you, that is brilliant.

OK, two PLCC32 sockets and four unused flash chips free to good home :-)
Apply by email, (or 2 sets of one socket and two chips).

Will start sourcing SST25LF040A on Monday, then rebook the workshop.

My second newbie dumb question.  If I make copies of the Factory BIOS on 
a floppy, I can overwrite one of them with LinuxBios.  I then use the 
BIOS, and when it asks for confirmation, I switch over to the new chip, 
and hope.  (The Gigabyte BIOS can overwrite itself, press <end> key 
during post to enter Q-flash)

Chris Lingard

More information about the coreboot mailing list