blob: 87dd69b996739bc2c516778eeb5b32352979ebcf [file] [log] [blame]
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +00001.TH FLASHROM 8 "Apr 29, 2010"
Stefan Reinauer261144c2006-07-27 23:29:02 +00002.SH NAME
Uwe Hermann530cb2d2009-05-14 22:58:21 +00003flashrom \- detect, read, write, verify and erase flash chips
Stefan Reinauer261144c2006-07-27 23:29:02 +00004.SH SYNOPSIS
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +00005.B flashrom \fR[\fB\-n\fR] [\fB\-V\fR] [\fB\-f\fR] [\fB\-h\fR|\fB\-R\fR|\
6\fB\-L\fR|\fB\-z\fR|\fB\-E\fR|\fB\-r\fR <file>|\fB\-w\fR <file>|\
7\fB\-v\fR <file>]
8 [\fB\-c\fR <chipname>] [\fB\-m\fR [<vendor>:]<part>] \
9[\fB\-l\fR <file>]
10 [\fB\-i\fR <image>] [\fB\-p\fR <programmername>[:<parameters>]]
Stefan Reinauer261144c2006-07-27 23:29:02 +000011.SH DESCRIPTION
12.B flashrom
Uwe Hermanne8ba5382009-05-22 11:37:27 +000013is a utility for detecting, reading, writing, verifying and erasing flash
Uwe Hermann530cb2d2009-05-14 22:58:21 +000014chips. It's often used to flash BIOS/EFI/coreboot/firmware images in-system
15using a supported mainboard, but it also supports flashing of network cards
16(NICs), SATA controller cards, and other external devices which can program
17flash chips.
Uwe Hermanne74b9f82009-04-10 14:41:29 +000018.PP
Uwe Hermannd42009c2009-04-11 13:59:00 +000019It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, and
20TSOP40 chips, which use various protocols such as LPC, FWH, parallel flash,
21or SPI.
Stefan Reinauer261144c2006-07-27 23:29:02 +000022.SH OPTIONS
Carl-Daniel Hailfinger5de93412009-05-01 10:53:49 +000023Please note that the command line interface for flashrom will change before
24flashrom 1.0. Do not use flashrom in scripts or other automated tools without
Uwe Hermanne8ba5382009-05-22 11:37:27 +000025checking that your flashrom version won't interpret options in a different way.
Carl-Daniel Hailfinger5de93412009-05-01 10:53:49 +000026.PP
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000027You can specify one of \-h, \-R, \-L, \-z, \-E, \-r, \-w, \-v or no operation.
28If no operation is specified, flashrom will only probe for flash chips. It is
Michael Karcher31fd8252010-03-12 06:41:39 +000029recommended that if you try flashrom the first time on a system, you run it
30in probe only mode and check the output. Also you are advised to make a
31backup of your current ROM contents with \-r before you try to write a new
32image.
Stefan Reinauerde063bf2006-09-21 13:09:22 +000033.TP
Uwe Hermanne74b9f82009-04-10 14:41:29 +000034.B "\-r, \-\-read <file>"
35Read flash ROM contents and save them into the given
36.BR <file> .
Stefan Reinauerde063bf2006-09-21 13:09:22 +000037.TP
Uwe Hermanne74b9f82009-04-10 14:41:29 +000038.B "\-w, \-\-write <file>"
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000039Write
40.B <file>
41into flash ROM.
Stefan Reinauerde063bf2006-09-21 13:09:22 +000042.TP
Uwe Hermannea07f622009-06-24 17:31:08 +000043.B "\-n, \-\-noverify"
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000044Skip the automatic verification of flash ROM contents after writing. Using this
Uwe Hermannea07f622009-06-24 17:31:08 +000045option is
46.B not
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000047recommended, you should only use it if you know what you are doing and if you
Uwe Hermannea07f622009-06-24 17:31:08 +000048feel that the time for verification takes too long.
49.sp
50Typical usage is:
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000051.B "flashrom -n -w file"
Uwe Hermannea07f622009-06-24 17:31:08 +000052.sp
53This option is only useful in combination with
54.BR \-\-write .
55.TP
Uwe Hermanne74b9f82009-04-10 14:41:29 +000056.B "\-v, \-\-verify <file>"
57Verify the flash ROM contents against the given
58.BR <file> .
Stefan Reinauerde063bf2006-09-21 13:09:22 +000059.TP
Stefan Reinauer261144c2006-07-27 23:29:02 +000060.B "\-E, \-\-erase"
Uwe Hermanne74b9f82009-04-10 14:41:29 +000061Erase the flash ROM chip.
Stefan Reinauerde063bf2006-09-21 13:09:22 +000062.TP
Stefan Reinauer261144c2006-07-27 23:29:02 +000063.B "\-V, \-\-verbose"
64More verbose output.
Stefan Reinauerde063bf2006-09-21 13:09:22 +000065.TP
Stefan Reinauer261144c2006-07-27 23:29:02 +000066.B "\-c, \-\-chip" <chipname>
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +000067Probe only for specified flash ROM chip. This option takes the chip name as
68printed by
69.B "flashrom \-L"
70without the vendor name. Please note that the chip name is case sensitive.
Joerg Mayer645c6df2010-03-13 14:47:48 +000071.TP
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000072.B "\-m, \-\-mainboard" [<vendor>:]<part>
Joerg Mayer645c6df2010-03-13 14:47:48 +000073Override mainboard settings.
74.sp
75flashrom reads the coreboot table to determine the current mainboard. If no
76coreboot table could be read or if you want to override these values, you can
77specify \-m, e.g.:
78.sp
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000079.B " flashrom --mainboard AGAMI:ARUMA -w agami_aruma.rom"
Joerg Mayer645c6df2010-03-13 14:47:48 +000080.sp
81See the 'Supported mainboards' section in the output of 'flashrom \-L' for
82a list of boards which require the specification of the board name, if no
83coreboot table is found.
84.TP
85.B "\-f, \-\-force"
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +000086Force one or more of the following actions:
Joerg Mayer645c6df2010-03-13 14:47:48 +000087.sp
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +000088* Force chip read and pretend the chip is there.
89.sp
90* Force chip access even if the chip is bigger than max decode size for\
91 the flash bus.
92.sp
93* Force erase even if erase is known bad.
94.sp
95* Force write even if write is known bad.
Joerg Mayer645c6df2010-03-13 14:47:48 +000096.TP
97.B "\-l, \-\-layout <file>"
98Read ROM layout from
99.BR <file> .
Uwe Hermann87c07932009-05-05 16:15:46 +0000100.sp
101flashrom supports ROM layouts. This allows you to flash certain parts of
102the flash chip only. A ROM layout file looks like follows:
103.sp
104 00000000:00008fff gfxrom
105 00009000:0003ffff normal
106 00040000:0007ffff fallback
107.sp
108 i.e.:
109 startaddr:endaddr name
110.sp
111All addresses are offsets within the file, not absolute addresses!
112If you only want to update the normal image in a ROM you can say:
113.sp
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000114.B " flashrom --layout rom.layout --image normal -w agami_aruma.rom"
Uwe Hermann87c07932009-05-05 16:15:46 +0000115.sp
116To update normal and fallback but leave the VGA BIOS alone, say:
117.sp
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000118.B " flashrom -l rom.layout -i normal \"
Uwe Hermann87c07932009-05-05 16:15:46 +0000119.br
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000120.B " -i fallback -w agami_aruma.rom"
Uwe Hermann87c07932009-05-05 16:15:46 +0000121.sp
122Currently overlapping sections are not supported.
Stefan Reinauerde063bf2006-09-21 13:09:22 +0000123.TP
Uwe Hermanne74b9f82009-04-10 14:41:29 +0000124.B "\-i, \-\-image <name>"
Uwe Hermann67808fe2007-10-18 00:29:05 +0000125Only flash image
126.B <name>
127from flash layout.
Stefan Reinauerde063bf2006-09-21 13:09:22 +0000128.TP
Uwe Hermanne5ac1642008-03-12 11:54:51 +0000129.B "\-L, \-\-list\-supported"
Uwe Hermanne8ba5382009-05-22 11:37:27 +0000130List the flash chips, chipsets, mainboards, and PCI card "programmers"
131supported by flashrom.
Uwe Hermanne5ac1642008-03-12 11:54:51 +0000132.sp
Uwe Hermanne8ba5382009-05-22 11:37:27 +0000133There are many unlisted boards which will work out of the box, without
134special support in flashrom. Please let us know if you can verify that
135other boards work or do not work out of the box. For verification you have
136to test an ERASE and/or WRITE operation, so make sure you only do that
137if you have proper means to recover from failure!
Uwe Hermanne5ac1642008-03-12 11:54:51 +0000138.TP
Uwe Hermann20a293f2009-06-19 10:42:43 +0000139.B "\-z, \-\-list\-supported-wiki"
140Same as
141.BR \-\-list\-supported ,
142but outputs the supported hardware in MediaWiki syntax, so that it can be
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000143easily pasted into the wiki page at http://www.flashrom.org/. Please note
144that MediaWiki output is not compiled in by default.
Uwe Hermann20a293f2009-06-19 10:42:43 +0000145.TP
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +0000146.B "\-p, \-\-programmer <name>[:parameter[,parameter[,parameter]]]"
Carl-Daniel Hailfingerce986772009-05-09 00:27:07 +0000147Specify the programmer device. Currently supported are:
148.sp
Uwe Hermann530cb2d2009-05-14 22:58:21 +0000149.BR "* internal" " (default, for in-system flashing in the mainboard)"
150.sp
Uwe Hermannc7e8a0c2009-05-19 14:14:21 +0000151.BR "* dummy" " (just prints all operations and accesses)"
152.sp
Uwe Hermann530cb2d2009-05-14 22:58:21 +0000153.BR "* nic3com" " (for flash ROMs on 3COM network cards)"
154.sp
Uwe Hermann829ed842010-05-24 17:39:14 +0000155.BR "* nicrealtek" " (for flash ROMs on Realtek network cards)"
156.sp
157.BR "* nicsmc1211" " (for flash ROMs on RTL8139-compatible SMC2 network cards)"
158.sp
Uwe Hermann2bc98f62009-09-30 18:29:55 +0000159.BR "* gfxnvidia" " (for flash ROMs on NVIDIA graphics cards)"
160.sp
TURBO Jb0912c02009-09-02 23:00:46 +0000161.BR "* drkaiser" " (for flash ROMs on Dr. Kaiser PC-Waechter PCI cards)"
162.sp
Uwe Hermannc7e8a0c2009-05-19 14:14:21 +0000163.BR "* satasii" " (for flash ROMs on Silicon Image SATA/IDE controllers)"
164.sp
Uwe Hermannddd5c9e2010-02-21 21:17:00 +0000165.BR "* atahpt" " (for flash ROMs on Highpoint ATA/RAID controllers)"
166.sp
Uwe Hermanne9d04d42009-06-02 19:54:22 +0000167.BR "* it87spi" " (for flash ROMs behind an ITE IT87xx Super I/O LPC/SPI translation unit)"
Carl-Daniel Hailfingerb8afecd2009-05-31 18:00:57 +0000168.sp
Paul Fox05dfbe62009-06-16 21:08:06 +0000169.BR "* ft2232spi" " (for flash ROMs attached to a FT2232H/FT4232H based USB SPI programmer)"
170.sp
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000171.BR "* serprog" " (for flash ROMs attached to Urja's AVR programmer)"
172.sp
Carl-Daniel Hailfingerd5b28fa2009-11-24 18:27:10 +0000173.BR "* buspiratespi" " (for flash ROMs attached to a Bus Pirate)"
174.sp
Michael Karchere5eafb22010-03-07 12:11:08 +0000175Some programmers have optional or mandatory parameters which are described
176in detail in the
177.B PROGRAMMER SPECIFIC INFO
178section. Support for some programmers can be disabled at compile time.
179.B "flashrom -h"
180lists all supported programmers.
181.TP
182.B "\-h, \-\-help"
183Show a help text and exit.
184.TP
185.B "\-R, \-\-version"
186Show version information and exit.
187.SH PROGRAMMER SPECIFIC INFO
188Some programmer drivers accept further parameters to set programmer-specific
Uwe Hermann4e3d0b32010-03-25 23:18:41 +0000189parameters. These parameters are separated from the programmer name by a
Michael Karchere5eafb22010-03-07 12:11:08 +0000190colon. While some programmers take arguments at fixed positions, other
191programmers use a key/value interface in which the key and value is separated
192by an equal sign and different pairs are separated by a comma or a colon.
193.TP
Michael Karcher7f0c3ec2010-03-07 22:29:28 +0000194.BR "internal " programmer
195Some mainboards require to run mainboard specific code to enable flash erase
196and write support (and probe support on old systems with parallel flash).
197The mainboard brand and model (if it requires specific code) is usually
198autodetected using one of the following mechanisms: If your system is
199running coreboot, the mainboard type is determined from the coreboot table,
200otherwise, the mainboard is detected by examining the onboard PCI devices
201and possibly DMI info. If PCI and DMI do not contain information to uniquely
202identify the mainboard (which is the exception), it might be necessary to
203specify the mainboard using the \-m switch (see above).
204.sp
205Some of these board-specific flash enabling functions (called board enables)
206in flashrom have not yet been tested. If your mainboard is detected needing
207an untested board enable function, a warning message is printed and the
208board enable is not executed, because a wrong board enable function might
209cause the system to behave erratically, as board enable functions touch the
210low-level internals of a mainboard. Not executing a board enable function
211(if one is needed) might cause detection or erasing failure. If your board
212protects only part of the flash (commonly the top end, called boot block),
213flashrom might encounter an error only after erasing the unprotected part,
214so running without the board-enable function might be dangerous for erase
215and write (which includes erase).
216.sp
217The suggested procedure for a mainboard with untested board specific code is
218to first try to probe the ROM (just invoke flashrom and check that it
219detects your flash chip type) without running the board enable code (i.e.
220without any parameters). If it finds your chip, fine, otherwise, retry
221probing your chip with the board-enable code running, using
222.sp
223.B "flashrom -p internal:boardenable=force"
224.sp
225If your chip is still not detected, the board enable code seems to be broken
226or the flash chip unsupported. Otherwise, make a backup of your current ROM
227contents (using \-r) and store it to a medium outside of your computer, like
228an USB drive or a network share. If you needed to run the board enable code
229already for probing, use it for reading too. Now you can try to write the
230new image. You should enable the board enable code in any case now, as it
231has been written because it is known that writing/erasing without the board
232enable is going to fail. In any case (success or failure), please report to
233the flashrom mailing list, see below.
234.sp
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +0000235On systems running coreboot, flashrom checks whether the desired image matches
236your mainboard. This needs some special board ID to be present in the image.
237If flashrom detects that the image you want to write and the current board
238do not match, it will refuse to write the image unless you specify
239.sp
240.B "flashrom -p internal:boardmismatch=force"
241.sp
Carl-Daniel Hailfinger01f3ef42010-03-25 02:50:40 +0000242If your mainboard uses an ITE IT87 series Super I/O for LPC<->SPI flash bus
243translation, flashrom should autodetect that configuration. You can use
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000244.sp
Carl-Daniel Hailfinger01f3ef42010-03-25 02:50:40 +0000245.B "flashrom -p internal:it87spiport=portnum"
246syntax as explained in the
247.B it87spi
248programmer section to use a non-default port for controlling the IT87 series
249Super I/O. In the unlikely case flashrom doesn't detect an active IT87 LPC<->SPI
250bridge, you can try to force recognition by using the it87spi programmer.
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +0000251.sp
252Using flashrom on laptops is dangerous and may easily make your hardware
253unusable (see also the BUGS section). The embedded controller (EC) in these
254machines often interacts badly with flashing. http://www.flashrom.org/Laptops
255has more information. If flash is shared with the EC, erase is guaranteed to
256brick your laptop and write is very likely to brick your laptop.
257Chip read and probe may irritate your EC and cause fan failure, backlight
258failure, sudden poweroff, and other nasty effects.
259flashrom will attempt to detect laptops and abort immediately for safety
260reasons.
261If you want to proceed anyway at your own risk, use
262.sp
263.B "flashrom -p internal:laptop=force_I_want_a_brick"
264.sp
265You have been warned.
266.sp
267We will not help you if you force flashing on a laptop because this is a really
268dumb idea.
Carl-Daniel Hailfinger01f3ef42010-03-25 02:50:40 +0000269.TP
Michael Karchere5eafb22010-03-07 12:11:08 +0000270.BR "dummy " programmer
271An optional parameter specifies the bus types it
Carl-Daniel Hailfinger3504b532009-06-01 00:02:11 +0000272should support. For that you have to use the
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000273.B "flashrom -p dummy:type"
Carl-Daniel Hailfinger3504b532009-06-01 00:02:11 +0000274syntax where
275.B type
276can be any comma-separated combination of
277.B parallel lpc fwh spi all
278in any order.
279.sp
280Example:
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000281.B "flashrom -p dummy:lpc,fwh"
Michael Karchere5eafb22010-03-07 12:11:08 +0000282.TP
Uwe Hermann829ed842010-05-24 17:39:14 +0000283.BR "nic3com" , " nicrealtek" , " nicsmc1211" , " gfxnvidia" , " satasii " and " atahpt " programmers
Michael Karchere5eafb22010-03-07 12:11:08 +0000284These programmers have an option to specify the PCI address of the card
285your want to use, which must be specified if more than one card supported
286by the selected programmer is installed in your system. The syntax is
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000287.B "flashrom -p xxxx:bb:dd.f"
Michael Karchere5eafb22010-03-07 12:11:08 +0000288, where
Uwe Hermannc7e8a0c2009-05-19 14:14:21 +0000289.B xxxx
290is the name of the programmer
Uwe Hermann530cb2d2009-05-14 22:58:21 +0000291.B bb
292is the PCI bus number,
293.B dd
294is the PCI device number, and
295.B f
296is the PCI function number of the desired NIC.
297.sp
298Example:
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000299.B "flashrom -p nic3com:05:04.0"
Michael Karchere5eafb22010-03-07 12:11:08 +0000300.TP
301.BR "it87spi " programmer
302An optional parameter sets the I/O base port of the IT87* SPI controller
303interface to the port specified in the parameter instead of using the port
304address set by the BIOS. For that you have to use the
Carl-Daniel Hailfinger01f3ef42010-03-25 02:50:40 +0000305.B "flashrom -p it87spi:it87spiport=portnum"
Carl-Daniel Hailfingerbb297f72009-07-11 18:05:42 +0000306syntax where
307.B portnum
308is an I/O port number which must be a multiple of 8.
Michael Karchere5eafb22010-03-07 12:11:08 +0000309.TP
310.BR "ft2232spi " programmer
311An optional parameter species the controller
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000312type and interface/port it should support. For that you have to use the
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000313.B "flashrom -p ft2232spi:model,port=interface"
Carl-Daniel Hailfingerfeea2722009-07-01 00:02:23 +0000314syntax where
315.B model
316can be any of
317.B 2232H 4232H
318and
319.B interface
320can be any of
Michael Karchere5eafb22010-03-07 12:11:08 +0000321.BR "A B" .
Carl-Daniel Hailfingerfeea2722009-07-01 00:02:23 +0000322The default model is
323.B 4232H
324and the default interface is
325.BR B .
Michael Karchere5eafb22010-03-07 12:11:08 +0000326.TP
327.BR "serprog " programmer
328A mandatory parameter specifies either a serial
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000329device/baud combination or an IP/port combination for communication with the
Michael Karchere5eafb22010-03-07 12:11:08 +0000330programmer. In the device/baud combination, the device has to start with a
331slash. For serial, you have to use the
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000332.B "flashrom -p serprog:/dev/device:baud"
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000333syntax and for IP, you have to use
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000334.B "flashrom -p serprog:ip:port"
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000335instead. More information about serprog is available in serprog-protocol.txt in
336the source distribution.
Michael Karchere5eafb22010-03-07 12:11:08 +0000337.TP
338.BR "buspiratespi " programmer
Uwe Hermann4e3d0b32010-03-25 23:18:41 +0000339A required dev parameter specifies the Bus Pirate device node and an optional
340spispeed parameter specifies the frequency of the SPI bus. The parameter
Michael Karchere5eafb22010-03-07 12:11:08 +0000341delimiter is a comma. Syntax is
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000342.sp
Carl-Daniel Hailfingerd5b28fa2009-11-24 18:27:10 +0000343.B "flashrom -p buspiratespi:dev=/dev/device,spispeed=frequency"
Michael Karchere5eafb22010-03-07 12:11:08 +0000344.sp
Carl-Daniel Hailfingerd5b28fa2009-11-24 18:27:10 +0000345where
346.B frequency
347can be any of
348.B 30k 125k 250k 1M 2M 2.6M 4M 8M
Michael Karchere5eafb22010-03-07 12:11:08 +0000349(in Hz). The default is the maximum frequency of 8 MHz.
Peter Stuge42688e52009-01-26 02:20:56 +0000350.SH EXIT STATUS
351flashrom exits with 0 on success, 1 on most failures but with 2 if /dev/mem
352(/dev/xsvc on Solaris) can not be opened and with 3 if a call to mmap() fails.
Stefan Reinauer261144c2006-07-27 23:29:02 +0000353.SH BUGS
Uwe Hermann42eb17f2008-01-18 17:48:51 +0000354Please report any bugs at
Stefan Reinauer22ea8cd2009-07-30 13:32:26 +0000355.BR http://www.flashrom.org/trac/flashrom/newticket ","
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +0000356or on the flashrom mailing list at
357.BR http://www.flashrom.org/mailman/listinfo/flashrom "."
358.sp
359Using flashrom on laptops is dangerous and may easily make your hardware
360unusable unless you can desolder the flash chip and have a full flash chip
361backup. This is caused by the embedded controller (EC) present in many laptops,
362which interacts badly with any flash attempts. This is a hardware limitation
363and flashrom will attempt to detect it and abort immediately for safety reasons.
Stefan Reinauer261144c2006-07-27 23:29:02 +0000364.SH LICENCE
365.B flashrom
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000366is covered by the GNU General Public License (GPL), version 2. Some files are
367additionally available under the GPL (version 2, or any later version).
Stefan Reinauer261144c2006-07-27 23:29:02 +0000368.SH COPYRIGHT
Stefan Reinauer261144c2006-07-27 23:29:02 +0000369.br
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000370Please see the individual files.
Stefan Reinauer261144c2006-07-27 23:29:02 +0000371.SH AUTHORS
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000372Carl-Daniel Hailfinger
373.br
374Claus Gindhart <claus.gindhart@kontron.com>
375.br
376Dominik Geyer <dominik.geyer@kontron.com>
377.br
Stefan Reinaueredc61882010-01-03 14:40:30 +0000378Eric Biederman
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000379.br
380Giampiero Giancipoli <gianci@email.it>
381.br
382Joe Bao <Zheng.Bao@amd.com>
383.br
384Luc Verhaegen <libv@skynet.be>
385.br
Carl-Daniel Hailfinger451dc802009-05-01 11:00:39 +0000386Li-Ta Lo
387.br
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000388Markus Boas <ryven@ryven.de>
389.br
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000390Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
391.br
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000392Nikolay Petukhov <nikolay.petukhov@gmail.com>
393.br
394Peter Stuge <peter@stuge.se>
395.br
396Reinder E.N. de Haan <lb_reha@mveas.com>
397.br
398Ronald G. Minnich <rminnich@gmail.com>
399.br
400Ronald Hoogenboom <ronald@zonnet.nl>
Stefan Reinauer261144c2006-07-27 23:29:02 +0000401.br
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000402Sean Nelson <audiohacked@gmail.com>
403.br
Stefan Reinauer261144c2006-07-27 23:29:02 +0000404Stefan Reinauer <stepan@coresystems.de>
405.br
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000406Stefan Wildemann <stefan.wildemann@kontron.com>
407.br
408Steven James <pyro@linuxlabs.com>
409.br
410Uwe Hermann <uwe@hermann-uwe.de>
411.br
Stefan Reinaueredc61882010-01-03 14:40:30 +0000412Wang Qingpei
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000413.br
Stefan Reinaueredc61882010-01-03 14:40:30 +0000414Yinghai Lu
Stefan Reinauerf8337dd2006-08-03 10:49:09 +0000415.br
416some others
Stefan Reinauer261144c2006-07-27 23:29:02 +0000417.PP
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000418This manual page was written by Uwe Hermann <uwe@hermann-uwe.de> and Carl-Daniel
419Hailfinger.
Uwe Hermann42eb17f2008-01-18 17:48:51 +0000420It is licensed under the terms of the GNU GPL (version 2 or later).