diff --git a/flashchips.c b/flashchips.c index 1f70846cbdaa25f4009c2e94847e96064d371a5b..3ab19bb81603a74867367a1dcc7ac57649a4597e 100644 --- a/flashchips.c +++ b/flashchips.c @@ -1002,37 +1002,6 @@ struct flashchip flashchips[] = { .read = read_memmapped, }, - { - .vendor = "ASD", - .name = "AE49F2008", - .bustype = CHIP_BUSTYPE_PARALLEL, - .manufacture_id = ASD_ID, - .model_id = ASD_AE49F2008, - .total_size = 256, - .page_size = 128, - .feature_bits = FEATURE_EITHER_RESET, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .probe_timing = TIMING_FIXME, - .block_erasers = - { - { - .eraseblocks = { - {128 * 1024, 1}, - {96 * 1024, 1}, - {8 * 1024, 2}, - {16 * 1024, 1}, - }, - .block_erase = erase_sector_jedec, - }, { - .eraseblocks = { {256 * 1024, 1} }, - .block_erase = erase_chip_block_jedec, - } - }, - .write = write_jedec, - .read = read_memmapped, - }, - { .vendor = "Atmel", .name = "AT25DF021", @@ -6957,7 +6926,7 @@ struct flashchip flashchips[] = { .name = "W25Q80", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25Q80, + .model_id = WINBOND_NEX_W25Q80, .total_size = 1024, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -6993,7 +6962,7 @@ struct flashchip flashchips[] = { .name = "W25Q16", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25Q16, + .model_id = WINBOND_NEX_W25Q16, .total_size = 2048, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -7029,7 +6998,7 @@ struct flashchip flashchips[] = { .name = "W25Q32", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25Q32, + .model_id = WINBOND_NEX_W25Q32, .total_size = 4096, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -7065,7 +7034,7 @@ struct flashchip flashchips[] = { .name = "W25Q64", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25Q64, + .model_id = WINBOND_NEX_W25Q64, .total_size = 8192, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -7101,7 +7070,7 @@ struct flashchip flashchips[] = { .name = "W25x10", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25X10, + .model_id = WINBOND_NEX_W25X10, .total_size = 128, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -7131,7 +7100,7 @@ struct flashchip flashchips[] = { .name = "W25x20", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25X20, + .model_id = WINBOND_NEX_W25X20, .total_size = 256, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -7161,7 +7130,7 @@ struct flashchip flashchips[] = { .name = "W25x40", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25X40, + .model_id = WINBOND_NEX_W25X40, .total_size = 512, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -7191,7 +7160,7 @@ struct flashchip flashchips[] = { .name = "W25x80", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25X80, + .model_id = WINBOND_NEX_W25X80, .total_size = 1024, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -7221,7 +7190,7 @@ struct flashchip flashchips[] = { .name = "W25x16", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25X16, + .model_id = WINBOND_NEX_W25X16, .total_size = 2048, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -7257,7 +7226,7 @@ struct flashchip flashchips[] = { .name = "W25x32", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25X32, + .model_id = WINBOND_NEX_W25X32, .total_size = 4096, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -7293,7 +7262,7 @@ struct flashchip flashchips[] = { .name = "W25x64", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25X64, + .model_id = WINBOND_NEX_W25X64, .total_size = 8192, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -7326,10 +7295,10 @@ struct flashchip flashchips[] = { { .vendor = "Winbond", - .name = "W29C011", + .name = "W29C010(M)/W29C011A/W29EE011/W29EE012", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = WINBOND_ID, - .model_id = W_29C011, + .model_id = WINBOND_W29C010, .total_size = 128, .page_size = 128, .feature_bits = FEATURE_LONG_RESET, @@ -7349,10 +7318,10 @@ struct flashchip flashchips[] = { { .vendor = "Winbond", - .name = "W29C020C", + .name = "W29C020(C)/W29C022", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = WINBOND_ID, - .model_id = W_29C020C, + .model_id = WINBOND_W29C020, .total_size = 256, .page_size = 128, .feature_bits = FEATURE_LONG_RESET, @@ -7372,10 +7341,10 @@ struct flashchip flashchips[] = { { .vendor = "Winbond", - .name = "W29C040P", + .name = "W29C040/P", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = WINBOND_ID, - .model_id = W_29C040P, + .model_id = WINBOND_W29C040, .total_size = 512, .page_size = 256, .feature_bits = FEATURE_LONG_RESET, @@ -7395,10 +7364,10 @@ struct flashchip flashchips[] = { { .vendor = "Winbond", - .name = "W29EE011", + .name = "W29C010(M)/W29C011A/W29EE011/W29EE012", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = WINBOND_ID, - .model_id = W_29C011, + .model_id = WINBOND_W29C010, .total_size = 128, .page_size = 128, .feature_bits = FEATURE_LONG_RESET, @@ -7421,7 +7390,7 @@ struct flashchip flashchips[] = { .name = "W39V040A", .bustype = CHIP_BUSTYPE_LPC, .manufacture_id = WINBOND_ID, - .model_id = W_39V040A, + .model_id = WINBOND_W39V040A, .total_size = 512, .page_size = 64 * 1024, .feature_bits = FEATURE_EITHER_RESET, @@ -7444,10 +7413,10 @@ struct flashchip flashchips[] = { { .vendor = "Winbond", - .name = "W39V040B", + .name = "W39V040(F)B", .bustype = CHIP_BUSTYPE_LPC, .manufacture_id = WINBOND_ID, - .model_id = W_39V040B, + .model_id = WINBOND_W39V040B, .total_size = 512, .page_size = 64 * 1024, .feature_bits = FEATURE_EITHER_RESET, @@ -7470,10 +7439,10 @@ struct flashchip flashchips[] = { { .vendor = "Winbond", - .name = "W39V040C", + .name = "W39V040(F)C", .bustype = CHIP_BUSTYPE_LPC, .manufacture_id = WINBOND_ID, - .model_id = W_39V040C, + .model_id = WINBOND_W39V040C, .total_size = 512, .page_size = 64 * 1024, .feature_bits = FEATURE_EITHER_RESET, @@ -7500,7 +7469,7 @@ struct flashchip flashchips[] = { .name = "W39V040FA", .bustype = CHIP_BUSTYPE_FWH, .manufacture_id = WINBOND_ID, - .model_id = W_39V040FA, + .model_id = WINBOND_W39V040FA, .total_size = 512, .page_size = 64 * 1024, .feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET, @@ -7531,7 +7500,7 @@ struct flashchip flashchips[] = { .name = "W39V080A", .bustype = CHIP_BUSTYPE_LPC, .manufacture_id = WINBOND_ID, - .model_id = W_39V080A, + .model_id = WINBOND_W39V080A, .total_size = 1024, .page_size = 64 * 1024, .feature_bits = FEATURE_EITHER_RESET, @@ -7554,10 +7523,10 @@ struct flashchip flashchips[] = { { .vendor = "Winbond", - .name = "W49F002U", + .name = "W49F002U/N", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = WINBOND_ID, - .model_id = W_49F002U, + .model_id = WINBOND_W49F002U, .total_size = 256, .page_size = 128, .feature_bits = FEATURE_EITHER_RESET, @@ -7588,7 +7557,7 @@ struct flashchip flashchips[] = { .name = "W49F020", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = WINBOND_ID, - .model_id = W_49F020, + .model_id = WINBOND_W49F020, .total_size = 256, .page_size = 128, .feature_bits = FEATURE_EITHER_RESET, @@ -7611,7 +7580,7 @@ struct flashchip flashchips[] = { .name = "W49V002A", .bustype = CHIP_BUSTYPE_LPC, .manufacture_id = WINBOND_ID, - .model_id = W_49V002A, + .model_id = WINBOND_W49V002A, .total_size = 256, .page_size = 128, .feature_bits = FEATURE_EITHER_RESET, @@ -7642,7 +7611,7 @@ struct flashchip flashchips[] = { .name = "W49V002FA", .bustype = CHIP_BUSTYPE_FWH, .manufacture_id = WINBOND_ID, - .model_id = W_49V002FA, + .model_id = WINBOND_W49V002FA, .total_size = 256, .page_size = 128, .feature_bits = FEATURE_EITHER_RESET, @@ -7673,7 +7642,7 @@ struct flashchip flashchips[] = { .name = "W39V080FA", .bustype = CHIP_BUSTYPE_FWH, .manufacture_id = WINBOND_ID, - .model_id = W_39V080FA, + .model_id = WINBOND_W39V080FA, .total_size = 1024, .page_size = 64 * 1024, .feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET, @@ -7700,7 +7669,7 @@ struct flashchip flashchips[] = { .name = "W39V080FA (dual mode)", .bustype = CHIP_BUSTYPE_FWH, .manufacture_id = WINBOND_ID, - .model_id = W_39V080FA_DM, + .model_id = WINBOND_W39V080FA_DM, .total_size = 512, .page_size = 64 * 1024, .feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET, diff --git a/flashchips.h b/flashchips.h index eb71aee8e43d0a6b99daa932013f8e1ebbcb07d7..2ca11635233ab93cda6c88310e869c437f72fa5f 100644 --- a/flashchips.h +++ b/flashchips.h @@ -110,10 +110,6 @@ #define AMIC_A29L040 0x92 #define AMIC_A49LF040A 0x9d -/* This chip vendor/device ID is probably a misinterpreted LHA header. */ -#define ASD_ID 0x25 /* ASD, not listed in JEP106W */ -#define ASD_AE49F2008 0x52 - #define ATMEL_ID 0x1F /* Atmel */ #define AT_25DF021 0x4300 #define AT_25DF041A 0x4401 @@ -543,35 +539,52 @@ * W25X chips are SPI, first byte of device ID is memory type, second * byte of device ID is related to log(bitsize). */ -#define WINBOND_ID 0xDA /* Winbond */ #define WINBOND_NEX_ID 0xEF /* Winbond (ex Nexcom) serial flashes */ -#define W_25X10 0x3011 -#define W_25X20 0x3012 -#define W_25X40 0x3013 -#define W_25X80 0x3014 -#define W_25X16 0x3015 -#define W_25X32 0x3016 -#define W_25X64 0x3017 -#define W_25Q80 0x4014 -#define W_25Q16 0x4015 -#define W_25Q32 0x4016 -#define W_25Q64 0x4017 -#define W_29C011 0xC1 -#define W_29C020C 0x45 /* Same as W29C020 and ASD AE29F2008 */ -#define W_29C040P 0x46 /* Same as W29C040 */ -#define W_29EE011 0xC1 -#define W_39L020 0xB5 -#define W_39L040 0xB6 -#define W_39V040FA 0x34 -#define W_39V040A 0x3D -#define W_39V040B 0x54 -#define W_39V040C 0x50 -#define W_39V080A 0xD0 -#define W_39V080FA 0xD3 -#define W_39V080FA_DM 0x93 -#define W_49F002U 0x0B -#define W_49F020 0x8C -#define W_49V002A 0xB0 -#define W_49V002FA 0x32 +#define WINBOND_NEX_W25X10 0x3011 +#define WINBOND_NEX_W25X20 0x3012 +#define WINBOND_NEX_W25X40 0x3013 +#define WINBOND_NEX_W25X80 0x3014 +#define WINBOND_NEX_W25X16 0x3015 +#define WINBOND_NEX_W25X32 0x3016 +#define WINBOND_NEX_W25X64 0x3017 +#define WINBOND_NEX_W25Q40 0x4013 +#define WINBOND_NEX_W25Q80 0x4014 +#define WINBOND_NEX_W25Q16 0x4015 +#define WINBOND_NEX_W25Q32 0x4016 +#define WINBOND_NEX_W25Q64 0x4017 +#define WINBOND_NEX_W25Q128 0x4018 + +#define WINBOND_ID 0xDA /* Winbond */ +#define WINBOND_W19B160BB 0x49 +#define WINBOND_W19B160BT 0xC4 +#define WINBOND_W19B320SB 0x2A /* Same as W19L320SB */ +#define WINBOND_W19B320ST 0xBA /* Same as W19L320ST */ +#define WINBOND_W19B322MB 0x92 +#define WINBOND_W19B322MT 0x10 +#define WINBOND_W19B323MB 0x94 +#define WINBOND_W19B323MT 0x13 +#define WINBOND_W19B324MB 0x97 +#define WINBOND_W19B324MT 0x16 +#define WINBOND_W29C010 0xC1 /* Same as W29C010M, W29C011A, W29EE011, W29EE012, and ASD AE29F1008 */ +#define WINBOND_W29C020 0x45 /* Same as W29C020C, W29C022 and ASD AE29F2008 */ +#define WINBOND_W29C040 0x46 /* Same as W29C040P */ +#define WINBOND_W29C512A 0xC8 /* Same as W29EE512 */ +#define WINBOND_W39L010 0x31 +#define WINBOND_W39L020 0xB5 +#define WINBOND_W39L040 0xB6 +#define WINBOND_W39L040A 0xD6 +#define WINBOND_W39L512 0x38 +#define WINBOND_W39V040A 0x3D +#define WINBOND_W39V040FA 0x34 +#define WINBOND_W39V040B 0x54 /* Same as W39V040FB */ +#define WINBOND_W39V040C 0x50 /* Same as W39V040FC */ +#define WINBOND_W39V080A 0xD0 +#define WINBOND_W39V080FA 0xD3 +#define WINBOND_W39V080FA_DM 0x93 /* W39V080FA dual mode */ +#define WINBOND_W49F002 0x25 /* Same as W49F002B */ +#define WINBOND_W49F002U 0x0B /* Same as W49F002N and ASD AE49F2008 */ +#define WINBOND_W49F020 0x8C +#define WINBOND_W49V002A 0xB0 +#define WINBOND_W49V002FA 0x32 #endif /* !FLASHCHIPS_H */