blob: c06f40f8831d24d0e6df7e0706651fd28063d7fc [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
14* pciutils-devel
15
16
Uwe Hermann2dc5f422006-11-20 20:32:35 +000017Usage
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000018-----
19
Stefan Reinauerf8337dd2006-08-03 10:49:09 +000020usage: ./flashrom [-rwvEVfh] [-c chipname] [-s exclude_start]
21 [-e exclude_end] [-m vendor:part] [-l file.layout] [-i imagename] [file]
22 -r | --read: read flash and save into file
23 -w | --write: write file into flash (default when
24 file is specified)
25 -v | --verify: verify flash against file
26 -E | --erase: erase flash device
27 -V | --verbose: more verbose output
28 -c | --chip <chipname>: probe only for specified flash chip
29 -s | --estart <addr>: exclude start position
30 -e | --eend <addr>: exclude end postion
Ollie Lho184a4042005-11-26 21:55:36 +000031 -m | --mainboard <vendor:part>: override mainboard settings
Stefan Reinauerf8337dd2006-08-03 10:49:09 +000032 -f | --force: force write without checking image
33 -l | --layout <file.layout>: read rom layout from file
34 -i | --image <name>: only flash image name from flash layout
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000035
Ollie Lho184a4042005-11-26 21:55:36 +000036 If no file is specified, then all that happens
37 is that flash info is dumped and the flash chip is set to writable.
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000038
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000039
Uwe Hermann2dc5f422006-11-20 20:32:35 +000040LinuxBIOS Table and Mainboard Identification
Ollie Lho184a4042005-11-26 21:55:36 +000041--------------------------------------------
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000042
Uwe Hermann2dc5f422006-11-20 20:32:35 +000043Flashrom reads the LinuxBIOS table to determine the current mainboard.
Ollie Lho184a4042005-11-26 21:55:36 +000044(Parse DMI as well in future?) If no LinuxBIOS table could be read
Uwe Hermann2dc5f422006-11-20 20:32:35 +000045or if you want to override these values, you can specify -m, e.g.:
Ollie Lho184a4042005-11-26 21:55:36 +000046
Uwe Hermann2dc5f422006-11-20 20:32:35 +000047 flashrom -w --mainboard ISLAND:ARUMA island_aruma.rom
Ollie Lho184a4042005-11-26 21:55:36 +000048
49
Uwe Hermann2dc5f422006-11-20 20:32:35 +000050ROM Layout Support
Ollie Lho184a4042005-11-26 21:55:36 +000051------------------
52
Uwe Hermann2dc5f422006-11-20 20:32:35 +000053Flashrom supports ROM layouts. This allows to flash certain parts of
54the flash chip only. A ROM layout file looks like follows:
Ollie Lho184a4042005-11-26 21:55:36 +000055
56 00000000:00008fff gfxrom
57 00009000:0003ffff normal
58 00040000:0007ffff fallback
59
60 i.e.:
61 startaddr:endaddr name
62
63 all addresses are offsets within the file, not absolute addresses!
64
Uwe Hermann2dc5f422006-11-20 20:32:35 +000065If you only want to update the normal image in a ROM you can say:
Ollie Lho184a4042005-11-26 21:55:36 +000066
67 flashrom -w --layout rom.layout --image normal island_aruma.rom
68
Uwe Hermann2dc5f422006-11-20 20:32:35 +000069To update normal and fallback but leave the VGA BIOS alone, say:
Ollie Lho184a4042005-11-26 21:55:36 +000070
71 flashrom -w -l rom.layout -i normal -i fallback island_aruma.rom
72
Uwe Hermann2dc5f422006-11-20 20:32:35 +000073Currently overlapping sections are not supported.
Ollie Lho184a4042005-11-26 21:55:36 +000074
Uwe Hermann2dc5f422006-11-20 20:32:35 +000075ROM layouts should replace the -s and -e option since they are more
76flexible and they should lead to a ROM update file format with the
77ROM layout and the ROM image in one file (cpio, zip or something?)
Ollie Lho184a4042005-11-26 21:55:36 +000078
79
80DOC support
81-----------
82
83DISK on Chip support is currently disabled since it is considered unstable.
Stefan Reinauercbc55d02006-08-25 19:21:42 +000084Change CFLAGS in the Makefile to enable it: Remove -DDISABLE_DOC from CFLAGS.
Ollie Lho184a4042005-11-26 21:55:36 +000085
86
Uwe Hermannb6d28322006-12-04 08:15:47 +000087Supported Flash Chips
88---------------------
89
90AMD AM-29F040B
91AMD AM-29F016D
92Atmel AT-29C040A
93EMST F49B002UA
94Intel 82802AB (Firmware Hub)
95Intel 82802AC (Firmware Hub)
96M-Systems MD-2802 (unsupported, disabled by default)
97MX MX-29F002
98PMC PMC-49FL002
99PMC PMC-49FL004
100Sharp LHF-00L04
101SST SST-29EE020A
102SST SST-28SF040A
103SST SST-39SF010A
104SST SST-39SF020A
105SST SST-39SF040
106SST SST-39VF020
107SST SST-49LF040B
108SST SST-49LF040
109SST SST-49LF020A
110SST SST-49LF080A
111SST SST-49LF002A/B
112SST SST-49LF003A/B
113SST SST-49LF004A/B
114SST SST-49LF008A
115ST ST-M29F400BT
116ST ST-M29F040B
117SyncMOS S29C51002T
118Winbond W29C011
119Winbond W29C020C
120Winbond W49F002U
121Winbond W49V002A
122Winbond W49V002FA
123Winbond W39V040A
124Winbond W39V040B
125
126
127Supported Southbridges
128----------------------
129
130AMD CS5530
131AMD Geode SC1100
132AMD AMD-8111
133ATI SB400
134Intel ICH0-ICH8 (all variations)
135Intel PIIX4/PIIX4E/PIIX4M
136NVIDIA CK804
137NVIDIA MCP51
138SiS 630
139SiS 5595
140VIA VT8231
141VIA VT8235
142VIA VT8237
143VIA VT82C686
144