blob: 1a6bd3b57973c8c479f5cfd7fedf4c71bf82ad26 [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
Uwe Hermannc22f5422006-12-04 08:20:40 +000092ASD AE49F2008
Uwe Hermannb6d28322006-12-04 08:15:47 +000093Atmel AT-29C040A
94EMST F49B002UA
95Intel 82802AB (Firmware Hub)
96Intel 82802AC (Firmware Hub)
97M-Systems MD-2802 (unsupported, disabled by default)
98MX MX-29F002
99PMC PMC-49FL002
100PMC PMC-49FL004
101Sharp LHF-00L04
102SST SST-29EE020A
103SST SST-28SF040A
104SST SST-39SF010A
105SST SST-39SF020A
106SST SST-39SF040
107SST SST-39VF020
108SST SST-49LF040B
109SST SST-49LF040
110SST SST-49LF020A
111SST SST-49LF080A
112SST SST-49LF002A/B
113SST SST-49LF003A/B
114SST SST-49LF004A/B
115SST SST-49LF008A
116ST ST-M29F400BT
117ST ST-M29F040B
Uwe Hermannc22f5422006-12-04 08:20:40 +0000118SyncMOS S29C51001T/B
119SyncMOS S29C51002T/B
120SyncMOS S29C51004T/B
121SyncMOS S29C31004T
Uwe Hermannb6d28322006-12-04 08:15:47 +0000122Winbond W29C011
123Winbond W29C020C
124Winbond W49F002U
125Winbond W49V002A
126Winbond W49V002FA
127Winbond W39V040A
128Winbond W39V040B
129
130
131Supported Southbridges
132----------------------
133
134AMD CS5530
135AMD Geode SC1100
136AMD AMD-8111
137ATI SB400
138Intel ICH0-ICH8 (all variations)
139Intel PIIX4/PIIX4E/PIIX4M
140NVIDIA CK804
141NVIDIA MCP51
142SiS 630
143SiS 5595
144VIA VT8231
145VIA VT8235
146VIA VT8237
147VIA VT82C686
148