.TH FLASHROM 8 "May 21, 2009"
.SH NAME
flashrom \- detect, read, write, verify and erase flash chips
.SH SYNOPSIS
.B flashrom \fR[\fB\-VfLzhR\fR] [\fB\-E\fR|\fB\-r\fR file|\fB\-w\fR file|\fB\-v\fR file]
         [\fB\-c\fR chipname] [\fB\-m\fR [vendor:]part]
         [\fB\-l\fR file] [\fB\-i\fR image] [\fB\-p\fR programmer]
.SH DESCRIPTION
.B flashrom
is a utility for detecting, reading, writing, verifying and erasing flash
chips. It's often used to flash BIOS/EFI/coreboot/firmware images in-system
using a supported mainboard, but it also supports flashing of network cards
(NICs), SATA controller cards, and other external devices which can program
flash chips.
.PP
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.
.PP
(see
.B http://coreboot.org
for details on coreboot)
.SH OPTIONS
Please note that the command line interface for flashrom will change before
flashrom 1.0. Do not use flashrom in scripts or other automated tools without
checking that your flashrom version won't interpret options in a different way.
.PP
You can specify one of -E, -r, -w, -v or no operation.
If no operation is specified, then all that happens
is that flash info is dumped and the flash chip is set to writable.
.TP
.B "\-r, \-\-read <file>"
Read flash ROM contents and save them into the given
.BR <file> .
.TP
.B "\-w, \-\-write <file>"
Write file into flash ROM (default when
.B <file>
is specified).
.TP
.B "\-v, \-\-verify <file>"
Verify the flash ROM contents against the given
.BR <file> .
.TP
.B "\-E, \-\-erase"
Erase the flash ROM chip.
.TP
.B "\-V, \-\-verbose"
More verbose output.
.TP
.B "\-c, \-\-chip" <chipname>
Probe only for specified flash ROM chip.
.sp
flashrom supports ROM layouts. This allows you to flash certain parts of
the flash chip only. A ROM layout file looks like follows:
.sp
  00000000:00008fff gfxrom
  00009000:0003ffff normal
  00040000:0007ffff fallback
.sp
  i.e.:
  startaddr:endaddr name
.sp
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:
.sp
.B "  flashrom -w --layout rom.layout --image normal agami_aruma.rom"
.sp
To update normal and fallback but leave the VGA BIOS alone, say:
.sp
.B "  flashrom -w -l rom.layout -i normal \"
.br
.B "           -i fallback agami_aruma.rom"
.sp
Currently overlapping sections are not supported.
.sp
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?).
.TP
.B "\-m, \-\-mainboard" <[vendor:]part>
Override mainboard settings.
.sp
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.:
.sp
.B "  flashrom -w --mainboard AGAMI:ARUMA agami_aruma.rom"
.sp
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.
.TP
.B "\-f, \-\-force"
Force write without checking whether the ROM image file is really meant
to be used on this board.
.sp
Note: This check only works while coreboot is running, and only for those
boards where the coreboot code supports it.
.TP
.B "\-l, \-\-layout <file>"
Read ROM layout from
.BR <file> .
.TP
.B "\-i, \-\-image <name>"
Only flash image
.B <name>
from flash layout.
.TP
.B "\-L, \-\-list\-supported"
List the flash chips, chipsets, mainboards, and PCI card "programmers"
supported by flashrom.
.sp
There are many unlisted boards which will work out of the box, without
special support in flashrom. Please let us know if you can verify that
other boards work or do not work out of the box. For verification you have
to test an ERASE and/or WRITE operation, so make sure you only do that
if you have proper means to recover from failure!
.TP
.B "\-z, \-\-list\-supported-wiki"
Same as
.BR \-\-list\-supported ,
but outputs the supported hardware in MediaWiki syntax, so that it can be
easily pasted into the wiki page at http://coreboot.org/Flashrom.
.TP
.B "\-p, \-\-programmer <name>"
Specify the programmer device. Currently supported are:
.sp
.BR "* internal" " (default, for in-system flashing in the mainboard)"
.sp
.BR "* dummy" " (just prints all operations and accesses)"
.sp
.BR "* nic3com" " (for flash ROMs on 3COM network cards)"
.sp
.BR "* satasii" " (for flash ROMs on Silicon Image SATA/IDE controllers)"
.sp
.BR "* it87spi" " (for flash ROMs behind an ITE IT87xx Super I/O LPC/SPI translation unit)"
.sp
.BR "* ft2232spi" " (for flash ROMs attached to a FT2232H/FT4232H based USB SPI programmer)"
.sp
The dummy programmer has an optional parameter specifying the bus types it
should support. For that you have to use the
.B "flashrom -p dummy=type"
syntax where
.B type
can be any comma-separated combination of
.B parallel lpc fwh spi all
in any order.
.sp
Example:
.B "flashrom -p dummy=lpc,fwh"
.sp
If you have multiple supported PCI cards which can program flash chips
(NICs, SATA/IDE controllers, etc.) in your system, you must use the
.B "flashrom -p xxxx=bb:dd.f"
syntax to explicitly select one of them, where
.B xxxx
is the name of the programmer
.B bb
is the PCI bus number,
.B dd
is the PCI device number, and
.B f
is the PCI function number of the desired NIC.
.sp
Example:
.B "flashrom -p nic3com=05:04.0"
.sp
Currently the following programmers support this mechanism:
.BR nic3com ,
.BR satasii .
.TP
.B "\-h, \-\-help"
Show a help text and exit.
.TP
.B "\-R, \-\-version"
Show version information and exit.
.SH 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.
.SH BUGS
Please report any bugs at
.BR http://tracker.coreboot.org/trac/coreboot/newticket ","
or on the coreboot mailing list
.RB "(" http://coreboot.org/Mailinglist ")."
.SH LICENCE
.B flashrom
is covered by the GNU General Public License (GPL), version 2. Some files are
additionally available under the GPL (version 2, or any later version).
.SH COPYRIGHT
.br
Please see the individual files.
.SH AUTHORS
Carl-Daniel Hailfinger
.br
Claus Gindhart <claus.gindhart@kontron.com>
.br
Dominik Geyer <dominik.geyer@kontron.com>
.br
Eric Biederman <ebiederman@lnxi.com>
.br
Giampiero Giancipoli <gianci@email.it>
.br
Joe Bao <Zheng.Bao@amd.com>
.br
Luc Verhaegen <libv@skynet.be>
.br
Li-Ta Lo
.br
Markus Boas <ryven@ryven.de>
.br
Nikolay Petukhov <nikolay.petukhov@gmail.com>
.br
Peter Stuge <peter@stuge.se>
.br
Reinder E.N. de Haan <lb_reha@mveas.com>
.br
Ronald G. Minnich <rminnich@gmail.com>
.br
Ronald Hoogenboom <ronald@zonnet.nl>
.br
Stefan Reinauer <stepan@coresystems.de>
.br
Stefan Wildemann <stefan.wildemann@kontron.com>
.br
Steven James <pyro@linuxlabs.com>
.br
Uwe Hermann <uwe@hermann-uwe.de>
.br
Wang Qingpei <Qingpei.Wang@amd.com>
.br
Yinghai Lu <yinghai.lu@amd.com>
.br
some others 
.PP
This manual page was written by Uwe Hermann <uwe@hermann-uwe.de>.
It is licensed under the terms of the GNU GPL (version 2 or later).
