coreboot-kgpe-d16/util/flashrom
Uwe Hermann d086e5d966 Some coding style and consistency fixes (trivial).
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4117 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-04-15 10:52:49 +00:00
..
82802ab.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
COPYING Add a copy of the GPL in the flashrom repository as it's an independent 2007-09-08 14:36:01 +00:00
Makefile flashrom: Driver for ST M29F002T/NT/B. T/NT TEST_OK_ PROBE READ ERASE WRITE 2009-01-26 06:42:02 +00:00
README Mention a few more flash chip packages in README/manpage. 2009-04-11 13:59:00 +00:00
am29f040b.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
board_enable.c Fixed the typo should indeed be a 0x2e. 2009-04-09 14:28:36 +00:00
cbtable.c Some coding style and consistency fixes (trivial). 2009-04-15 10:52:49 +00:00
chipset_enable.c Some coding style and consistency fixes (trivial). 2009-04-15 10:52:49 +00:00
coreboot_tables.h This patch adds "high coreboot table support" to coreboot version 2. 2009-03-17 14:39:25 +00:00
en29f002a.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
flash.h FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
flashchips.c Move the Atmel AT45 comments about block and page sizes from the end of 2009-03-19 12:18:13 +00:00
flashrom.8 Mention a few more flash chip packages in README/manpage. 2009-04-11 13:59:00 +00:00
flashrom.c flashrom: Fix broken flash chip base address logic 2009-02-09 20:26:14 +00:00
ichspi.c Some coding style and consistency fixes (trivial). 2009-04-15 10:52:49 +00:00
it87spi.c flashrom: IT8718F works just like IT8716F. 2009-01-12 21:28:03 +00:00
jedec.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
layout.c flashrom: Check return value of fscanf()/fwrite()/fread() 2009-01-12 21:00:35 +00:00
m29f002.c Some coding style and consistency fixes (trivial). 2009-04-15 10:52:49 +00:00
m29f400bt.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
mx29f002.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
physmap.c Some coding style and consistency fixes (trivial). 2009-04-15 10:52:49 +00:00
pm49fl00x.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
sb600spi.c Fix typo. Add missing copyright year. 2009-04-13 21:35:49 +00:00
sharplhf00l04.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
spi.c Some coding style and consistency fixes (trivial). 2009-04-15 10:52:49 +00:00
spi.h Declare special commands to support the Atmel AT25F512A. 2008-11-28 23:47:55 +00:00
sst28sf040.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
sst39sf020.c I looked at the datasheet and erase_sector_39sf020() is totally and 2008-05-16 21:11:53 +00:00
sst49lf040.c Reduce serial output, otherwise flashing will fail very often (trivial). 2008-10-21 22:09:02 +00:00
sst49lfxxxc.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
sst_fwhub.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
stm50flw0x0x.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
udelay.c Some coding style and consistency fixes (trivial). 2009-04-15 10:52:49 +00:00
w29ee011.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
w39v040c.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
w39v080fa.c FreeBSD definitions of (read|write)[bwl] collide with our own. Before we 2009-03-06 22:26:00 +00:00
w49f002u.c Some cosmetic cleanups in the flashrom code and output. 2007-10-17 23:55:15 +00:00
wbsio_spi.c Some coding style and consistency fixes (trivial). 2009-04-15 10:52:49 +00:00

README

-------------------------------------------------------------------------------
Flashrom README
-------------------------------------------------------------------------------

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 install the following packages:

* pciutils
* pciutils-devel / pciutils-dev / libpci-dev
* zlib-devel / zlib1g-dev


Usage
-----

 $ 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. 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

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
the flash chip only. A ROM layout file looks like follows:

  00000000:00008fff gfxrom
  00009000:0003ffff normal
  00040000:0007ffff fallback

  i.e.:
  startaddr:endaddr name

  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 agami_aruma.rom
     
To update normal and fallback but leave the VGA BIOS alone, say:

  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?).


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.