flashrom: Trivial README change Flashrom->flashrom
[coreboot.git] / util / flashrom / README
index 2c83b43d3a47b5a629262e5cbc497be11b526e7e..b13d1a734fd6c311bddf7e1b4553d2cd06289724 100644 (file)
@@ -1,57 +1,78 @@
 -------------------------------------------------------------------------------
-Flashrom README
+flashrom README
 -------------------------------------------------------------------------------
 
-This is the universal (LinuxBIOS) flash utility.
+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)
+
 
 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
 -----
 
-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.
 
 
-LinuxBIOS Table and Mainboard Identification
+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 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 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 ISLAND:ARUMA island_aruma.rom
+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 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
@@ -61,96 +82,28 @@ 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:
 
-     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:
 
-     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 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?)
+ROM layout and the ROM image in one file (cpio, zip or something?).
 
 
-DOC support
------------
+Supported Flash Chips / Chipsets / Mainboards
+---------------------------------------------
+
+Please check the output of 'flashrom -L' for the list of supported
+flash chips, chipsets/southbridges, and mainboards.
 
-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
-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-M29F400BT
-ST ST-M29F040B
-SyncMOS S29C51001T/B
-SyncMOS S29C51002T/B
-SyncMOS S29C51004T/B
-SyncMOS S29C31004T
-Winbond W29C011
-Winbond W29C020C
-Winbond W49F002U
-Winbond W49V002A
-Winbond W49V002FA
-Winbond W39V040A
-Winbond W39V040B
-Winbond W39V080A
-
-
-Supported Southbridges
-----------------------
-
-AMD CS5530
-AMD Geode SC1100
-AMD AMD-8111
-ATI SB400
-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
+See also http://coreboot.org/Flashrom for more details.