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

125 Commits

Author SHA1 Message Date
Stefan Reinauer
a9424d597d Multiple unrelated changes
* ICH7 SPI support
* fix some variable names in ichspi.c (Offset -> offset)
* Dump ICH7 SPI bar with -V
* Improve error message in case IOPL goes wrong. (It might not even be an IOPL)

Corresponding to flashrom svn r278 and coreboot v2 svn r3393.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>
2008-06-27 16:28:34 +00:00
Peter Stuge
da4e5f3623 Slight restructure of SPI probe_ functions
Preparation for a probe optimization patch. This patch does not change any
functionality. spi_probe_rdid was tested to still work on my M57SLI rev 2.

The idea is to have error checks return error immediately when something
fails, rather than having code inside an if block where the condition
tests for success.

This means: Less indentation, more clear what the code is checking.

Corresponding to flashrom svn r272 and coreboot v2 svn r3386.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Ward Vandewege <ward@gnu.org>
2008-06-24 01:22:03 +00:00
Dominik Geyer
b46acba6e0 Add support for SPI chips on ICH9
This is done by using the generic SPI interface.

Corresponding to flashrom svn r239 and coreboot v2 svn r3325.

Signed-off-by: Dominik Geyer <dominik.geyer@kontron.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-05-16 12:55:55 +00:00
Carl-Daniel Hailfinger
f43e6428db Print detailed status register information for SST25VF series flash
Corresponding to flashrom svn r237 and coreboot v2 svn r3323.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
2008-05-15 22:32:08 +00:00
Carl-Daniel Hailfinger
42c5497180 Add support for the JEDEC RES
Add support for the JEDEC RES (Read Electronic Signature and Resume from
Powerdown) SPI command to identify older SPI chips which can't handle
JEDEC RDID.

Since RES gives a one-byte identifier which is shared among many
different vendors and even different sizes, we want to match RES as a
last resort if RDID returns 0xff 0xff 0xff.

Corresponding to flashrom svn r235 and coreboot v2 svn r3320.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

This is a heavily reworked version of a patch by Fredrik Tolf, which was
Signed-off-by: Fredrik Tolf <fredrik@dolda2000.com>
2008-05-15 03:19:49 +00:00
Carl-Daniel Hailfinger
a758f5100d Check the JEDEC vendor ID for correct parity
Flash chips which can be detected by JEDEC probe routines all have
vendor IDs with correct parity. Use a parity check as additional hint
whether a vendor ID makes sense. Note: Device IDs have no parity
requirements whatsoever.

Corresponding to flashrom svn r231 and coreboot v2 svn r3308.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
2008-05-14 12:03:06 +00:00
Carl-Daniel Hailfinger
bfe5b4ab74 Move all IT87xx specific SPI routines from spi.c to a separate file it87spi.c
No behavioural changes, but greatly improved SPI abstraction.

Corresponding to flashrom svn r229 and coreboot v2 svn r3305.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
2008-05-13 23:03:12 +00:00
Carl-Daniel Hailfinger
d6cbf76ee5 Move the SPI #defines from spi.c to spi.h
This patch has no code changes.

Corresponding to flashrom svn r228 and coreboot v2 svn r3302.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
2008-05-13 14:58:23 +00:00
Carl-Daniel Hailfinger
228231ff2c Change the SPI parts of flashrom to prepare for a merge of ICH9 SPI support
In theory, this patch has no behaviour changes.

Corresponding to flashrom svn r227 and coreboot v2 svn r3301.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
2008-05-13 14:01:22 +00:00
Carl-Daniel Hailfinger
a5b8efd377 Improve flashrom SPI abstraction, second step
This paves the way to have a fully generic generic_spi_command without
knowledge about any SPI controller.

The third step would be calling SPI controller functions via a function
pointer.

Corresponding to flashrom svn r224 and coreboot v2 svn r3296.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
2008-05-10 23:40:51 +00:00
Peter Stuge
fa8c550fb6 Rename generic_spi_*() functions to spi_*()
This is a very early step toward cleaning up SPI code in flashrom.

Corresponding to flashrom svn r223 and coreboot v2 svn r3295.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-05-10 23:07:52 +00:00
Carl-Daniel Hailfinger
1263d2af08 Handle JEDEC JEP106W continuation codes in SPI RDID
Some vendors like Programmable Micro Corp (PMC) need this. Both the
serial and parallel flash JEDEC detection routines would benefit from a
parity/sanity check of the vendor ID. Will do this later.

Add support for the PMC Pm25LV family of SPI flash chips.

Corresponding to flashrom svn r191 and coreboot v2 svn r3091.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Chris Lingard  <chris@stockwith.co.uk>
2008-02-06 22:07:58 +00:00
Carl-Daniel Hailfinger
d3568adfe1 Make sure we delay writing the next byte long enough in SPI byte programming
Minor formatting changes.

Corresponding to flashrom svn r184 and coreboot v2 svn r3069.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Harald Gutmann <harald.gutmann@gmx.net>
2008-01-22 14:37:31 +00:00
Ronald Hoogenboom
d4554c5d73 Omitting the wait for SPI ready when there is no data to be read, e.g
readcnt==0 saves 10 seconds with the unconditional 10us delay, reducing
programming time for SST25VF016B to 40-45 secs.

Corresponding to flashrom svn r183 and coreboot v2 svn r3068.

Signed-off-by: Ronald Hoogenboom <hoogenboom30@zonnet.nl>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-01-21 23:55:08 +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
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
9a3ec82063 Print the chip status register for all SPI chips on probe if verbose output is specified
Pretty-print the chip status register (including block lock information)
for ST M25P family and Macronix MX25L family chips.

Corresponding to flashrom svn r168 and coreboot v2 svn r3026.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Corey Osgood <corey.osgood@gmail.com>
2007-12-29 10:15:58 +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
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
145acec2a3 Remove hardcoded wait from SPI write/erase routines and check the chip status register instead
This has been tested by Harald Gutmann <harald.gutmann@gmx.net> with a
MX25L4005 chip.

Corresponding to flashrom svn r154 and coreboot v2 svn r2876.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-10-18 17:56:42 +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
Uwe Hermann
a502dcea3d Some cosmetic cleanups in the flashrom code and output
Corresponding to flashrom svn r151 and coreboot v2 svn r2873.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-10-17 23:55:15 +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
70539260f5 Add spi.c forgotten in r145
Corresponding to flashrom svn r146 and coreboot v2 svn r2858.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2007-10-15 21:45:29 +00:00