Anastasia Klimchuk has submitted this change. ( https://review.coreboot.org/c/flashrom/+/81392?usp=email )
Change subject: flashchips: Add Zetta Device ZD25LQ128 ......................................................................
flashchips: Add Zetta Device ZD25LQ128
Datasheet: http://www.zettadevice.com/uploads/files/163410630201e3483211247ac1.pdf
Tested probe, read, erase, write, verify on ZD25LQ128AWIG chips using Linux SPI and DediProg SF100 programmers.
Renamed ZETTADEVICE_ macros to ZETTA_ to accomodate longer suffixes.
Change-Id: I5cb20158e81ab109f16958285b8787858efb4831 Signed-off-by: Anton Samsonov devel@zxlab.ru Reviewed-on: https://review.coreboot.org/c/flashrom/+/81392 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Anastasia Klimchuk aklm@chromium.org --- M flashchips.c M include/flashchips.h 2 files changed, 46 insertions(+), 7 deletions(-)
Approvals: Anastasia Klimchuk: Looks good to me, approved build bot (Jenkins): Verified
diff --git a/flashchips.c b/flashchips.c index 204f34f..74953d1 100644 --- a/flashchips.c +++ b/flashchips.c @@ -21593,8 +21593,8 @@ .vendor = "Zetta Device", .name = "ZD25D20", .bustype = BUS_SPI, - .manufacture_id = ZETTADEVICE_ID, - .model_id = ZETTADEVICE_ZD25D20, + .manufacture_id = ZETTA_ID, + .model_id = ZETTA_ZD25D20, .total_size = 256, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -21631,8 +21631,8 @@ .vendor = "Zetta Device", .name = "ZD25D40", .bustype = BUS_SPI, - .manufacture_id = ZETTADEVICE_ID, - .model_id = ZETTADEVICE_ZD25D40, + .manufacture_id = ZETTA_ID, + .model_id = ZETTA_ZD25D40, .total_size = 512, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -21666,6 +21666,44 @@ },
{ + .vendor = "Zetta Device", + .name = "ZD25LQ128", + .bustype = BUS_SPI, + .manufacture_id = ZETTA_ID, + .model_id = ZETTA_ZD25LQ128_REMS, + .total_size = 16384, + .page_size = 256, + .feature_bits = FEATURE_WRSR_WREN, + .tested = TEST_OK_PREW, + .probe = PROBE_SPI_REMS, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {4 * 1024, 4096} }, + .block_erase = SPI_BLOCK_ERASE_20, + }, { + .eraseblocks = { {32 * 1024, 512} }, + .block_erase = SPI_BLOCK_ERASE_52, + }, { + .eraseblocks = { {64 * 1024, 256} }, + .block_erase = SPI_BLOCK_ERASE_D8, + }, { + .eraseblocks = { {16 * 1024 * 1024, 1} }, + .block_erase = SPI_BLOCK_ERASE_60, + }, { + .eraseblocks = { {16 * 1024 * 1024, 1} }, + .block_erase = SPI_BLOCK_ERASE_C7, + } + }, + .printlock = SPI_PRETTYPRINT_STATUS_REGISTER_PLAIN, /* TODO: improve */ + .unlock = SPI_DISABLE_BLOCKPROTECT, + .write = SPI_CHIP_WRITE256, + .read = SPI_CHIP_READ, + .voltage = {1650, 1950}, + }, + + { .vendor = "Unknown", .name = "SFDP-capable chip", .bustype = BUS_SPI, diff --git a/include/flashchips.h b/include/flashchips.h index d0a858b..932e458 100644 --- a/include/flashchips.h +++ b/include/flashchips.h @@ -1055,8 +1055,9 @@ #define XTX_XT25F02E 0x4012 #define XTX_XT25F64B 0x4017
-#define ZETTADEVICE_ID 0xBA /* Zetta Device */ -#define ZETTADEVICE_ZD25D20 0x2012 -#define ZETTADEVICE_ZD25D40 0x2013 +#define ZETTA_ID 0xBA /* Zetta Device */ +#define ZETTA_ZD25D20 0x2012 +#define ZETTA_ZD25D40 0x2013 +#define ZETTA_ZD25LQ128_REMS 0x17 /* RDID = 0x4218 */
#endif /* !FLASHCHIPS_H */