diff options
author | Jason Shriver <j.shriver@f5.com> | 2010-09-14 13:16:01 +0000 |
---|---|---|
committer | Uwe Hermann <uwe@hermann-uwe.de> | 2010-09-14 13:16:01 +0000 |
commit | 4119e9b6094c6ae5db68e1e49d8f947be0e49c42 (patch) | |
tree | 2613f25421c7b646de8f2999763f3b7e862e6c17 | |
parent | 7b61df80fb9fa12c3fdb32813336d7d0821ae7e3 (diff) | |
download | flashrom-4119e9b6094c6ae5db68e1e49d8f947be0e49c42.tar.gz flashrom-4119e9b6094c6ae5db68e1e49d8f947be0e49c42.tar.bz2 flashrom-4119e9b6094c6ae5db68e1e49d8f947be0e49c42.zip |
Add support for ST M25PX32 and M25PX64 flash chips
Probe, read, erase and write have been tested and all are functional.
Corresponding to flashrom svn r1165.
Signed-off-by: Jason Shriver <j.shriver@f5.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
-rw-r--r-- | flashchips.c | 58 | ||||
-rw-r--r-- | flashchips.h | 2 |
2 files changed, 60 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c index a4a999e2..c867dd98 100644 --- a/flashchips.c +++ b/flashchips.c @@ -6114,6 +6114,64 @@ struct flashchip flashchips[] = { { .vendor = "ST", + .name = "M25PX32", + .bustype = CHIP_BUSTYPE_SPI, + .manufacture_id = ST_ID, + .model_id = ST_M25PX32, + .total_size = 4096, + .page_size = 256, + .tested = TEST_OK_PREW, + .probe = probe_spi_rdid, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { { 4 * 1024, 1024 } }, + .block_erase = spi_block_erase_20, + }, { + .eraseblocks = { {64 * 1024, 64} }, + .block_erase = spi_block_erase_d8, + }, { + .eraseblocks = { {4 * 1024 * 1024, 1} }, + .block_erase = spi_block_erase_c7, + } + }, + .unlock = spi_disable_blockprotect, + .write = spi_chip_write_256, + .read = spi_chip_read, + }, + + { + .vendor = "ST", + .name = "M25PX64", + .bustype = CHIP_BUSTYPE_SPI, + .manufacture_id = ST_ID, + .model_id = ST_M25PX64, + .total_size = 8192, + .page_size = 256, + .tested = TEST_OK_PREW, + .probe = probe_spi_rdid, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { { 4 * 1024, 2048 } }, + .block_erase = spi_block_erase_20, + }, { + .eraseblocks = { {64 * 1024, 128} }, + .block_erase = spi_block_erase_d8, + }, { + .eraseblocks = { {8 * 1024 * 1024, 1} }, + .block_erase = spi_block_erase_c7, + } + }, + .unlock = spi_disable_blockprotect, + .write = spi_chip_write_256, + .read = spi_chip_read, + }, + + { + .vendor = "ST", .name = "M29F002B", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = ST_ID, diff --git a/flashchips.h b/flashchips.h index d6b381f8..eb71aee8 100644 --- a/flashchips.h +++ b/flashchips.h @@ -487,6 +487,8 @@ #define ST_M25P32 0x2016 #define ST_M25P64 0x2017 #define ST_M25P128 0x2018 +#define ST_M25PX32 0x7116 +#define ST_M25PX64 0x7117 #define ST_M25PE10 0x8011 #define ST_M25PE20 0x8012 #define ST_M25PE40 0x8013 |