Flashrom: Difference between revisions

From flashrom
Jump to navigation Jump to search
(→‎Usage: flashrom FAQ)
No edit summary
 
(122 intermediate revisions by 12 users not shown)
Line 1: Line 1:
[[File:Dip32 in socket.jpg|120px|right]]
{{DISPLAYTITLE:flashrom}}<!-- it is called flashrom after all. -->
[[File:Plcc32 in socket.jpg|120px|right]]
<table width="100%" valign="top"><tr valign="top"><td width="80%">
[[File:Dip8 in socket.jpg|120px|right]]
[[File:Soic8 chip.jpg|120px|right]]
[[File:Soldered tsop40.jpg|120px|right]]
 
<div style="margin-top:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#eeeeee; align:right; border:1px solid #aabbcc; width: 85%">
'''flashrom''' is a utility for identifying, reading, writing, verifying and erasing flash chips. It's often used to flash BIOS/EFI/coreboot/firmware images.


<div style="margin-top:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#eeeeee; align:right; border:1px solid #aabbcc;">
'''flashrom''' is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various other programmer devices.
<small>
<small>
* Supports more than 160 flash chips, 75 chipsets, 100 mainboards, and 10 PCI devices which can be used as external programmers.
* Supports more than 476 flash chips, 291 chipsets, 500 mainboards, 79 PCI devices, 17 USB devices and various parallel/serial port-based programmers.
* Supports parallel, LPC, FWH and SPI flash interfaces and various chip packages (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40 and more)
* Supports [[Technology#Communication_bus_protocol|parallel, LPC, FWH and SPI]] flash interfaces and various chip packages ([[Technology#DIP32:_Dual_In-line_Package.2C_32_pins|DIP32]], [[Technology#PLCC32:_Plastic_Leaded_Chip_Carrier.2C_32_pins|PLCC32]], [[Technology#DIP8:_Dual_In-line_Package.2C_8_pins|DIP8]], [[Technology#SO8.2FSOIC8:_Small-Outline_Integrated_Circuit.2C_8_pins|SO8/SOIC8]], [[Technology#TSOP:_Thin_Small-Outline_Package.2C_32.2C_40.2C_or_48_pins|TSOP32, TSOP40, TSOP48]], [[Technology#BGA:_Ball_Grid_Array|BGA]] and more)
* No physical access needed, root access is sufficient.
* No physical access needed, root access is sufficient (not needed for some programmers).
* No bootable floppy disk, bootable CD-ROM or other media needed.
* No bootable floppy disk, bootable CD-ROM or other media needed.
* No keyboard or monitor needed. Simply reflash remotely via SSH.
* No keyboard or monitor needed. Simply reflash remotely via SSH.
Line 18: Line 14:
* '''Scriptability'''. Reflash a whole pool of identical machines at the same time from the command line. It is recommended to check flashrom output and error codes.
* '''Scriptability'''. Reflash a whole pool of identical machines at the same time from the command line. It is recommended to check flashrom output and error codes.
* '''Speed'''. flashrom is often much faster than most vendor flash tools.
* '''Speed'''. flashrom is often much faster than most vendor flash tools.
* '''Portability'''. Supports Linux, FreeBSD, DragonFly BSD, Solaris, Mac OS X, and other Unix-like OSes.
* '''Portability'''. Supports DOS, Linux, FreeBSD (including Debian/kFreeBSD), NetBSD, OpenBSD, DragonFlyBSD, anything Solaris-like, Mac OS X, and other Unix-like OSes as well as GNU Hurd. Partial Windows support is available (no internal programmer support at the moment, hence no "BIOS flashing").
</small></div>
</small>
</div>


<div style="margin-top:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#ff6666; align:right; border:1px solid #000000;">
=== Emergency help ===


= Emergency help =
'''IMPORTANT:''' If something went wrong during flashing, do '''NOT''' turn off/reboot your computer. Instead, let us help you recover. We can be contacted via [[Contact#IRC|IRC]] ('''#flashrom''' on [irc://irc.libera.chat/#flashrom libera.chat], [https://web.libera.chat/#flashrom webchat]) or [[Contact#Mailing_List|email]]. Please allow for a few hours until someone responds on IRC, we're all volunteers.
 
<div style="margin-top:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#ff6666; align:right; border:1px solid #000000;">
'''IMPORTANT:''' If something went wrong during flashing, do '''NOT''' turn off/reboot your computer. Instead, let us help you recover. We can be contacted via [[IRC]] ('''#flashrom''' on [http://www.freenode.net/ irc.freenode.net]) or [[Mailinglist|email]]. Please allow for a few hours until someone responds on IRC, we're all volunteers.
</div>
</div>


= Supported devices =
{| cellspacing=5 cellpadding=15 border=0 valign="top" width=100%
 
| width=50% style="vertical-align:top"|
<div style="margin-top:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#eeeeee; align:right; border:1px solid #aabbcc;"><small>
Please do '''not''' edit these tables in the wiki directly, they are semi-automatically generated by pasting '''flashrom -z''' output.<br />'''Last update:''' Tue Jun 23 22:30:05 2009
(generated by flashrom 0.9.0-r626)
</small></div>
 
== Supported chips ==
 
Total amount of supported chips: '''191'''
 
{| border="0" valign="top"
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Device
! align="left" | Size / KB
! align="left" | Type
! align="left" colspan="4" | Status
 
|- bgcolor="#6699ff"
| colspan="4" | &nbsp;
| Probe
| Read
| Write
| Erase
 
|- bgcolor="#eeeeee" valign="top"
| AMD || Am29F010A/B || 128 || Parallel || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| AMD || Am29F002(N)BB || 256 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| AMD || Am29F002(N)BT || 256 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| AMD || Am29F016D || 2048 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| AMD || Am29F040B || 512 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| AMD || Am29F080B || 1024 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| AMD || Am29LV040B || 512 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| AMD || Am29LV081B || 1024 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#dddddd" valign="top"
| ASD || AE49F2008 || 256 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT25DF021 || 256 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT25DF041A || 512 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT25DF081 || 1024 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT25DF161 || 2048 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT25DF321 || 4096 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT25DF321A || 4096 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT25DF641 || 8192 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT25F512B || 64 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT25FS010 || 128 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT25FS040 || 512 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT26DF041 || 512 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT26DF081A || 1024 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT26DF161 || 2048 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT26DF161A || 2048 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT26F004 || 512 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT29C512 || 64 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT29C010A || 128 || Parallel || {{OK}} || {{OK}} || {{OK}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT29C020 || 256 || Parallel || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT29C040A || 512 || Parallel || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT45CS1282 || 16896 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT45DB011D || 128 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT45DB021D || 256 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT45DB041D || 512 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT45DB081D || 1024 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT45DB161D || 2048 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT45DB321C || 4224 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT45DB321D || 4096 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT45DB642D || 8192 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT49BV512 || 64 || Parallel || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT49F002(N) || 256 || Parallel || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Atmel || AT49F002(N)T || 256 || Parallel || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| AMIC || A25L40P || 512 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| AMIC || A29002B || 256 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| AMIC || A29002T || 256 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| AMIC || A29040B || 512 || Parallel || {{OK}} || {{OK}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| AMIC || A49LF040A || 512 || LPC || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| EMST || F49B002UA || 256 || Parallel || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25B05 || 64 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25B10 || 128 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25B20 || 256 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25B40 || 512 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25B80 || 1024 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25B16 || 2048 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25B32 || 4096 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25B64 || 8192 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25D16 || 2048 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25F05 || 64 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25F10 || 128 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25F20 || 256 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25F40 || 512 || SPI || {{OK}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25F80 || 1024 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25F16 || 2048 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Eon || EN25F32 || 4096 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#eeeeee" valign="top"
| EON || EN29F002(A)(N)B || 256 || Parallel || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| EON || EN29F002(A)(N)T || 256 || Parallel || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Fujitsu || MBM29F004BC || 512 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
 
|}
 
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Device
! align="left" | Size / KB
! align="left" | Type
! align="left" colspan="4" | Status
 
|- bgcolor="#6699ff"
| colspan="4" | &nbsp;
| Probe
| Read
| Write
| Erase
 
|- bgcolor="#dddddd" valign="top"
| Fujitsu || MBM29F004TC || 512 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Fujitsu || MBM29F400BC || 512 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Fujitsu || MBM29F400TC || 512 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#eeeeee" valign="top"
| Intel || 28F001BX-B || 128 || Parallel || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Intel || 28F001BX-T || 128 || Parallel || {{OK}} || {{OK}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Intel || 82802AB || 512 || FWH || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || 82802AC || 1024 || FWH || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX25L512 || 64 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX25L1005 || 128 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX25L2005 || 256 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX25L4005 || 512 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX25L8005 || 1024 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX25L1605 || 2048 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX25L1635D || 2048 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX25L3205 || 4096 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX25L3235D || 4096 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX25L6405 || 8192 || SPI || {{OK}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX25L12805 || 16384 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX29F002B || 256 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX29F002T || 256 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Macronix || MX29LV040C || 512 || Non-SPI || {{OK}} || {{OK}} || {{?}} || {{?}}
|- bgcolor="#eeeeee" valign="top"
| Numonyx || M25PE10 || 128 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Numonyx || M25PE20 || 256 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Numonyx || M25PE40 || 256 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Numonyx || M25PE80 || 1024 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Numonyx || M25PE16 || 2048 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#dddddd" valign="top"
| PMC || Pm25LV010 || 128 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| PMC || Pm25LV016B || 2048 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| PMC || Pm25LV020 || 256 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| PMC || Pm25LV040 || 512 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| PMC || Pm25LV080B || 1024 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| PMC || Pm25LV512 || 64 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| PMC || Pm29F0002T || 256 || Parallel || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| PMC || Pm29F0002B || 256 || Parallel || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| PMC || Pm39LV010 || 128 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| PMC || Pm49FL002 || 256 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| PMC || Pm49FL004 || 512 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Sharp || LHF00L04 || 1024 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#dddddd" valign="top"
| Spansion || S25FL016A || 2048 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST25VF016B || 2048 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST25VF032B || 4096 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST25VF040B || 512 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST25VF040.REMS || 512 || SPI || {{OK}} || {{OK}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST25VF040B.REMS || 512 || SPI || {{OK}} || {{OK}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST25VF080B || 1024 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST28SF040A || 512 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST29EE010 || 128 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST29LE010 || 128 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST29EE020A || 256 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST29LE020 || 256 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST39SF010A || 128 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST39SF020A || 256 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST39SF040 || 512 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST39VF512 || 64 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST39VF010 || 128 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST39VF020 || 256 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST39VF040 || 512 || Non-SPI || {{OK}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST39VF080 || 1024 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF002A/B || 256 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF003A/B || 384 || Non-SPI || {{OK}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF004A/B || 512 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF004C || 512 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF008A || 1024 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF008C || 1024 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
 
|}
 
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Device
! align="left" | Size / KB
! align="left" | Type
! align="left" colspan="4" | Status
 
|- bgcolor="#6699ff"
| colspan="4" | &nbsp;
| Probe
| Read
| Write
| Erase
 
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF016C || 2048 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF020 || 256 || LPC || {{OK}} || {{OK}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF020A || 256 || LPC || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF040 || 512 || LPC || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF040B || 512 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF080A || 1024 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SST || SST49LF160C || 2048 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| ST || M25P05-A || 64 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M25P10-A || 128 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M25P20 || 256 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M25P40 || 512 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M25P40-old || 512 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M25P80 || 1024 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| ST || M25P16 || 2048 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| ST || M25P32 || 4096 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| ST || M25P64 || 8192 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M25P128 || 16384 || SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M29F002B || 256 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M29F002T/NT || 256 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| ST || M29F040B || 512 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| ST || M29F400BT || 512 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M29W010B || 128 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M29W040B || 512 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M50FLW040A || 512 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M50FLW040B || 512 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M50FLW080A || 1024 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| ST || M50FLW080B || 1024 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M50FW002 || 256 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M50FW016 || 2048 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| ST || M50FW040 || 512 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| ST || M50FW080 || 1024 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#dddddd" valign="top"
| ST || M50LPW116 || 2048 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#eeeeee" valign="top"
| SyncMOS || S29C31004T || 512 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SyncMOS || S29C51001T || 128 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| SyncMOS || S29C51002T || 256 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SyncMOS || S29C51004T || 512 || Non-SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#dddddd" valign="top"
| TI || TMS29F002RB || 256 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#dddddd" valign="top"
| TI || TMS29F002RT || 256 || Non-SPI || {{?}} || {{?}} || {{?}} || {{?}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W25x10 || 128 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W25x20 || 256 || SPI || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W25x40 || 512 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W25x80 || 1024 || SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W29C011 || 128 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W29C020C || 256 || Parallel || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W29C040P || 512 || Parallel || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W29EE011 || 128 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W39V040A || 512 || LPC || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W39V040B || 512 || LPC || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W39V040C || 512 || LPC || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W39V040FA || 512 || FWH || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W39V080A || 1024 || LPC || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W49F002U || 256 || Non-SPI || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W49V002A || 256 || LPC || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W49V002FA || 256 || FWH || {{?2}} || {{?2}} || {{?2}} || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W39V080FA || 1024 || FWH || {{OK}} || {{OK}} || {{OK}} || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Winbond || W39V080FA (dual mode) || 512 || FWH || {{?2}} || {{?2}} || {{?2}} || {{?2}}
 
|}
 
|}
 
== Supported chipsets ==
 
Total amount of supported chipsets: '''78'''
 
{| border="0" valign="top"
| valign="top"|
 
{| border="0" style="font-size: smaller"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Southbridge
! align="left" | PCI IDs
! align="left" | Status
 
|- bgcolor="#eeeeee" valign="top"
| ALi || M1533 || 10b9:1533 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| AMD || AMD-768 || 1022:7440 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| AMD || AMD8111 || 1022:7468 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| AMD || CS5530(A) || 1078:0100 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| AMD || CS5536 || 1022:2080 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| AMD || Elan SC520 || 1022:3000 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| AMD || SB600 || 1002:438d || {{OK}}
|- bgcolor="#dddddd" valign="top"
| AMD || SB700 || 1002:439d || {{OK}}
|- bgcolor="#dddddd" valign="top"
| AMD || SC1100 || 100b:0510 || ?
|- bgcolor="#eeeeee" valign="top"
| ATI || SB400 || 1002:4377 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Broadcom || HT-1000 || 1166:0205 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || 440MX || 8086:7198 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || 6300ESB || 8086:25a1 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || 631xESB/632xESB/3100 || 8086:2670 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || EP80579 || 8086:5031 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH0 || 8086:2420 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH10 || 8086:3a18 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH10D || 8086:3a1a || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH10DO || 8086:3a14 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH10R || 8086:3a16 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH2 || 8086:2440 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH2-M || 8086:244c || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH3-M || 8086:248c || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH3-S || 8086:2480 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH4/ICH4-L || 8086:24c0 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH4-M || 8086:24cc || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH5/ICH5R || 8086:24d0 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH6/ICH6R || 8086:2640 || {{OK}}
 
|}
 
| valign="top"|
 
{| border="0" style="font-size: smaller"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Southbridge
! align="left" | PCI IDs
! align="left" | Status
 
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH6-M || 8086:2641 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH7DH || 8086:27b0 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH7/ICH7R || 8086:27b8 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH7M || 8086:27b9 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH7MDH || 8086:27bd || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH || 8086:2410 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH8DH || 8086:2812 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH8DO || 8086:2814 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH8/ICH8R || 8086:2810 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH8M || 8086:2815 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH8M-E || 8086:2811 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH9 || 8086:2918 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH9DH || 8086:2912 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH9DO || 8086:2914 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH9M || 8086:2919 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH9M-E || 8086:2917 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || ICH9R || 8086:2916 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || MPIIX || 8086:1234 || ?
|- bgcolor="#eeeeee" valign="top"
| Intel || PIIX3 || 8086:7000 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || PIIX4/4E/4M || 8086:7110 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel || PIIX || 8086:122e || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || CK804 || 10de:0050 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || CK804 || 10de:0051 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || NForce2 || 10de:0060 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || CK804 || 10de:00d3 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP51 || 10de:0260 || ?
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP51 || 10de:0261 || ?
 
|}
 
| valign="top"|
 
{| border="0" style="font-size: smaller"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Southbridge
! align="left" | PCI IDs
! align="left" | Status
 
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP51 || 10de:0262 || ?
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP51 || 10de:0263 || ?
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP55 || 10de:0360 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP55 || 10de:0361 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP55 || 10de:0362 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP55 || 10de:0363 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP55 || 10de:0364 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP55 || 10de:0365 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP55 || 10de:0366 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP55 || 10de:0367 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NVIDIA || MCP67 || 10de:0548 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SiS || SiS5595 || 1039:0008 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| SiS || SiS630 || 1039:0630 || ?
|- bgcolor="#dddddd" valign="top"
| VIA || CX700 || 1106:8324 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || VT8231 || 1106:8231 || ?
|- bgcolor="#dddddd" valign="top"
| VIA || VT8233 || 1106:3074 || ?
|- bgcolor="#dddddd" valign="top"
| VIA || VT8235 || 1106:3177 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || VT8237 || 1106:3227 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || VT8237A || 1106:3337 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || VT8237S || 1106:3372 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || VX800 || 1106:8353 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || VT82C586A/B || 1106:0586 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || VT82C686A/B || 1106:0686 || ?
 
|}
 
|}
 
== Supported mainboards ==
 
In general, it is very likely that flashrom works out of the box even if your mainboard is not listed below.
 
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 chipset and flash 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|mailing list]].
 
'''Known good (worked out of the box)'''
 
Total amount of boards: '''77'''
 
{| border="0" valign="top"
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Mainboard
! align="left" | Status
 
|- bgcolor="#eeeeee" valign="top"
| Abit || [http://www.abit.com.tw/page/en/motherboard/motherboard_detail.php?DEFTITLE=Y&fMTYPE=Socket%20939&pMODEL_NAME=AX8 AX8] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Advantech || [http://taiwan.advantech.com.tw/products/Model_Detail.asp?model_id=1-1TGZL8&BU=ACG&PD= PCM-5820] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASI || [http://www.hojerteknik.com/winnet.htm MB-5BLMP] || {{OK}}<sup>1</sup>
|- bgcolor="#dddddd" valign="top"
| ASRock || [http://www.asrock.com/mb/overview.asp?Model=A770CrossFire&s=AM2%2b A770CrossFire] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com/Product.aspx?P_ID=wAsRYm41KTp78MFC A7N8X Deluxe] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com/products.aspx?l1=3&l2=13&l3=56&l4=0&model=217&modelmenu=1 A7N8X-E Deluxe] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com.tw/products.aspx?l1=3&l2=13&l3=63&l4=0&model=228&modelmenu=1 A7V400-MX] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com.tw/products.aspx?l1=3&l2=13&l3=64&l4=0&model=229&modelmenu=1 A7V8X-MX] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com.tw/products.aspx?l1=3&l2=15&l3=171&l4=0&model=455&modelmenu=2 A8N-E] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.hardwareschotte.de/hardware/preise/proid_1266090/preis_ASUS+A8NE-FM A8NE-FM/S] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://asus.com/product.aspx?P_ID=J9FKa8z2xVId3pDK A8N-SLI] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com.tw/products.aspx?l1=3&l2=15&l3=148&l4=0&model=539&modelmenu=1 A8N-SLI Premium] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com.tw/products.aspx?l1=3&l2=15&l3=143&l4=0&model=376&modelmenu=1 A8V-E Deluxe] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com.tw/products.aspx?l1=3&l2=15&l3=143&l4=0&model=576&modelmenu=1 A8V-E SE] || {{OK}}<sup>2</sup>
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com/products.aspx?l1=3&l2=101&l3=583&l4=0&model=1909&modelmenu=1 M2A-MX] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com.tw/products.aspx?l1=3&l2=101&l3=496&l4=0&model=1568&modelmenu=1 M2A-VM] || {{OK}}<sup>3</sup>
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com/products.aspx?l1=3&l2=101&l3=308&l4=0&model=1181&modelmenu=1 M2N-E] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://asus.com/Product.aspx?P_ID=OqYlEDFfF6ZqZGvp M2V] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.motherboard.cz/mb/asus/P2B.htm P2B] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [ftp://ftp.asus.com.tw/pub/ASUS/mb/slot1/440bx/p2b-d/ P2B-D] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [ftp://ftp.asus.com.tw/pub/ASUS/mb/slot1/440bx/p2b-ds/ P2B-DS] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.motherboard.cz/mb/asus/P2B-F.htm P2B-F] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.motherboard.cz/mb/asus/P2L97-S.htm P2L97-S] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [ftp://ftp.asus.com.tw/pub/ASUS/mb/socket775/P5B-Deluxe/ P5B-Deluxe] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com/product.aspx?P_ID=fFZ8oUIGmLpwNMjj P5KC] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || [http://www.asus.com/product.aspx?P_ID=iRlP8RG9han6saZx P6T Deluxe V2] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| A-Trend || [http://www.motherboard.cz/mb/atrend/atc6220.htm ATC-6220] || {{OK}}
 
|}
 
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Mainboard
! align="left" | Status
 
|- bgcolor="#eeeeee" valign="top"
| BCOM || [http://www.coreboot.org/BCOM_WINNET100_Build_Tutorial WinNET100] || {{OK}}<sup>4</sup>
|- bgcolor="#dddddd" valign="top"
| GIGABYTE || [http://www.gigabyte.com.tw/Products/Motherboard/Products_Spec.aspx?ClassValue=Motherboard&ProductID=1445&ProductName=GA-6BXC GA-6BXC] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| GIGABYTE || [http://www.gigabyte.com.tw/Products/Motherboard/Products_Spec.aspx?ProductID=1429 GA-6BXDU] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| GIGABYTE || [http://www.gigabyte.de/Support/Motherboard/BIOS_Model.aspx?ProductID=3289 GA-6ZMA] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| GIGABYTE || [http://www.gigabyte.com.tw/Products/Motherboard/Products_Spec.aspx?ProductID=1366 GA-7ZM] || {{OK}}<sup>5</sup>
|- bgcolor="#dddddd" valign="top"
| GIGABYTE || [http://www.gigabyte.com.tw/Products/Motherboard/Products_Overview.aspx?ProductID=2778 GA-EP35-DS3L] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Intel ||  EP80759 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Jetway || [http://www.jetway.com.tw/jetway/system/productshow2.asp?id=389&proname=J7F4K1G5D-P J7F4K1G5D-PB] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| MSI ||  MS-6570 (K7N2) || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| MSI ||  MS-7065 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| MSI || [http://support.packardbell.co.uk/uk/item/index.php?i=spec_orion&pi=platform_honeymoon_istart MS-7168 (Orion)] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| MSI || [http://global.msi.com.tw/index.php?func=prodmbspec&maincat_no=1&cat2_no=&cat3_no=&prod_no=1173#menu MS-7236 (945PL Neo3)] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| MSI || [http://us.msi.com/product/p_spec.asp?model=P4M890M MS-7255 (P4M890M)] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| MSI || [http://www.msi.com/index.php?func=prodcpusupport&maincat_no=1&cat2_no=170&cat3_no=&prod_no=1261#menu MS-7345 (P35 Neo2-FIR)] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| NEC || [http://support.necam.com/mobilesolutions/hardware/Desktops/pm2000/celeron/ PowerMate 2000] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| PC Engines || [http://pcengines.ch/alix1c.htm Alix.1c] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| PC Engines || [http://pcengines.ch/alix2c2.htm Alix.2c2] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| PC Engines || [http://pcengines.ch/alix2c3.htm Alix.2c3] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| PC Engines || [http://pcengines.ch/alix3c3.htm Alix.3c3] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| PC Engines || [http://pcengines.ch/alix3d3.htm Alix.3d3] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| RCA || [http://www.settoplinux.org RM4100] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Sun || [http://www.sun.com/servers/blades/x6250/ Blade x6250] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Supermicro || [http://www.supermicro.com/Aplus/motherboard/Opteron/nforce/H8QC8.cfm H8QC8] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Thomson || [http://www.settoplinux.org IP1000] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| T-Online || [http://wiki.freifunk-hannover.de/T-Online_S_100 S-100] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=610 iS5375-1U] || {{OK}}
 
|}
 
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Mainboard
! align="left" | Status
 
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/archive/products/html/tsunamiatx.html S1846] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=115 S2881] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=121 S2882] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=127 S2882-D] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=144 S2891] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=145 S2892] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/archive/products/html/thunderk8we.html S2895] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=181 S3095] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=456 S5180] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=343 S5191] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=349 S5197] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=591 S5211] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=593 S5211-1U] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=597 S5220] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=566 S5375] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=605 S5376G2NR/S5376WAG2NR] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=601 S5377] || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || [http://www.tyan.com/product_board_detail.aspx?pid=560 S5397] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || [http://www.via.com.tw/en/products/embedded/ProductDetail.jsp?productLine=1&motherboard_id=450 EPIA-EX15000G] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=473 EPIA-LN] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || [http://www.via.com.tw/en/products/embedded/ProductDetail.jsp?productLine=1&motherboard_id=470 EPIA-NX15000G] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=590 NAB74X0] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || [http://www.via.com.tw/en/initiatives/empowered/pc2500_mainboard/index.jsp pc2500e] || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=490 VB700X] || {{OK}}
 
|}
 
|}
 
<small>
<sup>1</sup> Used in the IGEL WinNET III thin client.<br />
<sup>2</sup> See http://www.coreboot.org/pipermail/coreboot/2007-October/026496.html.<br />
<sup>3</sup> See http://www.coreboot.org/pipermail/coreboot/2007-September/025281.html.<br />
<sup>4</sup> Used in the IGEL-316 thin client.<br />
<sup>5</sup> Works fine iff you remove jumper JP9 on the board and disable the flash protection BIOS option.<br />
</small>
 
'''Known good (with write-enable code in flashrom)'''
 
Total amount of boards: '''40'''
 
{| border="0" valign="top"
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Mainboard
! align="left" | Required option
! align="left" | Status
 
|- bgcolor="#eeeeee" valign="top"
| Acorp || 6A815EPD || -m acorp:6a815epd || {{OK}}
|- bgcolor="#dddddd" valign="top"
| agami || Aruma || -m AGAMI:ARUMA || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Albatron || PM266A || &mdash; || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Artec Group || DBE61 || -m artecgroup:dbe61 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Artec Group || DBE62 || -m artecgroup:dbe62 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || A7V8-MX SE || &mdash; || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || P4B266 || &mdash; || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| ASUS || P5A || -m asus:p5a || {{OK}}
|- bgcolor="#dddddd" valign="top"
| BioStar || P4M80-M4 || &mdash; || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Elitegroup || K7VTA3 || &mdash; || {{OK}}
|- bgcolor="#dddddd" valign="top"
| EPoX || EP-8K5A2 || &mdash; || {{OK}}
|- bgcolor="#dddddd" valign="top"
| EPoX || EP-BX3 || -m epox:ep-bx3 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| GIGABYTE || GA-2761GXDK || -m gigabyte:2761gxdk || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| GIGABYTE || GA-7VT600 || &mdash; || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| GIGABYTE || GA-K8N-SLI || &mdash; || {{OK}}
 
|}
 
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Mainboard
! align="left" | Required option
! align="left" | Status
 
|- bgcolor="#eeeeee" valign="top"
| GIGABYTE || GA-M57SLI-S4 || -m gigabyte:m57sli || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| GIGABYTE || GA-M61P-S3 || -m gigabyte:m61p || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| GIGABYTE || GA-MA78G-DS3H || &mdash; || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| GIGABYTE || GA-MA78GM-S2H || &mdash; || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| GIGABYTE || GA-MA790FX-DQ6 || -m gigabyte:ma790fx-dq6 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| HP || DL145 G3 || -m hp:dl145_g3 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| IBM || x3455 || -m ibm:x3455 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Intel || D201GLY || &mdash; || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| IWILL || DK8-HTX || -m iwill:dk8_htx || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Kontron || 986LCD-M || -m kontron:986lcd-m || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Kontron || 986LCD-M || -m kontron:986lcd-m || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Mitac || 6513WU || &mdash; || {{OK}}
|- bgcolor="#dddddd" valign="top"
| MSI || MS-6590 (KT4 Ultra) || -m msi:kt4ultra || {{OK}}
|- bgcolor="#dddddd" valign="top"
| MSI || MS-6702E (K8T Neo2-F) || &mdash; || {{OK}}
 
|}
 
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Mainboard
! align="left" | Required option
! align="left" | Status
 
|- bgcolor="#dddddd" valign="top"
| MSI || MS-6712 (KT4V) || -m msi:kt4v || {{OK}}
|- bgcolor="#dddddd" valign="top"
| MSI || MS-7046 || &mdash; || {{OK}}
|- bgcolor="#dddddd" valign="top"
| MSI || MS-7135 (K8N Neo3) || -m msi:k8n-neo3 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Shuttle || AK38N || &mdash; || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Soyo || SY-7VCA || &mdash; || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| Tyan || S2498 (Tomcat K7M) || &mdash; || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || EPIA-CN || &mdash; || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || EPIA M/MII/... || &mdash; || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || EPIA-N/NL || -m via:epia-n || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || EPIA SP || &mdash; || {{OK}}
|- bgcolor="#dddddd" valign="top"
| VIA || PC3500G || -m via:pc3500g || {{OK}}
 
|}


{|
|style="vertical-align:top"|
X
|style="vertical-align:top"|
'''<span style="font-variant:small-caps; font-size:150%">About</span>'''<br /><small>Find out more about flashrom.</small><small><hr />[[News]] | [[Press]] | [[Testimonials]] | [[History]] | [[Friendliness]] | Follow us on [https://twitter.com/flashrom_org Twitter] | [https://www.openhub.net/p/flashrom Open Hub] statistics</small>
|}
|}


'''Not supported (yet)'''
|style="vertical-align:top"|
 
Total amount of boards: '''19'''
 
{| border="0" valign="top"
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Mainboard
! align="left" | Status
 
|- bgcolor="#eeeeee" valign="top"
| Abit || [http://www.abit.com.tw/page/en/motherboard/motherboard_detail.php?pMODEL_NAME=IS-10&fMTYPE=Socket+478 IS-10] || {{No}}
|- bgcolor="#dddddd" valign="top"
| ASUS || [http://www.asus.com/product.aspx?P_ID=DVvm9CU0G1bCC4gp M3N78 Pro] || {{No}}
|- bgcolor="#dddddd" valign="top"
| ASUS || [ftp://ftp.asus.com.tw/pub/ASUS/mb/sock370/810/mew-am/ MEW-AM] || {{No}}
|- bgcolor="#dddddd" valign="top"
| ASUS || [http://www.elhvb.com/mboards/OEM/HP/manual/ASUS%20MEW-VM.htm MEW-VM] || {{No}}
|- bgcolor="#dddddd" valign="top"
| ASUS || [ftp://ftp.asus.com.tw/pub/ASUS/mb/slot1/440bx/p3b-f/ P3B-F] || {{No}}
|- bgcolor="#dddddd" valign="top"
| ASUS || [ftp://ftp.asus.com.tw/pub/ASUS/mb/socket775/P5B/ P5B] || {{No}}
|- bgcolor="#dddddd" valign="top"
| ASUS || [ftp://ftp.asus.com.tw/pub/ASUS/mb/socket775/P5B-VM/ P5BV-M] || {{No}}
|- bgcolor="#eeeeee" valign="top"
| Biostar || [ftp://ftp.biostar-usa.com/manuals/M6TBA/ M6TBA] || {{No}}


{|
|style="vertical-align:top"|
X
|style="vertical-align:top"|
'''<span style="font-variant:small-caps; font-size:150%">Developers</span>'''<br /><small>Get involved! Help us make flashrom better.</small><small><hr />[[Development Guidelines]] | [https://review.coreboot.org/plugins/gitiles/flashrom/+/refs/heads/master Browse Source] | [https://review.coreboot.org/#/q/project:flashrom Pending patches] | [[Technology]] | [[Random notes]] | [[Easy projects]] | [[Board Testing HOWTO]] | [[Board Enable]] | [http://docs.google.com/document/d/18qKvEbfPszjsJJGJhwi8kRVDUG3GZkADzQSH6WFsKqw/ Meeting notes] | [[Windows]] | [[libflashrom]] | [[https://www.flashrom.org/GSoC Google Summer of Code]]</small>
|}
|}


| valign="top"|
|-
 
| width=50% style="vertical-align:top"|
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Mainboard
! align="left" | Status
 
|- bgcolor="#dddddd" valign="top"
| Boser || [http://www.boser.com.tw/manual/HS-62376637v3.4.pdf HS-6637] || {{No}}
|- bgcolor="#eeeeee" valign="top"
| DFI ||  855GME-MGF || {{No}}
|- bgcolor="#dddddd" valign="top"
| FIC || [ftp://ftp.fic.com.tw/motherboard/manual/socket7/va-502/ VA-502] || {{No}}
|- bgcolor="#eeeeee" valign="top"
| MSI ||  MS-6178 || {{No}}<sup>1</sup>
|- bgcolor="#eeeeee" valign="top"
| MSI || [http://global.msi.com.tw/index.php?func=proddesc&prod_no=255&maincat_no=1 MS-7260 (K9N Neo)] || {{No}}<sup>2</sup>
|- bgcolor="#dddddd" valign="top"
| PCCHIPS || [http://motherboards.mbarron.net/models/pcchips/m537dma.htm M537DMA33] || {{No}}
|- bgcolor="#eeeeee" valign="top"
| Soyo || [http://www.soyo.com/content/Downloads/163/&c=80&p=464&l=English SY-5VD] || {{No}}


{|
|style="vertical-align:top"|
X
|style="vertical-align:top"|
'''<span style="font-variant:small-caps; font-size:150%">Getting Started</span>'''<br /><small>Download flashrom and get started.</small><small><hr />[[Latest release]] | [[Supported hardware]] | [[Downloads]] | [[Documentation]] | [[Live CD]] | [[qflashrom]]</small>
|}
|}


| valign="top"|
|style="vertical-align:top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Mainboard
! align="left" | Status
 
|- bgcolor="#dddddd" valign="top"
| Sun || [http://www.sun.com/servers/x64/x4150/ Fire x4150] || {{No}}
|- bgcolor="#dddddd" valign="top"
| Sun || [http://www.sun.com/servers/entry/x4200/ Fire x4200] || {{No}}
|- bgcolor="#dddddd" valign="top"
| Sun || [http://www.sun.com/servers/x64/x4540/ Fire x4540] || {{No}}
|- bgcolor="#dddddd" valign="top"
| Sun || [http://www.sun.com/servers/x64/x4600/ Fire x4600] || {{No}}


{|
|style="vertical-align:top"|
X
|style="vertical-align:top"|
'''<span style="font-variant:small-caps; font-size:150%">Support</span>'''<br /><small>Learn how to contact us and find help and support.</small><small><hr />[[FAQ]] | [[Contact]]  | [[Donations]] </small>
|}
|}


|}
|}
 
</td><td width="20%">
<!--
[[File:Flash-BGA.jpg|center|thumb|Flash chip in BGA package.]]
<br clear=all />
-->
'''<span style="font-variant:small-caps; font-size:120%">[[News]]</span>'''<hr />
<small>
<small>
<sup>1</sup> Immediately powers off if you try to hot-plug the chip. However, this does '''not''' happen if you use coreboot.<br />
* '''2023-02-08:''' [[Flashrom/1.3|flashrom 1.3 released]]
<sup>2</sup> Interestingly flashrom does not work when the vendor BIOS is booted, but it ''does'' work flawlessly when the machine is booted with coreboot.<br />
* '''2022-03-08:''' flashrom participates in [[GSoC]]
* '''2020-02-16:''' [[Flashrom/1.2|flashrom 1.2 released]]
* '''2019-06-22:''' [[Flashrom/1.1|flashrom 1.1 released]]
* '''2019-03-30:''' [[Flashrom/1.0.1|flashrom 1.0.1 released]]
* '''2018-01-02:''' [[Flashrom/1.0|flashrom 1.0 released]]
* '''2016-03-13:''' [[Flashrom/0.9.9|flashrom 0.9.9 released]]
* '''2015-03-01:''' [[Flashrom/0.9.8|flashrom 0.9.8 released]]
* '''2013-08-14:''' [[Flashrom/0.9.7|flashrom 0.9.7 released]]
* '''2013-04-08:''' flashrom participates in [[GSoC]]
* '''2012-08-08:''' [[Flashrom/0.9.6|flashrom 0.9.6.1 released]]
</small>
</small>


== Supported laptops/notebooks ==
<!--
 
'''<span style="font-variant:small-caps; font-size:120%">[[Current events|Upcoming Events]]</span>'''<hr />
In general, flashing laptops is more difficult because laptops
-->
 
<!-- List of upcoming events (remove events after they have taken place). -->
* often use the flash chip for stuff besides the BIOS,
* often have special protection stuff which has to be handled by flashrom,
* often use flash translation circuits which need drivers in flashrom.
 
<div style="margin-top:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#ff6666; align:right; border:1px solid #000000;">
'''IMPORTANT:''' At this point we recommend to '''not''' use flashrom on untested laptops unless you have a means to recover from a flashing that goes wrong (a working backup flash chip and/or good soldering skills).
</div>
 
'''Known good (worked out of the box)'''
 
Total amount of boards: '''1'''
 
{| border="0" valign="top"
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Mainboard
! align="left" | Status
 
|- bgcolor="#eeeeee" valign="top"
| Lenovo || [http://www5.pc.ibm.com/europe/products.nsf/products?openagent&brand=Lenovo3000Notebook&series=Lenovo+3000+V+Series#viewallmodelstop 3000 V100 TF05Cxx] || {{OK}}
 
|}
 
|}
 
'''Not supported (yet)'''
 
Total amount of boards: '''5'''
 
{| border="0" valign="top"
| valign="top"|
 
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Mainboard
! align="left" | Status
 
|- bgcolor="#eeeeee" valign="top"
| Acer ||  Aspire One || {{No}}<sup>1</sup>
|- bgcolor="#dddddd" valign="top"
| Dell || [http://www.coreboot.org/Dell_Latitude_CPi_A366XT Latitude CPi A366XT] || {{No}}<sup>2</sup>
|- bgcolor="#eeeeee" valign="top"
| HP/Compaq ||  nx9010 || {{No}}
|- bgcolor="#dddddd" valign="top"
| IBM/Lenovo || [http://www.thinkwiki.org/wiki/Category:T40p Thinkpad T40p] || {{No}}<sup>3</sup>
|- bgcolor="#dddddd" valign="top"
| IBM/Lenovo ||  240 || {{No}}
 
|}
 
|}
 
<small>
<small>
<sup>1</sup> See http://www.coreboot.org/pipermail/coreboot/2009-May/048041.html.<br />
<!-- * '''2009/mon/day:''' coreboot event at [[Link]] in somecity -->
<sup>2</sup> The laptop immediately powers off if you try to hot-swap the chip. It's not yet tested if write/erase would work on this laptop.<br />
<!-- * '''2009/12/27:''' coreboot presentation at [http://events.ccc.de/congress/2009/ 26C3] in Berlin -->
<sup>3</sup> Seems to (partially) work at first, but one block/sector cannot be written which then leaves you with a bricked laptop. Maybe this can be investigated and fixed in software later.<br />
</small>
</small>


== Supported programmers ==
This is a list of supported PCI devices flashrom can use as programmer:
{| border="0" valign="top"
| valign="top"|
{| border="0" style="font-size: smaller" valign="top"
|- bgcolor="#6699dd"
! align="left" | Vendor
! align="left" | Device
! align="left" | PCI IDs
! align="left" | Status


|- bgcolor="#eeeeee" valign="top"
</td></tr></table>
| 3COM || 3C90xB: PCI 10/100 Mbps; shared 10BASE-T/100BASE-TX || 10b7:9055 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| 3COM || 3C90xB: PCI 10/100 Mbps; shared 10BASE-T/100BASE-T4 || 10b7:9001 || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| 3COM || 3C90xB: PCI 10BASE-T (TPO) || 10b7:9004 || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| 3COM || 3C90xB: PCI 10BASE-T/10BASE2/AUI (COMBO) || 10b7:9005 || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| 3COM || 3C90xB: PCI 10BASE-T/10BASE2 (TPC) || 10b7:9006 || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| 3COM || 3C90xB: PCI 10BASE-FL || 10b7:900a || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| 3COM || 3C90xB: PCI 10BASE-FX || 10b7:905a || {{?2}}
|- bgcolor="#eeeeee" valign="top"
| 3COM || 3C905B: Cyclone 10/100/BNC || 10b7:9058 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| 3COM || 3C905C: EtherLink 10/100 PCI (TX) || 10b7:9200 || {{OK}}
|- bgcolor="#eeeeee" valign="top"
| 3COM || 3C980C: EtherLink Server 10/100 PCI (TX) || 10b7:9805 || {{?2}}
|- bgcolor="#dddddd" valign="top"
| Silicon Image || PCI0680 Ultra ATA-133 Host Ctrl || 1095:0680 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Silicon Image || SiI 3112 [SATALink/SATARaid] SATA Ctrl || 1095:3112 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Silicon Image || SiI 3114 [SATALink/SATARaid] SATA Ctrl || 1095:3114 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Silicon Image || SiI 3124 PCI-X SATA Ctrl || 1095:3124 || {{?}}
|- bgcolor="#dddddd" valign="top"
| Silicon Image || SiI 3132 SATA Raid II Ctrl || 1095:3132 || {{OK}}
|- bgcolor="#dddddd" valign="top"
| Silicon Image || SiI 3512 [SATALink/SATARaid] SATA Ctrl || 1095:3512 || {{?}}
 
|}
 
= Download & Installation =
 
If you just want to browse the source code, please go to [http://code.coreboot.org/p/flashrom/source/tree/HEAD/trunk http://code.coreboot.org/p/flashrom/source/tree/HEAD/trunk].
 
'''Requirements:'''
 
* '''pciutils''' development package ('''pciutils-dev'''/'''libpci-dev'''/'''pciutils-devel''', depending on OS/distribution)
* '''zlib''' development package ('''zlib1g-dev'''/'''zlib-devel''', depending on OS/distribution)
* '''libftdi''' development package ('''libftdi-dev'''), optional support for the external FT2232SPI flasher.
* '''subversion''' (if you checkout the source and build manually)
 
'''Manual Installation From Source:'''
 
$ '''svn co svn://coreboot.org/flashrom/trunk flashrom'''
$ '''cd flashrom'''
$ '''make'''
$ '''sudo make install'''
 
'''Binary Packages:'''
 
* '''Debian''': sudo aptitude install flashrom
* '''Ubuntu''': sudo aptitude install flashrom
* '''Fedora''': sudo yum install flashrom
* '''Gentoo''': emerge flashrom
* '''Mandriva''': urpmi flashrom
* '''openSUSE''': yast -i coreboot-utils
** For distributions older than openSUSE Factory (11.0) you find "backports" in the [http://packages.opensuse-community.org/index.jsp?searchTerm=coreboot-utils openSUSE Build Service].
* '''T2 SDE'''
** '''Installation from source:''' Emerge-Pkg flashrom
** '''Installation of binaries:''' mine -i flashrom-0.9.0.tar.bz2
* '''FreeBSD''': cd /usr/ports/sysutils/flashrom && make install clean
* '''Windows''': There is a Windows port of the flashrom utility. Download the latest version: [http://google-summer-of-code-2007-coresystems.googlecode.com/files/DarmawanMappatutu_Salihun.tar.gz DarmawanMappatutu_Salihun.tar.gz].
 
= Usage =
 
Please see the '''flashrom(8)''' manpage.
 
= FAQ / Troubleshooting =
 
This is a list of frequently asked questions about flashrom and the respective answers.
 
'''Q: flashrom doesn't seem to work on my board, what can I do?'''
 
There are multiple things you should check:
 
* If your board has a jumper for BIOS flash protection (check the manual), disable it.
* Should your BIOS menu have a BIOS flash protection option, disable it.
* If you run flashrom on a Linux system with kernels >= 2.6.27 there are two issues you have to check:
** TODO: '''X86_PAT''' and '''nopat'''
** TODO: '''CONFIG_STRICT_DEVMEM'''
 
= Fully testing flashrom chip/southbridge/mainboard support =
 
See [[Board Testing HOWTO#Flashrom|this page]] for instructions on how to test flashrom properly (this may be risky, make sure you have a working backup flash chip).
 
= Flashrom Live CD =
 
See [[Flashrom/Live CD]].
 
= Flash chip overview =
 
Modern mainboards store the BIOS in a reprogrammable flash chip. There are hundreds of different flash (EEPROM) chips, with variables such as memory size, speed, communication bus (Parallel, LPC, FWH, SPI) and packaging to name just a few.
 
== Packaging/housing/form factor ==
 
Probably the only property of flash chips which is completely irrelevant to flashrom. The three most common packages are called '''DIP''', '''PLCC''' and '''TSOP'''. The BIOS copyright holders often place a fancy sticker on the BIOS chip showing a name or logo, BIOS version, serial number and copyright notice.
 
'''DIP32: Dual In-line Package, 32 pins'''
 
<gallery>
File:Dip32 chip.jpg|<small>DIP32 top</small>
File:Dip32 chip back.jpg|<small>DIP32 bottom</small>
File:Dip32 in socket.jpg|<small>DIP32 in a socket</small>
File:Empty dip32 socket.jpg|<small>DIP32 socket</small>
File:Dip tool.jpg|<small>DIP32 extractor tool</small>
</gallery>
 
A rectangular black plastic block with 16 pins along each of the two longer sides of the package (32 pins in total). DIP32 chips can be '''socketed''' which means they are detachable from the mainboard using physical force. Since they haven't been moved in and out of the socket very much (yet, hehe) they can appear to be quite difficult to release from the socket. One way to remove a DIP32 chip from a socket is by prying a '''thin screwdriver''' in between the plastic package and the socket, along the shorter sides where there are no pins, and then gently bending the screwdriver to push the chip upwards, away from the mainboard. Alternate between the two sides to avoid bending the pins, and don't touch any of the pins with the screwdriver (see FAQ about ESD, electro-static discharge). If the chip is soldered directly to the mainboard, it has to be desoldered in order to be reprogrammed outside the mainboard. If you do this, it's a good idea to solder a socket to the mainboard instead, to ease any future experiments.
 
'''PLCC32: Plastic Leaded Chip Carrier, 32 pins'''
 
<gallery>
File:Plcc32 chip.jpg|<small>PLCC32 top</small>
File:Plcc32 chip back.jpg|<small>PLCC32 bottom</small>
File:Plcc32 in socket.jpg|<small>PLCC32 in a socket</small>
File:Empty plcc32 socket.jpg|<small>PLCC32 socket</small>
File:Soldered plcc32.jpg|<small>Soldered PLCC32</small>
File:Dual_plcc32_soldered.jpg|<small>Two soldered PLCC32</small>
File:Bios savior.jpg|<small>PLCC32 Bios Savior</small>
File:Top hat flash.JPG|<small>PLCC32 Top-Hat-Flash adapter</small>
File:Pushpin roms 2.jpg|<small>PLCC32 pushpin trick</small>
File:Plcc_tool.jpg|<small>PLCC extractor tool</small>
</gallery>
 
Black plastic block again, but this one is much more square. PLCC32 was becoming the standard for mainboards after DIP32 chips because of it's smaller physical size. PLCC can also be '''socketed''' or '''soldered directly to the mainboard'''. Socketed PLCC32 chips can be removed using a special '''PLCC removal tool''', or using a '''piece of nylon line''' tied in a loop around the chip and pulled swiftly straight up, or bending/prying using small screwdrivers if one is careful. PLCC32 sockets are often fragile so the '''screwdriver approach is not recommended'''. While the nylon line method sounds strange it works well. Desoldering PLCC32 can be painful without specialized desoldering equipment particularly because PLCC32 chips have leads on all four sides of the package, but it's [[Soldering a socket on your board|certainly doable]].
 
'''DIP8: Dual In-line Package, 8 pins'''
 
<gallery>
File:Dip8 chip.jpg|<small>DIP8 top</small>
File:Dip8 chip back.jpg|<small>DIP8 bottom</small>
File:Dip8 in socket.jpg|<small>DIP8 in a socket</small>
File:Empty dip8 socket.jpg|<small>DIP8 socket</small>
</gallery>
 
'''SO8/SOIC8: Small-Outline Integrated Circuit, 8 pins'''
 
<gallery>
File:Soic8_chip.jpg|<small>Soldered SOIC8</small>
File:Spi-socket-dscn2913-1024x768.jpg|<small>SOIC8 adapter</small>
</gallery>
 
'''TSOP: Thin Small-Outline Package'''
 
<gallery>
File:Soldered tsop40.jpg|<small>Soldered TSOP40</small>
File:Soldered tsop48.jpg|<small>Soldered TSOP48</small>
</gallery>
 
TSOPs are often used in embedded systems where size is important and there is no need for replacement in the field. It is possible to (de)solder TSOPs by hand, but it's not trivial and a reasonable amount of soldering skills are required.
 
== Communication bus protocol ==
 
There are four major communication bus protocols for flash chips, each with multiple subtle variants in the command set:
 
* '''Parallel:''' The oldest flash bus, phased out on mainboards around 2002.
* '''LPC:''' Low Pin Count, a standard introduced ca. 1998.
* '''FWH:''' Firmware Hub, a variant of the LPC standard introduced at the same time. FWH is a special case variant of LPC with one bit set differently in the memory read/write commands. That means some data sheets mention the chips speak LPC although they will not respond to regular LPC read/write cycles.
* '''SPI:''' Serial Peripheral Interface, introduced ca. 2006.
 
Here's an attempt to create a marketing language -> chip type mapping:
 
* JEDEC Flash -> Parallel (well, mostly)
* FWH -> FWH
* Firmware Hub -> FWH
* LPC Firmware -> FWH
* Firmware Memory -> FWH
* Low Pin Count (if Firmware/FWH is not mentioned) -> LPC
* LPC (if Firmware is not mentioned) -> LPC
* Serial Flash -> SPI
 
SST data sheets have the following conventions:
 
* LPC Memory Read -> LPC
* Firmware Memory Read -> FWH
 
If both are mentioned, the chip supports both.
 
If you're not sure about whether a device is LPC or FWH, look at the read/write cycle definitions.
 
{| border="0" style="font-size: smaller"
|- bgcolor="#6699ff"
|+ '''FWH'''
!Clock Cycle !! Field Name !! Field contents !! Comments
|- bgcolor="#eeeeee"
| 1 || START || 1101/1110 || 1101 for READ, 1110 for WRITE.
|- bgcolor="#eeeeee"
| 2 || IDSEL || 0000 to 1111 || IDSEL value to be shifted out to the chip.
|- bgcolor="#eeeeee"
| 3-9 || IMADDR || YYYY || The address to be read/written. 7 cycles total == 28 bits.
|- bgcolor="#eeeeee"
| 10+ || ... || ... || ...
|}
 
{| border="0" style="font-size: smaller"
|- bgcolor="#6699ff"
|+ '''LPC'''
!Clock Cycle !! Field Name !! Field contents !! Comments
|- bgcolor="#eeeeee"
| 1 || START || 0000 || ...
|- bgcolor="#eeeeee"
| 2 || CYCLETYPE+DIRECTION || 010X/011X || 010X for READ, 011X for WRITE. X means "reserved".
|- bgcolor="#eeeeee"
| 3-10 || ADDRESS || YYYY || The address to be read/written. 8 cycles total == 32 bits.
|- bgcolor="#eeeeee"
| 11+ || ... || ... || ...
|}


Generally, a parallel flash chip will not speak any other protocols. SPI flash chips also don't speak any other protocols. LPC flash chips sometimes speak FWH as well and vice versa, but they will not speak any protocols besides LPC/FWH.
__NOTOC__
__NOEDITSECTION__

Latest revision as of 22:05, 22 February 2023

flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various other programmer devices.

  • Supports more than 476 flash chips, 291 chipsets, 500 mainboards, 79 PCI devices, 17 USB devices and various parallel/serial port-based programmers.
  • Supports parallel, LPC, FWH and SPI flash interfaces and various chip packages (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40, TSOP48, BGA and more)
  • No physical access needed, root access is sufficient (not needed for some programmers).
  • No bootable floppy disk, bootable CD-ROM or other media needed.
  • No keyboard or monitor needed. Simply reflash remotely via SSH.
  • No instant reboot needed. Reflash your chip in a running system, verify it, be happy. The new firmware will be present next time you boot.
  • Crossflashing and hotflashing is possible as long as the flash chips are electrically and logically compatible (same protocol). Great for recovery.
  • Scriptability. Reflash a whole pool of identical machines at the same time from the command line. It is recommended to check flashrom output and error codes.
  • Speed. flashrom is often much faster than most vendor flash tools.
  • Portability. Supports DOS, Linux, FreeBSD (including Debian/kFreeBSD), NetBSD, OpenBSD, DragonFlyBSD, anything Solaris-like, Mac OS X, and other Unix-like OSes as well as GNU Hurd. Partial Windows support is available (no internal programmer support at the moment, hence no "BIOS flashing").

Emergency help

IMPORTANT: If something went wrong during flashing, do NOT turn off/reboot your computer. Instead, let us help you recover. We can be contacted via IRC (#flashrom on libera.chat, webchat) or email. Please allow for a few hours until someone responds on IRC, we're all volunteers.

X

About
Find out more about flashrom.
News | Press | Testimonials | History | Friendliness | Follow us on Twitter | Open Hub statistics

X

Developers
Get involved! Help us make flashrom better.
Development Guidelines | Browse Source | Pending patches | Technology | Random notes | Easy projects | Board Testing HOWTO | Board Enable | Meeting notes | Windows | libflashrom | [Google Summer of Code]

X

Getting Started
Download flashrom and get started.
Latest release | Supported hardware | Downloads | Documentation | Live CD | qflashrom

X

Support
Learn how to contact us and find help and support.
FAQ | Contact | Donations
News