diff --git a/flashchips.c b/flashchips.c index ff8014021..295eb11f8 100644 --- a/flashchips.c +++ b/flashchips.c @@ -1482,6 +1482,45 @@ const struct flashchip flashchips[] = { .voltage = {3000, 3600}, }, + { + .vendor = "Atmel", + .name = "AT25DF011", + .bustype = BUS_SPI, + .manufacture_id = ATMEL_ID, + .model_id = ATMEL_AT25DF011, + .total_size = 128, + .page_size = 256, + /* OTP: 128B total, 64B pre-programmed; read 0x77; write 0x9B */ + .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, + .tested = TEST_OK_PREW, + .probe = PROBE_SPI_RDID, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {4 * 1024, 32} }, + .block_erase = SPI_BLOCK_ERASE_20, + }, { + .eraseblocks = { {32 * 1024, 4} }, + .block_erase = SPI_BLOCK_ERASE_52, + }, { + .eraseblocks = { {32 * 1024, 4} }, + .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, + } + }, + .printlock = SPI_PRETTYPRINT_STATUS_REGISTER_AT25DF, + .unlock = SPI_DISABLE_BLOCKPROTECT_AT2X_GLOBAL_UNPROTECT, + .write = SPI_CHIP_WRITE256, + .read = SPI_CHIP_READ, + .voltage = {1650, 3600}, + }, + { .vendor = "Atmel", .name = "AT25DF021", diff --git a/include/flashchips.h b/include/flashchips.h index dc4a05956..7d6dc32b2 100644 --- a/include/flashchips.h +++ b/include/flashchips.h @@ -127,6 +127,7 @@ #define AMIC_A49LF040A 0x9d #define ATMEL_ID 0x1F /* Atmel (now used by Adesto) */ +#define ATMEL_AT25DF011 0x4200 #define ATMEL_AT25DF021 0x4300 #define ATMEL_AT25DF021A 0x4301 #define ATMEL_AT25DF041A 0x4401