Add 25VF016B support to flashrom. Untested, but verified against the
[coreboot.git] / util / flashrom / README
index fd91cb6f5504b9a3d2da19aa557be02fa712d39c..9f842ff508a46f93a9dd15731901f9d2883a57d0 100644 (file)
@@ -1,53 +1,71 @@
-This is the universal LinuxBIOS flash utility.
+-------------------------------------------------------------------------------
+Flashrom README
+-------------------------------------------------------------------------------
 
-build requirements
+This is the universal (LinuxBIOS) flash utility.
+
+Build Requirements
 ------------------
 
 To build the flashrom utility you need to have the following packages
-installed on your linux system:
+installed on your Linux system:
 
 * pciutils
-* pciutils-devel
+* pciutils-devel / pciutils-dev
+* zlib-devel / zlib1g-dev
 
 
-usage
+Usage
 -----
 
-usage: ./flashrom [-rwvE] [-V] [-c chipname] 
-                           [-s exclude_start] [-e exclude_end] [file]
-
-   -r | --read:   read flash and save into file
-   -w | --write:  write file into flash (default when file is specified)
-   -v | --verify: verify flash against file
-   -E | --erase: Erase flash device
-   -V | --verbose: more verbose output
-
-   -c | --chip <chipname>: probe only for specified flash chip
-   -s | --estart <addr>: exclude start position
-   -e | --eend <addr>: exclude end postion
+ $ flashrom [-rwvEVfh] [-c chipname] [-s exclude_start] [-e exclude_end]
+            [-m vendor:part] [-l file.layout] [-i imagename] [file]
+   -r | --read:                    read flash and save into file
+   -w | --write:                   write file into flash (default when
+                                   file is specified)
+   -v | --verify:                  verify flash against file
+   -E | --erase:                   erase flash device
+   -V | --verbose:                 more verbose output
+   -c | --chip <chipname>:         probe only for specified flash chip
+   -s | --estart <addr>:           exclude start position
+   -e | --eend <addr>:             exclude end postion
    -m | --mainboard <vendor:part>: override mainboard settings
-   -l | --layout <file.layout>: read rom layout from file
-   -i | --image <name>: only flash image name from flash layout
+   -f | --force:                   force write without checking image
+   -l | --layout <file.layout>:    read rom layout from file
+   -i | --image <name>:            only flash image name from flash layout
 
  If no file is specified, then all that happens
  is that flash info is dumped and the flash chip is set to writable.
 
 
-LinuxBIOS table and Mainboard identification
+LinuxBIOS Table and Mainboard Identification
 --------------------------------------------
 
-flashrom reads the LinuxBIOS table to determine the current mainboard.
-(Parse DMI as well in future?) If no LinuxBIOS table could be read
-or if you want to override these values, you can to specify -m ie.:
+Flashrom reads the LinuxBIOS table to determine the current mainboard
+(parse DMI as well in future?). If no LinuxBIOS table could be read
+or if you want to override these values, you can specify -m, e.g.:
+
+  flashrom -w --mainboard AGAMI:ARUMA agami_aruma.rom
+
+The following boards require the specification of the board name, if
+no LinuxBIOS table is found:
 
-     flashrom -w --mainboard ISLAND:ARUMA island_aruma.rom
+* IWILL DK8-HTX: use -m iwill:dk8_htx
+* Agami Aruma: use -m AGAMI:ARUMA
+* ASUS P5A: use -m asus:p5a
+* IBM x3455: use -m ibm:x3455
+* EPoX EP-BX3: use -m epox:ep-bx3
+* GIGABYTE GA-M57SLI-S4 v2.0: use -m gigabyte:m57sli
+* GIGABYTE GA-M61P-S3: use -m gigabyte:m61p
+* MSI K8N Neo3: use -m msi:k8n-neo3
+* Acorp 6A815EPD: use -m acorp:6a815epd
 
 
-rom layout support
+ROM Layout Support
 ------------------
 
-flashrom supports rom layouts. This allows to flash certain parts of
-the flash chip only. A rom layout file looks like follows:
+Flashrom supports ROM layouts. This allows to flash certain parts of
+the flash chip only. A ROM layout file looks like follows:
 
   00000000:00008fff gfxrom
   00009000:0003ffff normal
@@ -56,27 +74,114 @@ the flash chip only. A rom layout file looks like follows:
   i.e.:
   startaddr:endaddr name
 
-  all addresses are offsets within the file, not absolute addresses!
+  All addresses are offsets within the file, not absolute addresses!
   
-If you only want to update the normal image in a rom you can say:
+If you only want to update the normal image in a ROM you can say:
 
-     flashrom -w --layout rom.layout --image normal island_aruma.rom
+  flashrom -w --layout rom.layout --image normal agami_aruma.rom
      
-To update normal and fallback but leave the vga bios alone, say:
+To update normal and fallback but leave the VGA BIOS alone, say:
 
-     flashrom -w -l rom.layout -i normal -i fallback island_aruma.rom
+  flashrom -w -l rom.layout -i normal -i fallback agami_aruma.rom
  
-Currently overlapping sections are not spported.
-
-rom layouts should replace the -s and -e option since they are more 
-flexible and they should lead to a rom update file format with the 
-rom layout and the rom image in one file (cpio, zip or something?)
-
-
-DOC support
------------
-
-DISK on Chip support is currently disabled since it is considered unstable. 
-Change CFLAGS in the Makefile to enable it.
-
+Currently overlapping sections are not supported.
+
+ROM layouts should replace the -s and -e option since they are more 
+flexible and they should lead to a ROM update file format with the 
+ROM layout and the ROM image in one file (cpio, zip or something?).
+
+
+Disk on Chip support
+--------------------
+
+Disk on Chip support is currently disabled since it is considered unstable. 
+Change CFLAGS in the Makefile to enable it: Remove -DDISABLE_DOC from CFLAGS.
+
+
+Supported Flash Chips
+---------------------
+
+AMD AM-29F040B
+AMD AM-29F016D
+ASD AE49F2008
+Atmel AT-29C040A
+Atmel AT-29C020
+EMST F49B002UA
+Intel 82802AB (Firmware Hub) 
+Intel 82802AC (Firmware Hub) 
+M-Systems MD-2802 (unsupported, disabled by default)
+MX MX-29F002
+PMC PMC-49FL002
+PMC PMC-49FL004
+Sharp LHF-00L04
+SST SST-29EE020A
+SST SST-28SF040A
+SST SST-39SF010A
+SST SST-39SF020A
+SST SST-39SF040
+SST SST-39VF020
+SST SST-49LF040B
+SST SST-49LF040
+SST SST-49LF020A
+SST SST-49LF080A
+SST SST-49LF160C
+SST SST-49LF002A/B
+SST SST-49LF003A/B
+SST SST-49LF004A/B
+SST SST-49LF008A
+SST SST-49LF004C
+SST SST-49LF008C
+SST SST-49LF016C
+ST ST-M50FLW040A
+ST ST-M50FLW040B
+ST ST-M50FLW080A
+ST ST-M50FLW080B
+ST ST-M50FW040
+ST ST-M50FW080
+ST ST-M50FW016
+ST ST-M50LPW116
+ST ST-M29F002B
+ST ST-M29F002T
+ST ST-M29F002NT
+ST ST-M29F400BT
+ST ST-M29F040B
+ST ST-M29W010B
+ST 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
+
+
+Supported Southbridges
+----------------------
+
+AMD CS5530/CS5530A
+AMD Geode SC1100
+AMD AMD-8111
+ATI SB400
+Broadcom HT-1000
+Intel ICH0-ICH8 (all variations)
+Intel PIIX4/PIIX4E/PIIX4M
+NVIDIA CK804
+NVIDIA MCP51
+NVIDIA MCP55
+SiS 630
+SiS 5595
+VIA CX700
+VIA VT8231
+VIA VT8235
+VIA VT8237
+VIA VT82C686