Flashrom: Difference between revisions

From flashrom
Jump to navigation Jump to search
(→‎Supported devices: Add missing ROM chips.)
Line 23: Line 23:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| AMD
| AMD
| AM-29F040B
| Am29F040B
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 30: Line 30:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| AMD
| AMD
| AM-29F016D
| Am29LV040B
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#eeeeee" valign="top"
| AMD
| Am29F016D
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 44: Line 51:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| Atmel
| Atmel
| AT-29C040A
| AT29C040A
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 51: Line 58:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| Atmel
| Atmel
| AT-29C020
| AT29C020
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 58: Line 65:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| Atmel
| Atmel
| AT-49F002(N)
| AT49F002(N)
| style="background:lime" | OK<sup>6</sup>
| style="background:lime" | OK<sup>6</sup>
| style="background:lime" | OK<sup>6</sup>
| style="background:lime" | OK<sup>6</sup>
Line 65: Line 72:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| Atmel
| Atmel
| AT-49F002(N)T
| AT49F002(N)T
| style="background:lime" | OK<sup>6</sup>
| style="background:lime" | OK<sup>6</sup>
| style="background:lime" | OK<sup>6</sup>
| style="background:lime" | OK<sup>6</sup>
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#dddddd" valign="top"
| EON
| EN29F002(A)(N)T
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#dddddd" valign="top"
| EON
| EN29F002(A)(N)B
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| EMST
| EMST
Line 77: Line 100:
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| Fujitsu
| Fujitsu
Line 85: Line 109:
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| Intel&reg;(Firmware Hub)
| Intel&reg;
| 82802AB
| 82802AB
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 92: Line 116:
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| Intel&reg;(Firmware Hub)
| Intel&reg;
| 82802AC
| 82802AC
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 106: Line 130:
| style="background:orange" | WIP<sup>1</sup>
| style="background:orange" | WIP<sup>1</sup>
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| MX
| Macronix
| MX-29F002
| MX29F002
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#dddddd" valign="top"
| Macronix
| MX29F002
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#dddddd" valign="top"
| Macronix
| MX25L4005
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#dddddd" valign="top"
| Macronix
| MX25L8005
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#dddddd" valign="top"
| Macronix
| MX25L3205
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#eeeeee" valign="top"
| Spansion
| S25FL016A
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#eeeeee" valign="top"
| PMC
| Pm49FL002
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#eeeeee" valign="top"
| PMC
| Pm49FL004
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#eeeeee" valign="top"
| PMC
| Pm25LV512
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#eeeeee" valign="top"
| PMC
| Pm25LV010
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#eeeeee" valign="top"
| PMC
| Pm25LV020
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| PMC
| PMC
| PMC-49FL002
| Pm25LV040
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 121: Line 218:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| PMC
| PMC
| PMC-49FL004
| Pm25LV080B
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#eeeeee" valign="top"
| PMC
| Pm25LV016B
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| Sharp
| Sharp
| LHF-00L04
| LHF00L04
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 136: Line 241:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-29EE020A
| SST25VF040B
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 143: Line 248:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-28SF040A
| SST25VF016B
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 150: Line 255:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-39SF010A
| SST29EE020A
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 157: Line 262:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-39SF020A
| SST28SF040A
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 164: Line 269:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-39SF040
| SST39SF010A
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 171: Line 276:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-39VF020
| SST39SF020A
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 178: Line 283:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF040B
| SST39SF040
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#eeeeee" valign="top"
| SST
| SST39VF020
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
|- bgcolor="#eeeeee" valign="top"
| SST
| SST49LF040B
| style="background:lime" | OK
| style="background:lime" | OK
| style="background:lime" | OK
| style="background:lime" | OK
Line 185: Line 304:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF040
| SST49LF040
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 192: Line 311:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF020A
| SST49LF020A
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 199: Line 318:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF080A
| SST49LF080A
| style="background:lime" | OK
| style="background:lime" | OK
| style="background:lime" | OK
| style="background:lime" | OK
Line 206: Line 325:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF002A/B
| SST49LF002A/B
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 213: Line 332:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF003A/B
| SST49LF003A/B
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 220: Line 339:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF004A/B
| SST49LF004A/B
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 227: Line 346:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF008A
| SST49LF008A
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 234: Line 353:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF004C
| SST49LF004C
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 241: Line 360:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF008C
| SST49LF008C
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 248: Line 367:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF016C
| SST49LF016C
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 255: Line 374:
|- bgcolor="#eeeeee" valign="top"
|- bgcolor="#eeeeee" valign="top"
| SST
| SST
| SST-49LF160C
| SST49LF160C
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
| style="background:#eeeeee" | ?
Line 279: Line 398:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M50FLW040A
| M50FLW040A
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 286: Line 405:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M50FLW040B
| M50FLW040B
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 293: Line 412:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M50FLW080A
| M50FLW080A
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 300: Line 419:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M50FLW080B
| M50FLW080B
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 307: Line 426:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M50FW040
| M50FW040
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 314: Line 433:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M50FW080
| M50FW080
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 321: Line 440:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M50FW016
| M50FW016
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 328: Line 447:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M50LPW116
| M50LPW116
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 335: Line 454:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M29F002B
| M29F002B
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 342: Line 461:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M29F002T
| M29F002T
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 349: Line 468:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M29F002NT
| M29F002NT
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 356: Line 475:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M29F400BT
| M29F400BT
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 363: Line 482:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M29F040B
| M29F040B
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 370: Line 489:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M29W010B
| M29W010B
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 377: Line 496:
|- bgcolor="#dddddd" valign="top"
|- bgcolor="#dddddd" valign="top"
| ST
| ST
| ST-M29W040B
| M29W040B
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
Line 487: Line 606:
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#dddddd" valign="top"
| Winbond&trade;
| W25x10
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#dddddd" valign="top"
| Winbond&trade;
| W25x20
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#dddddd" valign="top"
| Winbond&trade;
| W25x40
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|- bgcolor="#dddddd" valign="top"
| Winbond&trade;
| W25x80
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
| style="background:#dddddd" | ?
|}
|}
|}
|}

Revision as of 01:27, 16 March 2008

Flashrom is a utility which can be used to detect, read, or write BIOS chips (DIP, PLCC, SPI).

Supported devices

Note: There are probably some flash ROM chips which are compatible to the ones listed below.

Vendor Flash part Status
  Probe Read Write Erase
AMD Am29F040B ? ? ? ?
AMD Am29LV040B ? ? ? ?
AMD Am29F016D ? ? ? ?
ASD AE49F2008 ? ? ? ?
Atmel AT29C040A ? ? ? ?
Atmel AT29C020 ? ? ? ?
Atmel AT49F002(N) OK6 OK6 ? ?
Atmel AT49F002(N)T OK6 OK6 ? ?
EON EN29F002(A)(N)T ? ? ? ?
EON EN29F002(A)(N)B ? ? ? ?
EMST F49B002UA ? ? ? ?
Fujitsu MBM29F400TC OK5 OK5 ? ?
Intel® 82802AB ? ? ? ?
Intel® 82802AC ? ? ? ?
M-Systems MD-2802 WIP1 WIP1 WIP1 WIP1
Macronix MX29F002 ? ? ? ?
Macronix MX29F002 ? ? ? ?
Macronix MX25L4005 ? ? ? ?
Macronix MX25L8005 ? ? ? ?
Macronix MX25L3205 ? ? ? ?
Spansion S25FL016A ? ? ? ?
PMC Pm49FL002 ? ? ? ?
PMC Pm49FL004 ? ? ? ?
PMC Pm25LV512 ? ? ? ?
PMC Pm25LV010 ? ? ? ?
PMC Pm25LV020 ? ? ? ?
PMC Pm25LV040 ? ? ? ?
PMC Pm25LV080B ? ? ? ?
PMC Pm25LV016B ? ? ? ?
Sharp LHF00L04 ? ? ? ?
SST SST25VF040B ? ? ? ?
SST SST25VF016B ? ? ? ?
SST SST29EE020A ? ? ? ?
SST SST28SF040A ? ? ? ?
SST SST39SF010A ? ? ? ?
SST SST39SF020A ? ? ? ?
SST SST39SF040 ? ? ? ?
SST SST39VF020 ? ? ? ?
SST SST49LF040B OK OK OK OK
SST SST49LF040 ? ? ? ?
SST SST49LF020A ? ? ? ?
SST SST49LF080A OK OK OK OK
SST SST49LF002A/B ? ? ? ?
SST SST49LF003A/B ? ? ? ?
SST SST49LF004A/B ? ? ? ?
SST SST49LF008A ? ? ? ?
SST SST49LF004C ? ? ? ?
SST SST49LF008C ? ? ? ?
SST SST49LF016C ? ? ? ?
SST SST49LF160C ? ? ? ?
Vendor Flash part Status
  Probe Read Write Erase
ST M50FLW040A ? ? ? ?
ST M50FLW040B ? ? ? ?
ST M50FLW080A ? ? ? ?
ST M50FLW080B ? ? ? ?
ST M50FW040 ? ? ? ?
ST M50FW080 ? ? ? ?
ST M50FW016 ? ? ? ?
ST M50LPW116 ? ? ? ?
ST M29F002B ? ? ? ?
ST M29F002T ? ? ? ?
ST M29F002NT ? ? ? ?
ST M29F400BT ? ? ? ?
ST M29F040B ? ? ? ?
ST M29W010B ? ? ? ?
ST M29W040B ? ? ? ?
SyncMOS S29C51001T/B ? ? ? ?
SyncMOS S29C51002T/B ? ? ? ?
SyncMOS S29C51004T/B ? ? ? ?
SyncMOS S29C31004T ? ? ? ?
Winbond™ W29C011 ? ? ? ?
Winbond™ W29C020C ? ? ? ?
Winbond™ W29C040P ? ? ? ?
Winbond™ W29EE011 ? ? ? ?
Winbond™ W49F002U ? ? ? ?
Winbond™ W49V002A ? ? ? ?
Winbond™ W49V002FA ? ? ? ?
Winbond™ W39V040FA ? ? ? ?
Winbond™ W39V040A ? ? ? ?
Winbond™ W39V040B ? ? ? ?
Winbond™ W39V080A ? ? ? ?
Winbond™ W25x10 ? ? ? ?
Winbond™ W25x20 ? ? ? ?
Winbond™ W25x40 ? ? ? ?
Winbond™ W25x80 ? ? ? ?

Supported chipsets

Vendor Southbridge Status
ALi M1533 OK
AMD Geode™ CS5530/CS5530A OK
AMD Geode™ SC1100 ?
AMD AMD-8111 OK
ATI SB400 ?
Broadcom HT-1000 OK
Intel®  ICH OK2
Intel®  PIIX4/PIIX4E/PIIX4M OK
Intel®  440MX OK
NVIDIA CK804 OK
NVIDIA MCP51 ?
NVIDIA MCP55 OK
SiS 630 ?
SiS 5595 ?
VIA CX700 OK
VIA VT8231 ?
VIA VT8235 ?
VIA VT8237 OK
VIA VT82C686 ?


1 Unsupported, disabled by default.
2 This includes the ICH, ICH0, ICH2, ICH2-M, ICH3-S, ICH3-M, ICH4/ICH4-L, ICH4-M, ICH5/ICH5R, ICH6/ICH6R, ICH6-M, ICH7DH, ICH7/ICH7R, ICH7M, ICH7MDH, ICH8/ICH8R, ICH8DH, and ICH8DO chipsets. ICH2: Identifying and reading chips seems to work, but there are reports that writing may not work on some mainboards.
4 Untested, but should work.
5 Only reading the chip, but not writing to it has been tested. Both is expected to work, though.
6 Should work, but only reading (not writing or erasing) the chip has been tested.

Supported mainboards

This is a list of mainboards where we have verified that they either do or do not need any special initialization to make flashrom work (given flashrom supports the respective southbridge and ROM chip), or that they do not yet work at all. If they do not work, support may or may not be added later.

Mainboards which don't appear in the list may or may not work (we don't know, someone has to give it a try). Please report any further verified mainboards on the mailinglist or add them here directly.

Known-good

Vendor Mainboard Status
Advantech PCM-5820 OK
ASI MB-5BLMP1 OK
ASUS A8N-E OK
ASUS A8NE-FM/S OK
ASUS A8N-SLI Premium OK
ASUS A8V-E Deluxe OK
ASUS M2A-VM OK5
ASUS P2B OK
ASUS P2B-F OK
BCOM WinNET1006 OK
GIGABYTE GA-6BXC OK
Tyan S1846 OK
Tyan S2881 OK
Tyan S2882 OK

Known-good (but special setup required)

Vendor Mainboard Required option Status
Acorp 6A815EPD -m acorp:6a815epd OK
agámi Aruma/AIS6000 -m AGAMI:ARUMA OK
Artec Group DBE61 -m artecgroup:dbe61 OK
Artec Group DBE62 -m artecgroup:dbe62 OK
ASUS A7V400-MX OK
ASUS A7V8X-MX OK
ASUS A8V-E SE OK7
ASUS P5A -m asus:p5a OK
EPoX EP-BX3 -m epox:ep-bx3 OK
IBM x3455 -m ibm:x3455 OK
GIGABYTE GA-M57SLI-S4 -m gigabyte:m57sli SEMI-SUPPORTED3
GIGABYTE GA-M61P-S3 -m gigabyte:m61p OK
IWILL DK8-HTX -m iwill:dk8_htx OK
MSI K8N Neo3 -m msi:k8n-neo3 OK
Tyan S2498 (Tomcat K7M) OK
VIA EPIA-M OK2
VIA EPIA-MII OK2

Known-bad

Vendor Mainboard Status
ASUS MEW-AM No
ASUS MEW-VM No
Biostar M6TBA No
MSI MS-7260 (K9N Neo) SEMI-SUPPORTED4

1 Used in the IGEL WinNET III thin client.
2 Might also work for other CLE266 based EPIAs.
3 Flashrom works great when booted with the proprietary BIOS. Once booted in coreboot, it does not work reliably. See bug #87.
4 Interestingly flashrom does not work when the vendor BIOS is booted, but it does work flawlessly when the machine is booted with coreboot.
5 See http://www.coreboot.org/pipermail/coreboot/2007-September/025281.html.
6 Used in the IGEL-316 thin client.
7 See http://www.coreboot.org/pipermail/coreboot/2007-October/026496.html.

Installation

Requirements

Flashrom requires the pciutils and zlib and the respective development packages in order to be built.

In Debian unstable these development packages are called pciutils-dev and zlib1g-dev. Most other distributions call them pciutils-devel and zlib-devel.

Manual Installation

$ svn co svn://coreboot.org/repos/trunk/util/flashrom
$ cd flashrom
$ make
$ sudo make install

Debian

$ sudo aptitude install flashrom

Fedora

$ sudo yum install flashrom

Mandriva

$ urpmi flashrom

Usage

Detect whether flashrom knows about your chipset/mainboard/BIOS chip:

$ flashrom

Read the current BIOS image into a file:

$ flashrom -r backup.bin

Write a BIOS image (proprietary or coreboot) on the ROM chip:

$ flashrom -wv newbios.bin
WARNING: This will overwrite your current BIOS! Make sure you know what you're doing!

For more documentation please see the flashrom README or the manpage.