flashrom: Trivial README change Flashrom->flashrom
[coreboot.git] / util / flashrom / README
index 312304b5b468fc17913c34dca87aa510d71de983..b13d1a734fd6c311bddf7e1b4553d2cd06289724 100644 (file)
@@ -1,9 +1,13 @@
 -------------------------------------------------------------------------------
-Flashrom README
+flashrom README
 -------------------------------------------------------------------------------
 
-Flashrom is a universal flash programming utility for DIP, PLCC, or SPI
-flash ROM chips. It can be used to flash BIOS/coreboot/firmware images.
+flashrom is a utility for reading, writing, and erasing flash ROM chips.
+It's often used to flash BIOS/coreboot/firmware images.
+
+It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, and
+TSOP40 chips, which use various protocols such as LPC, FWH, parallel flash,
+or SPI.
 
 (see http://coreboot.org for details on coreboot)
 
@@ -11,64 +15,64 @@ flash ROM chips. It can be used to flash BIOS/coreboot/firmware images.
 Build Requirements
 ------------------
 
-To build the flashrom utility you need to have the following packages
-installed on your Linux system:
+To build the flashrom utility you need to install the following packages:
 
 * pciutils
-* pciutils-devel / pciutils-dev
+* pciutils-devel / pciutils-dev / libpci-dev
 * zlib-devel / zlib1g-dev
 
 
 Usage
 -----
 
- $ 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
-   -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
+ $ flashrom [-rwvEVfLhR] [-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
+   -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
+   -L | --list-supported:            print supported devices
+   -h | --help:                      print this help text
+   -R | --version:                   print the version (release)
 
  If no file is specified, then all that happens
  is that flash info is dumped and the flash chip is set to writable.
 
 
+Exit status
+-----------
+
+flashrom exits with 0 on success, 1 on most failures but with 2 if /dev/mem
+(/dev/xsvc on Solaris) can not be opened and with 3 if a call to mmap() fails.
+
+
 coreboot Table and Mainboard Identification
 --------------------------------------------
 
-Flashrom reads the coreboot table to determine the current mainboard
-(parse DMI as well in future?). If no coreboot table could be read
-or if you want to override these values, you can specify -m, e.g.:
+flashrom reads the coreboot table to determine the current mainboard. If no
+coreboot 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
$ flashrom -w --mainboard AGAMI:ARUMA agami_aruma.rom
 
-The following boards require the specification of the board name, if
-no coreboot table is found:
-
-* 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
+See the 'Supported mainboards' section in the output of 'flashrom -L' for
+a list of boards which require the specification of the board name, if no
+coreboot table is found.
 
 
 ROM Layout Support
 ------------------
 
-Flashrom supports ROM layouts. This allows you to flash certain parts of
+flashrom supports ROM layouts. This allows you to flash certain parts of
 the flash chip only. A ROM layout file looks like follows:
 
   00000000:00008fff gfxrom
@@ -95,98 +99,11 @@ 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
-Spansion S25FL016A
-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
+Supported Flash Chips / Chipsets / Mainboards
+---------------------------------------------
+
+Please check the output of 'flashrom -L' for the list of supported
+flash chips, chipsets/southbridges, and mainboards.
+
+See also http://coreboot.org/Flashrom for more details.