aboutsummaryrefslogtreecommitdiffstats
path: root/flashchips.c
diff options
context:
space:
mode:
authorRonald Hoogenboom <hoogenboom30@zonnet.nl>2008-01-19 00:04:46 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2008-01-19 00:04:46 +0000
commit7ff530b40ef862e4d1bf6b30c34635a279a1b312 (patch)
tree2f1bd36d392569740f39ed531de721c2eb54661c /flashchips.c
parent42eb17fc5ed4feb8f6b2f8f2b20626d539861afd (diff)
downloadflashrom-7ff530b40ef862e4d1bf6b30c34635a279a1b312.tar.gz
flashrom-7ff530b40ef862e4d1bf6b30c34635a279a1b312.tar.bz2
flashrom-7ff530b40ef862e4d1bf6b30c34635a279a1b312.zip
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>
Diffstat (limited to 'flashchips.c')
-rw-r--r--flashchips.c34
1 files changed, 21 insertions, 13 deletions
diff --git a/flashchips.c b/flashchips.c
index 18589c06..f4a53910 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -51,13 +51,13 @@ struct flashchip flashchips[] = {
{"MX29F002", MX_ID, MX_29F002, 256, 64 * 1024,
probe_29f002, erase_29f002, write_29f002},
{"MX25L4005", MX_ID, MX_25L4005, 512, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"MX25L8005", MX_ID, MX_25L8005, 1024, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"SST25VF040B", SST_ID, SST_25VF040B, 512, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"SST25VF016B", SST_ID, SST_25VF016B, 2048, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"SST29EE020A", SST_ID, SST_29EE020A, 256, 128,
probe_jedec, erase_chip_jedec, write_jedec},
{"SST28SF040A", SST_ID, SST_28SF040, 512, 256,
@@ -122,6 +122,14 @@ struct flashchip flashchips[] = {
probe_jedec, erase_chip_jedec, write_39sf020},
{"W39V080A", WINBOND_ID, W_39V080A, 1024, 64*1024,
probe_jedec, erase_chip_jedec, write_39sf020},
+ {"W25x10", WINBOND_NEX_ID, W_25X10, 128, 256,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
+ {"W25x20", WINBOND_NEX_ID, W_25X20, 256, 256,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
+ {"W25x40", WINBOND_NEX_ID, W_25X40, 512, 256,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
+ {"W25x80", WINBOND_NEX_ID, W_25X80, 1024, 256,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"M29F002B", ST_ID, ST_M29F002B, 256, 64 * 1024,
probe_jedec, erase_chip_jedec, write_jedec},
{"M50FW040", ST_ID, ST_M50FW040, 512, 64 * 1024,
@@ -151,23 +159,23 @@ struct flashchip flashchips[] = {
{"M29F040B", ST_ID, ST_M29F040B, 512, 64 * 1024,
probe_29f040b, erase_29f040b, write_29f040b},
{"M25P05-A", ST_ID, ST_M25P05A, 64, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"M25P10-A", ST_ID, ST_M25P10A, 128, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"M25P20", ST_ID, ST_M25P20, 256, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"M25P40", ST_ID, ST_M25P40, 512, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"M25P80", ST_ID, ST_M25P80, 1024, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"M25P16", ST_ID, ST_M25P16, 2048, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"M25P32", ST_ID, ST_M25P32, 4096, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"M25P64", ST_ID, ST_M25P64, 8192, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"M25P128", ST_ID, ST_M25P128, 16384, 256,
- probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read},
{"82802ab", 137, 173, 512, 64 * 1024,
probe_82802ab, erase_82802ab, write_82802ab},
{"82802ac", 137, 172, 1024, 64 * 1024,