1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 23:22:37 +02:00

72 Commits

Author SHA1 Message Date
Peter Stuge
10e091bd30 Add ids and chip entry for Spansion S25FL016A, tested, working
Corresponding to flashrom svn r187 and coreboot v2 svn r3074.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-01-25 01:52:45 +00:00
Ronald Hoogenboom
7ff530b40e Further abstract SPI functions to allow chips bigger than 512 kB behind IT8716Fs
Support SPI flash chips bigger than 512 kByte sitting behind IT8716F
Super I/O performing LPC-to-SPI flash translation.

Corresponding to flashrom svn r181 and coreboot v2 svn r3061.

Signed-off-by: Ronald Hoogenboom <hoogenboom30@zonnet.nl>
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-01-19 00:04:46 +00:00
Stefan Reinauer
e3f3e2edb4 Rename LinuxBIOS to coreboot
Corresponding to flashrom svn r178 and coreboot v2 svn r3054.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-01-18 15:33:10 +00:00
Carl-Daniel Hailfinger
e973b05710 Print at least the vendor for SPI flash chips if the exact chip ID is unknown
Corresponding to flashrom svn r173 and coreboot v2 svn r3032.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
2008-01-04 16:22:09 +00:00
Carl-Daniel Hailfinger
2736e32832 Unfortunately, EN29F002T, EN29F002AT, EN29F002ANT, EN29F002NT all have exactly the same ID
Improve model number printing.

Add EN29F002(A)(N)B support while I'm at it.

Corresponding to flashrom svn r172 and coreboot v2 svn r3031.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Markus Boas <bios@ryven.de>
2007-12-31 14:05:08 +00:00
Carl-Daniel Hailfinger
ae8afa9ddb Add continuation ID support to jedec.c
The continuation ID code does not go further than checking for IDs of
the type 0x7fXX, but does this for vendor and product ID. The current
published JEDEC spec has a list where the largest vendor ID is 7 bytes
long, but all leading bytes are 0x7f. The list will grow in the future,
and using a 64bit variable will not be enough anymore.
Besides that, it seems that the location of the ID byte after the first
continuation ID byte is very vendor specific, so we may have to revisit
that code some time in the future.

(Suggestion for a new encoding:
Use a two-byte data type for the ID, the lower byte contains the only
non-0x7f byte, the upper byte contains the number of 0x7f bytes used as
prefix, which is the bank number minus 1 the vendor ID appears in.)

Add support for EON EN29F002AT.

Corresponding to flashrom svn r171 and coreboot v2 svn r3030.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Corey Osgood <corey.osgood@gmail.com>
2007-12-31 01:49:00 +00:00
Carl-Daniel Hailfinger
c2a18452b1 Refine various vendor ID annotations
This fixes a few vendor IDs to conform with JEDEC publication 106W
(JEP106W), adds some device IDs and provides information about
non-conforming IDs. The EON change is left to the patch adding EON
chips.

This patch should have no effect on code generation.

Corresponding to flashrom svn r170 and coreboot v2 svn r3029.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Corey Osgood <corey.osgood@gmail.com>
2007-12-31 01:18:26 +00:00
Carl-Daniel Hailfinger
d8cc58c85e Add support for various ST M25P* chips
Add support for ST M25P05-A, M25P10-A, M25P20, M25P40, M25P16, M25P32,
M25P64, M25P128.

ST M25P80 support is already there. Not tested, but conforming to data
sheets and double checked.

Corresponding to flashrom svn r166 and coreboot v2 svn r3012.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-12-17 22:22:40 +00:00
Carl-Daniel Hailfinger
21c7890701 Rename SPI erase functions to include opcode
To make it easier to add new SPI chips to flashchips.c, rename functions
with multiple possible opcodes from linear numbering at the end (_1, _2)
to include the opcode at the end (_60, _c7).

That way, you only have to take a short look at the data sheet and
choose the right function by appending the opcode listed in the data
sheet. No functional changes.

Corresponding to flashrom svn r165 and coreboot v2 svn r3009.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ward Vandewege <ward@gnu.org>
2007-12-17 14:33:32 +00:00
Carl-Daniel Hailfinger
f5df46f6c6 Add support for ST M25P80 chips
Detection was tested. Print status register before erase to help
debugging block locks.

Corresponding to flashrom svn r164 and coreboot v2 svn r3008.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Corey Osgood <corey.osgood@gmail.com>
2007-12-16 21:15:27 +00:00
Frederico Silva
4bcf175190 Add support for more atmel chips
AT49F002
AT49F002N
AT49F002T
AT49F002NT

Only tested the read function on AT49F002T.
datasheet @ http://www.atmel.com/atmel/acrobat/doc1017.pdf

Corresponding to flashrom svn r163 and coreboot v2 svn r3003.

Signed-off-by: Frederico Silva <frederico.silva@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2007-12-10 16:57:59 +00:00
Uwe Hermann
372eeb5710 Various coding style fixes, constification, fixed typos
Also, s/0xFF80/0xFFC0/ in the Acorp 6A815EPD board-enable, as per
http://www.linuxbios.org/pipermail/linuxbios/2007-December/027750.html

Corresponding to flashrom svn r162 and coreboot v2 svn r2997.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-12-04 21:49:06 +00:00
Uwe Hermann
97a647014d Add support for Intel 440MX and Fujitsu MBM29F400TC
Detection and reading works, writing is not tested.

Corresponding to flashrom svn r158 and coreboot v2 svn r2903.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Peter Stuge <peter@stuge.se>
2007-10-30 00:56:50 +00:00
Peter Lemenkov
220e26be9c Add Am29LV040B
Looking through the sources of Uniflash utility I found that this chip
is no more no less than low-voltage variant of Am29F040B but with
different ID.

So I created a very quick patch (attached).

Corresponding to flashrom svn r157 and coreboot v2 svn r2897.

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>
2007-10-25 04:11:11 +00:00
Peter Lemenkov
539478d7fe Add more Vendor IDs and ensure correct sorting in flash.h
Corresponding to flashrom svn r156 and coreboot v2 svn r2884.

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2007-10-22 20:36:16 +00:00
Carl-Daniel Hailfinger
5b1c6ed8de Introduce block and sector erase routines, but do not use them yet
Corresponding to flashrom svn r155 and coreboot v2 svn r2881.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-10-22 16:15:28 +00:00
Carl-Daniel Hailfinger
6b44496c56 Add generic SPI flash erase and write support
The first chip the code was tested and verified with is the Macronix
MX25L4005, but other chips should work as well. Timeouts are still
hardcoded to data sheet maxima, but the status register checking code is
already there. Thanks to Harald Gutmann for the initial code on which
this is loosely based.

Corresponding to flashrom svn r152 and coreboot v2 svn r2874.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-10-18 00:24:07 +00:00
Carl-Daniel Hailfinger
3d94a0e00e Convert the existing it8716f_* functions to generic_spi_* functions
Corresponding to flashrom svn r147 and coreboot v2 svn r2863.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-10-16 21:09:06 +00:00
Carl-Daniel Hailfinger
00f911e0a8 Move SPI code out of board_enable.c where it started its life
The SPI chip finding and SPI chip accessor code is moved as well. This
can be split later if we feel like it.

The non-use of svn cp is intentional because the only history we'd
have to preserve are a few commits which were early prototypes of chip
identification code. For those who intend to look at that history, they
can look at board_enable.c revision 2853.

Corresponding to flashrom svn r145 and coreboot v2 svn r2857.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-10-15 21:44:47 +00:00
Carl-Daniel Hailfinger
e151499fd2 This patch aims to restructure SPI flash support in a more reasonable way
It introduces a generic SPI host driver for the IT8716F Super I/O
which will enable easy SPI programming without having to care for the
peculiarities of the SPI host.

To activate probing for the IT8716F, you have to use the gigabyte:m57sli
mainboard override. SPI support will then use the gathered SPI host data
to access the SPI flash.

This has been tested sucessfully by Ward Vandewege <ward@gnu.org> on the
GA-M57SLI v2.0, which has a MX25L4005 SPI flash part.

Corresponding to flashrom svn r140 and coreboot v2 svn r2817.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ward Vandewege <ward@gnu.org>
2007-10-02 15:49:25 +00:00
Uwe Hermann
a0cc53d738 Remove useless 'extern' keywords
Corresponding to flashrom svn r137 and coreboot v2 svn r2769.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-09-09 20:24:29 +00:00
Uwe Hermann
d22a1d4e53 Add '(C)' where it's missing (for consistency reasons)
Corresponding to flashrom svn r136 and coreboot v2 svn r2768.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-09-09 20:21:05 +00:00
Markus Boas
d2ac6fc185 Add support for the Winbond W29EE011
Corresponding to flashrom svn r133 and coreboot v2 svn r2753.

Signed-off-by: Markus Boas <ryven@ryven.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-08-30 10:17:50 +00:00
Markus Boas
05e7f45373 Add support for the Winbond W29C040P
Corresponding to flashrom svn r132 and coreboot v2 svn r2752.

Signed-off-by: Markus Boas <ryven@ryven.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-08-30 10:11:08 +00:00
Uwe Hermann
d110764ccd Change all flashrom license headers to use our standard format
No changes in content of the files.

Corresponding to flashrom svn r131 and coreboot v2 svn r2751.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-08-29 17:52:32 +00:00
Uwe Hermann
0846f89b0a Drop a bunch of useless header files, merge them into flash.h
Corresponding to flashrom svn r128 and coreboot v2 svn r2746.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-08-23 13:34:59 +00:00
Carl-Daniel Hailfinger
f41c66fd46 Add various ST flash chips
This patch adds support for the M50FLW040A, M50FLW040B, M50FLW080A,
M50FLW080B, M50FW080, M50FW016, M50LPW116, M29W010B flash chips made by
ST.

The patch is based on the data sheets of the chips and has not been
tested at all.

Corresponding to flashrom svn r123 and coreboot v2 svn r2741.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-07-25 17:55:45 +00:00
Carl-Daniel Hailfinger
e087fa29bf This patch adds support for ST M50FW040 and ST M29W040B
Only reading from the chips was tested; writing support is untested.

Thanks to Gürkan Sengün <gurkan@linuks.mine.nu> for testing!

Corresponding to flashrom svn r122 and coreboot v2 svn r2740.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-07-24 18:18:05 +00:00
Stefan Reinauer
ff4f197a24 Factor out register mapping code
Corresponding to flashrom svn r113 and coreboot v2 svn r2691.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-05-24 08:48:10 +00:00
Stefan Reinauer
ce532975cb Big cosmetic offensive on flashrom
* Give decent names to virt_addr and virt_addr_2
* add some comments
* move virtual addresses to the end of the struct,
  so they dont mess up the initializer.

Corresponding to flashrom svn r111 and coreboot v2 svn r2689.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-05-23 17:20:56 +00:00
Uwe Hermann
bc1f1a01e4 Add support for the Winbond W39V040FA chip
Corresponding to flashrom svn r110 and coreboot v2 svn r2686.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-05-21 21:39:08 +00:00
Uwe Hermann
a7e0548cea Fix coding style of flashrom by running indent on all files
indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs *.[ch]

Some minor fixups were required, and maybe a few more cosmetic
changes are needed.

Corresponding to flashrom svn r108 and coreboot v2 svn r2643.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-05-09 10:17:44 +00:00
Uwe Hermann
d7f48069f9 Add initial support for the following flash chips
- Atmel AT29C020
 - STMicroelectronics M29F002B
 - STMicroelectronics M29F002T
 - STMicroelectronics M29F002NT

Corresponding to flashrom svn r105 and coreboot v2 svn r2621.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Signed-off-by: Roger Zauner <roger@eskimo.com>
Acked-by: Peter Stuge <peter@stuge.se>
2007-04-28 02:22:59 +00:00
Stefan Reinauer
7038564346 Trivial (cosmetic) cleanup
* Only open /dev/mem once and do it early.
* Drop extern for function prototypes.
* Minimize ts5300 impact in probe_flash()

This cleanup will making ICH7 SPI support quite some easier.

Corresponding to flashrom svn r100 and coreboot v2 svn r2585.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-04-06 11:58:03 +00:00
Luc Verhaegen
8e3a600123 Split flash_enable.c into chipset_enable.c and board_enable.c
This splits up the ROM Write enable code into chipset specific and
board specific parts. This of course means that a lot of code is
plainly moved about.

* Allows for linuxbios name matching and pci-subsystem id matching.
  The latter uses a double set to properly distuinguish boards despite
  of some known vendors being lax about it.
* Fixes GPIO15 being raised on every VT8235 southbridge, regardless of what
  that line actually controls; rom on EPIA-M, backlight on mitac 8999 laptop.
* Adds flashrom support for Asus A7V400-MX (KM400 + VT8235)
* Island aruma was renamed agami aruma, the board specific code now got
  adjusted. A set of pci-ids was retrieved from source code.

Corresponding to flashrom svn r99 and coreboot v2 svn r2581.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-04-04 22:45:58 +00:00
Uwe Hermann
af2b52dc5f Drop useless and partly even incorrect comments
Corresponding to flashrom svn r98 and coreboot v2 svn r2578.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-04-01 20:00:32 +00:00
Uwe Hermann
0b7afe65fb Coding style fixes
Corresponding to flashrom svn r97 and coreboot v2 svn r2577.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-04-01 19:44:21 +00:00
David Hendricks
71437d076f Add Winbond W39V080A support
Corresponding to flashrom svn r92 and coreboot v2 svn r2565.

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-03-02 02:25:36 +00:00
Adam Kaufman
064b1f23fa This patch is a rework of Adam Kaufman's Solaris patch
* flash.h:
  - add a license header
  - add system definitions
* flash_enable.c:
  - put io priviledge access in one single place
  - add includes required for Solaris.
* lbtable.c, flash_rom.c, 82802ab.c:
  - use MEM_DEV so it works on Solaris
* sst49lfxxxc.c, sharplhf00l04.c, sst_fwhub.c, 82802ab.c
  - drop unneeded include to sys/io.h
* Makefile
  - adapt to Solaris specifics.

Corresponding to flashrom svn r88 and coreboot v2 svn r2550.

Signed-off-by: Adam Kaufman <adam.kaufman@pinnacle.com>
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Adam Kaufman <adam.kaufman@pinnacle.com>
2007-02-06 19:47:50 +00:00
Alan Carvalho de Assis
474230ad42 Add support for the SST 49LF160C
Corresponding to flashrom svn r87 and coreboot v2 svn r2539.

Signed-off-by: Alan Carvalho de Assis <acassis@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-01-27 13:39:06 +00:00
Yinghai Lu
ca78297374 Add support for the SST-49LF004C, SST-49LF008C, SST-49LF016C
Also add suport for NVIDIA MCP55.

Corresponding to flashrom svn r85 and coreboot v2 svn r2537.

Signed-off-by: Yinghai Lu <yinghai.lu@amd.com>
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Peter Stuge <peter@stuge.se>
2007-01-22 20:21:17 +00:00
Stefan Reinauer
ef54abab33 Add support for ASD AE49F2008
Corresponding to flashrom svn r77 and coreboot v2 svn r2504.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2006-11-21 23:51:08 +00:00
Uwe Hermann
566820d7f6 Rename SM_ID to SYNCMOS_ID
Corresponding to flashrom svn r75 and coreboot v2 svn r2502.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2006-11-21 15:09:05 +00:00
Uwe Hermann
838c7697a1 Add support for the SyncMOS S29C51001T, S29C51004T, and S29C31004T
Corresponding to flashrom svn r74 and coreboot v2 svn r2501.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
2006-11-21 15:02:27 +00:00
Giampiero Giancipoli
a8c8082c1f Support for the 256K SyncMos S29C51002T flash
Corresponding to flashrom svn r72 and coreboot v2 svn r2499.

Signed-off-by: Giampiero Giancipoli <gianci@email.it>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2006-11-20 20:03:07 +00:00
Uwe Hermann
e205d98044 Here's a small patch to add support for the SST 49LF020A
Corresponding to flashrom svn r66 and coreboot v2 svn r2450.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
X-Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
2006-10-07 22:59:03 +00:00
Stefan Reinauer
e807d82e7d Add support for SST39SF040, SST39SF010A and W39V040B
Corresponding to flashrom svn r58 and coreboot v2 svn r2354.
2006-07-31 23:37:17 +00:00
Stefan Reinauer
64f05bb12f Signed-off-by: Scott Tsai <scott.tsai@arima.com.tw>
Data sheet:
http://www.alldatasheet.com/datasheet-pdf/pdf/47674/WINBOND/W49V002FAP.html

Corresponding to flashrom svn r56 and coreboot v2 svn r2341.
2006-07-19 15:13:21 +00:00
Stefan Reinauer
af2c2b5f2b Add support for EFST F49B002UA (untested)
Corresponding to flashrom svn r55 and coreboot v2 svn r2336.
2006-06-30 20:07:50 +00:00
Stefan Reinauer
6424faf2f4 Add support for PMC 49FL002 as used in the RD1-PMC2
Corresponding to flashrom svn r54 and coreboot v2 svn r2332.
2006-06-25 09:56:45 +00:00