From d1ca1e89c14b16e6065a82292ca1a1f4dc227528 Mon Sep 17 00:00:00 2001 From: Stefan Tauner Date: Sun, 31 Jan 2016 23:17:35 +0000 Subject: 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 Acked-by: Stefan Tauner --- flashchips.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 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 -- cgit v1.1