diff options
author | Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> | 2016-01-31 23:17:35 +0000 |
---|---|---|
committer | Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> | 2016-01-31 23:17:35 +0000 |
commit | 22c08dbd08a0508e6ce765041edd3ee75b0b1e65 (patch) | |
tree | 8f38fb7204809a828091480a61ed25f1ea1d3f23 | |
parent | e936031f8760b7906eea3692f18a9f0cbdb8e421 (diff) | |
download | flashrom-22c08dbd08a0508e6ce765041edd3ee75b0b1e65.zip flashrom-22c08dbd08a0508e6ce765041edd3ee75b0b1e65.tar.gz |
Separate Am29F0xx from Am29F0xxA/B definitions
The earlier versions of the chip require 0x2AAA for probes thus split the
definitions and set them to untested to provoke reports.
Corresponding to flashrom svn r1922.
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
-rw-r--r-- | flashchips.c | 89 | ||||
-rw-r--r-- | flashchips.h | 6 |
2 files changed, 88 insertions, 7 deletions
diff --git a/flashchips.c b/flashchips.c index 2164c5e..6fa6446 100644 --- a/flashchips.c +++ b/flashchips.c @@ -59,14 +59,41 @@ const struct flashchip flashchips[] = { { .vendor = "AMD", + .name = "Am29F010", + .bustype = BUS_PARALLEL, + .manufacture_id = AMD_ID, + .model_id = AMD_AM29F010, + .total_size = 128, + .page_size = 16 * 1024, + .feature_bits = FEATURE_SHORT_RESET, + .tested = TEST_UNTESTED, + .probe = probe_jedec, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {16 * 1024, 8} }, + .block_erase = erase_sector_jedec, + }, { + .eraseblocks = { {128 * 1024, 1} }, + .block_erase = erase_chip_block_jedec, + }, + }, + .write = write_jedec_1, + .read = read_memmapped, + .voltage = {4500, 5500}, + }, + + { + .vendor = "AMD", .name = "Am29F010A/B", .bustype = BUS_PARALLEL, .manufacture_id = AMD_ID, - .model_id = AMD_AM29F010B, /* Same as Am29F010A */ + .model_id = AMD_AM29F010, .total_size = 128, .page_size = 16 * 1024, .feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET, - .tested = TEST_OK_PRE, + .tested = TEST_UNTESTED, .probe = probe_jedec, .probe_timing = TIMING_ZERO, .block_erasers = @@ -177,10 +204,37 @@ const struct flashchip flashchips[] = { { .vendor = "AMD", + .name = "Am29F040", + .bustype = BUS_PARALLEL, + .manufacture_id = AMD_ID, + .model_id = AMD_AM29F040, + .total_size = 512, + .page_size = 64 * 1024, + .feature_bits = FEATURE_EITHER_RESET, + .tested = TEST_UNTESTED, + .probe = probe_jedec, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {64 * 1024, 8} }, + .block_erase = erase_sector_jedec, + }, { + .eraseblocks = { {512 * 1024, 1} }, + .block_erase = erase_chip_block_jedec, + }, + }, + .write = write_jedec_1, + .read = read_memmapped, + .voltage = {4500, 5500}, + }, + + { + .vendor = "AMD", .name = "Am29F040B", .bustype = BUS_PARALLEL, .manufacture_id = AMD_ID, - .model_id = AMD_AM29F040B, + .model_id = AMD_AM29F040, .total_size = 512, .page_size = 64 * 1024, .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET, @@ -204,10 +258,37 @@ const struct flashchip flashchips[] = { { .vendor = "AMD", + .name = "Am29F080", + .bustype = BUS_PARALLEL, + .manufacture_id = AMD_ID, + .model_id = AMD_AM29F080, + .total_size = 1024, + .page_size = 64 * 1024, + .feature_bits = FEATURE_EITHER_RESET, + .tested = TEST_UNTESTED, + .probe = probe_jedec, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {64 * 1024, 16} }, + .block_erase = erase_sector_jedec, + }, { + .eraseblocks = { {1024 * 1024, 1} }, + .block_erase = erase_chip_block_jedec, + }, + }, + .write = write_jedec_1, + .read = read_memmapped, + .voltage = {4500, 5500}, + }, + + { + .vendor = "AMD", .name = "Am29F080B", .bustype = BUS_PARALLEL, .manufacture_id = AMD_ID, - .model_id = AMD_AM29F080B, + .model_id = AMD_AM29F080, .total_size = 1024, .page_size = 64 * 1024, .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET, diff --git a/flashchips.h b/flashchips.h index f700025..74c44a0 100644 --- a/flashchips.h +++ b/flashchips.h @@ -64,9 +64,9 @@ #define AMD_AM29F004BB 0x7B #define AMD_AM29F004BT 0x77 #define AMD_AM29F016D 0xAD -#define AMD_AM29F010B 0x20 /* Same as Am29F010A */ -#define AMD_AM29F040B 0xA4 -#define AMD_AM29F080B 0xD5 +#define AMD_AM29F010 0x20 /* Same as Am29F010A and Am29F010B */ +#define AMD_AM29F040 0xA4 /* Same as AM29F040B */ +#define AMD_AM29F080 0xD5 /* Same as Am29F080B */ #define AMD_AM29F200BB 0x57 #define AMD_AM29F200BT 0x51 #define AMD_AM29F400BB 0xAB |