diff options
author | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2009-10-01 13:15:01 +0000 |
---|---|---|
committer | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2009-10-01 13:15:01 +0000 |
commit | 4010712033b988f0be85f790982a12bb4010094b (patch) | |
tree | ef7410b7271f893786b85dbc262f6740eecdd6d9 /flashchips.c | |
parent | 2bc98f6c915f615fe5262eceeeb280c12d337357 (diff) | |
download | flashrom-4010712033b988f0be85f790982a12bb4010094b.tar.gz flashrom-4010712033b988f0be85f790982a12bb4010094b.tar.bz2 flashrom-4010712033b988f0be85f790982a12bb4010094b.zip |
Add comments about the meaning of block erase related struct flashchip members
Cosmetics: Place curly brackets on a common line.
Add MX25V512 as alias name to MX25L512.
Add MX25V8005 as alias name to MX25L8005.
Add erase block definitions for
MX25L2005, MX25L4005, MX25L8005, MX25L1605
and change their status to TEST_OK_PRW where applicable.
Corresponding to flashrom svn r738.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
Diffstat (limited to 'flashchips.c')
-rw-r--r-- | flashchips.c | 116 |
1 files changed, 95 insertions, 21 deletions
diff --git a/flashchips.c b/flashchips.c index b876d51b..c8d51bff 100644 --- a/flashchips.c +++ b/flashchips.c @@ -44,6 +44,11 @@ struct flashchip flashchips[] = { * .probe = Probe function * .probe_timing = Probe function delay * .erase = Chip erase function + * .block_erasers[] = Array of erase layouts and erase functions + * { + * .eraseblocks[] = Array of { blocksize, blockcount } + * .block_erase = Block erase function + * } * .write = Chip write function * .read = Chip read function */ @@ -1235,20 +1240,16 @@ struct flashchip flashchips[] = { { .eraseblocks = { {4 * 1024, 16} }, .block_erase = spi_block_erase_20, - }, - { + }, { .eraseblocks = { {64 * 1024, 1} }, .block_erase = spi_block_erase_52, - }, - { + }, { .eraseblocks = { {64 * 1024, 1} }, .block_erase = spi_block_erase_d8, - }, - { + }, { .eraseblocks = { {64 * 1024, 1} }, .block_erase = spi_block_erase_60, - }, - { + }, { .eraseblocks = { {64 * 1024, 1} }, .block_erase = spi_block_erase_c7, }, @@ -1274,16 +1275,13 @@ struct flashchip flashchips[] = { { .eraseblocks = { {4 * 1024, 32} }, .block_erase = spi_block_erase_20, - }, - { + }, { .eraseblocks = { {64 * 1024, 2} }, .block_erase = spi_block_erase_d8, - }, - { + }, { .eraseblocks = { {128 * 1024, 1} }, .block_erase = spi_block_erase_60, - }, - { + }, { .eraseblocks = { {128 * 1024, 1} }, .block_erase = spi_block_erase_c7, }, @@ -1303,7 +1301,26 @@ struct flashchip flashchips[] = { .tested = TEST_UNTESTED, .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, - .erase = spi_chip_erase_60_c7, + .erase = NULL, + .block_erasers = + { + { + .eraseblocks = { {4 * 1024, 64} }, + .block_erase = spi_block_erase_20, + }, { + .eraseblocks = { {64 * 1024, 4} }, + .block_erase = spi_block_erase_52, + }, { + .eraseblocks = { {64 * 1024, 4} }, + .block_erase = spi_block_erase_d8, + }, { + .eraseblocks = { {256 * 1024, 1} }, + .block_erase = spi_block_erase_60, + }, { + .eraseblocks = { {256 * 1024, 1} }, + .block_erase = spi_block_erase_c7, + }, + }, .write = spi_chip_write_256, .read = spi_chip_read, }, @@ -1316,10 +1333,29 @@ struct flashchip flashchips[] = { .model_id = MX_25L4005, .total_size = 512, .page_size = 256, - .tested = TEST_OK_PREW, + .tested = TEST_OK_PRW, .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, - .erase = spi_chip_erase_60_c7, + .erase = NULL, + .block_erasers = + { + { + .eraseblocks = { {4 * 1024, 128} }, + .block_erase = spi_block_erase_20, + }, { + .eraseblocks = { {64 * 1024, 8} }, + .block_erase = spi_block_erase_52, + }, { + .eraseblocks = { {64 * 1024, 8} }, + .block_erase = spi_block_erase_d8, + }, { + .eraseblocks = { {512 * 1024, 1} }, + .block_erase = spi_block_erase_60, + }, { + .eraseblocks = { {512 * 1024, 1} }, + .block_erase = spi_block_erase_c7, + }, + }, .write = spi_chip_write_256, .read = spi_chip_read, }, @@ -1332,10 +1368,29 @@ struct flashchip flashchips[] = { .model_id = MX_25L8005, .total_size = 1024, .page_size = 256, - .tested = TEST_OK_PREW, + .tested = TEST_OK_PRW, .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, - .erase = spi_chip_erase_60_c7, + .erase = NULL, + .block_erasers = + { + { + .eraseblocks = { {4 * 1024, 256} }, + .block_erase = spi_block_erase_20, + }, { + .eraseblocks = { {64 * 1024, 16} }, + .block_erase = spi_block_erase_52, + }, { + .eraseblocks = { {64 * 1024, 16} }, + .block_erase = spi_block_erase_d8, + }, { + .eraseblocks = { {1024 * 1024, 1} }, + .block_erase = spi_block_erase_60, + }, { + .eraseblocks = { {1024 * 1024, 1} }, + .block_erase = spi_block_erase_c7, + }, + }, .write = spi_chip_write_256, .read = spi_chip_read, }, @@ -1348,10 +1403,29 @@ struct flashchip flashchips[] = { .model_id = MX_25L1605, .total_size = 2048, .page_size = 256, - .tested = TEST_OK_PREW, + .tested = TEST_OK_PRW, .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, - .erase = spi_chip_erase_60_c7, + .erase = NULL, + .block_erasers = + { + { + .eraseblocks = { {4 * 1024, 512} }, + .block_erase = spi_block_erase_20, /* This erase function has 64k blocksize for eLiteFlash */ + }, { + .eraseblocks = { {64 * 1024, 32} }, /* Not supported in MX25L1605 (eLiteFlash) and MX25L1605D */ + .block_erase = spi_block_erase_52, + }, { + .eraseblocks = { {64 * 1024, 32} }, + .block_erase = spi_block_erase_d8, + }, { + .eraseblocks = { {2 * 1024 * 1024, 1} }, + .block_erase = spi_block_erase_60, + }, { + .eraseblocks = { {2 * 1024 * 1024, 1} }, + .block_erase = spi_block_erase_c7, + }, + }, .write = spi_chip_write_256, .read = spi_chip_read, }, |