blob: 3114ad02c5f518df78b095d9a93abc58e5fa7808 [file] [log] [blame]
Uwe Hermann2dc5f422006-11-20 20:32:35 +00001-------------------------------------------------------------------------------
2Flashrom README
3-------------------------------------------------------------------------------
Ronald G. Minnich1e5003f2002-04-10 18:02:07 +00004
Uwe Hermann2dc5f422006-11-20 20:32:35 +00005This is the universal (LinuxBIOS) flash utility.
6
7Build Requirements
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +00008------------------
9
10To build the flashrom utility you need to have the following packages
Uwe Hermann2dc5f422006-11-20 20:32:35 +000011installed on your Linux system:
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000012
13* pciutils
Uwe Hermann83f0db22006-12-20 14:53:22 +000014* pciutils-devel / pciutils-dev
15* zlib-devel / zlib1g-dev
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000016
17
Uwe Hermann2dc5f422006-11-20 20:32:35 +000018Usage
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000019-----
20
Stefan Reinauerf8337dd2006-08-03 10:49:09 +000021usage: ./flashrom [-rwvEVfh] [-c chipname] [-s exclude_start]
22 [-e exclude_end] [-m vendor:part] [-l file.layout] [-i imagename] [file]
23 -r | --read: read flash and save into file
24 -w | --write: write file into flash (default when
25 file is specified)
26 -v | --verify: verify flash against file
27 -E | --erase: erase flash device
28 -V | --verbose: more verbose output
29 -c | --chip <chipname>: probe only for specified flash chip
30 -s | --estart <addr>: exclude start position
31 -e | --eend <addr>: exclude end postion
Ollie Lho184a4042005-11-26 21:55:36 +000032 -m | --mainboard <vendor:part>: override mainboard settings
Stefan Reinauerf8337dd2006-08-03 10:49:09 +000033 -f | --force: force write without checking image
34 -l | --layout <file.layout>: read rom layout from file
35 -i | --image <name>: only flash image name from flash layout
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000036
Ollie Lho184a4042005-11-26 21:55:36 +000037 If no file is specified, then all that happens
38 is that flash info is dumped and the flash chip is set to writable.
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000039
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000040
Uwe Hermann2dc5f422006-11-20 20:32:35 +000041LinuxBIOS Table and Mainboard Identification
Ollie Lho184a4042005-11-26 21:55:36 +000042--------------------------------------------
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000043
Uwe Hermann2dc5f422006-11-20 20:32:35 +000044Flashrom reads the LinuxBIOS table to determine the current mainboard.
Ollie Lho184a4042005-11-26 21:55:36 +000045(Parse DMI as well in future?) If no LinuxBIOS table could be read
Uwe Hermann2dc5f422006-11-20 20:32:35 +000046or if you want to override these values, you can specify -m, e.g.:
Ollie Lho184a4042005-11-26 21:55:36 +000047
Uwe Hermann2dc5f422006-11-20 20:32:35 +000048 flashrom -w --mainboard ISLAND:ARUMA island_aruma.rom
Ollie Lho184a4042005-11-26 21:55:36 +000049
50
Uwe Hermann2dc5f422006-11-20 20:32:35 +000051ROM Layout Support
Ollie Lho184a4042005-11-26 21:55:36 +000052------------------
53
Uwe Hermann2dc5f422006-11-20 20:32:35 +000054Flashrom supports ROM layouts. This allows to flash certain parts of
55the flash chip only. A ROM layout file looks like follows:
Ollie Lho184a4042005-11-26 21:55:36 +000056
57 00000000:00008fff gfxrom
58 00009000:0003ffff normal
59 00040000:0007ffff fallback
60
61 i.e.:
62 startaddr:endaddr name
63
64 all addresses are offsets within the file, not absolute addresses!
65
Uwe Hermann2dc5f422006-11-20 20:32:35 +000066If you only want to update the normal image in a ROM you can say:
Ollie Lho184a4042005-11-26 21:55:36 +000067
68 flashrom -w --layout rom.layout --image normal island_aruma.rom
69
Uwe Hermann2dc5f422006-11-20 20:32:35 +000070To update normal and fallback but leave the VGA BIOS alone, say:
Ollie Lho184a4042005-11-26 21:55:36 +000071
72 flashrom -w -l rom.layout -i normal -i fallback island_aruma.rom
73
Uwe Hermann2dc5f422006-11-20 20:32:35 +000074Currently overlapping sections are not supported.
Ollie Lho184a4042005-11-26 21:55:36 +000075
Uwe Hermann2dc5f422006-11-20 20:32:35 +000076ROM layouts should replace the -s and -e option since they are more
77flexible and they should lead to a ROM update file format with the
78ROM layout and the ROM image in one file (cpio, zip or something?)
Ollie Lho184a4042005-11-26 21:55:36 +000079
80
81DOC support
82-----------
83
84DISK on Chip support is currently disabled since it is considered unstable.
Stefan Reinauercbc55d02006-08-25 19:21:42 +000085Change CFLAGS in the Makefile to enable it: Remove -DDISABLE_DOC from CFLAGS.
Ollie Lho184a4042005-11-26 21:55:36 +000086
87
Uwe Hermannb6d28322006-12-04 08:15:47 +000088Supported Flash Chips
89---------------------
90
91AMD AM-29F040B
92AMD AM-29F016D
Uwe Hermannc22f5422006-12-04 08:20:40 +000093ASD AE49F2008
Uwe Hermannb6d28322006-12-04 08:15:47 +000094Atmel AT-29C040A
95EMST F49B002UA
96Intel 82802AB (Firmware Hub)
97Intel 82802AC (Firmware Hub)
98M-Systems MD-2802 (unsupported, disabled by default)
99MX MX-29F002
100PMC PMC-49FL002
101PMC PMC-49FL004
102Sharp LHF-00L04
103SST SST-29EE020A
104SST SST-28SF040A
105SST SST-39SF010A
106SST SST-39SF020A
107SST SST-39SF040
108SST SST-39VF020
109SST SST-49LF040B
110SST SST-49LF040
111SST SST-49LF020A
112SST SST-49LF080A
Alan Carvalho de Assis474230a2007-01-27 13:39:06 +0000113SST SST-49LF160C
Uwe Hermannb6d28322006-12-04 08:15:47 +0000114SST SST-49LF002A/B
115SST SST-49LF003A/B
116SST SST-49LF004A/B
117SST SST-49LF008A
Yinghai Luca782972007-01-22 20:21:17 +0000118SST SST-49LF004C
119SST SST-49LF008C
120SST SST-49LF016C
Uwe Hermannb6d28322006-12-04 08:15:47 +0000121ST ST-M29F400BT
122ST ST-M29F040B
Uwe Hermannc22f5422006-12-04 08:20:40 +0000123SyncMOS S29C51001T/B
124SyncMOS S29C51002T/B
125SyncMOS S29C51004T/B
126SyncMOS S29C31004T
Uwe Hermannb6d28322006-12-04 08:15:47 +0000127Winbond W29C011
128Winbond W29C020C
129Winbond W49F002U
130Winbond W49V002A
131Winbond W49V002FA
132Winbond W39V040A
133Winbond W39V040B
134
135
136Supported Southbridges
137----------------------
138
139AMD CS5530
140AMD Geode SC1100
141AMD AMD-8111
142ATI SB400
143Intel ICH0-ICH8 (all variations)
144Intel PIIX4/PIIX4E/PIIX4M
145NVIDIA CK804
146NVIDIA MCP51
Yinghai Luca782972007-01-22 20:21:17 +0000147NVIDIA MCP55
Uwe Hermannb6d28322006-12-04 08:15:47 +0000148SiS 630
149SiS 5595
150VIA VT8231
151VIA VT8235
152VIA VT8237
153VIA VT82C686
154