summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Samsonov <Anton.V.Samsonov@mcst.ru>2024-03-21 14:41:02 +0300
committerAnastasia Klimchuk <aklm@chromium.org>2024-03-26 05:34:52 +0000
commitb65f347377b2f6166bd6af09f73d67f41af3a92b (patch)
treea982a27251f295c4060aa54f7f6f5c6ccdc432d5
parent70e1a41eaddea9f81dd674e333a985ecac2c12f8 (diff)
downloadflashrom-b65f347377b2f6166bd6af09f73d67f41af3a92b.tar.gz
flashrom-b65f347377b2f6166bd6af09f73d67f41af3a92b.tar.bz2
flashrom-b65f347377b2f6166bd6af09f73d67f41af3a92b.zip
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>
-rw-r--r--flashchips.c46
-rw-r--r--include/flashchips.h7
2 files changed, 46 insertions, 7 deletions
diff --git a/flashchips.c b/flashchips.c
index 204f34ffb..74953d1bd 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -21593,8 +21593,8 @@ const struct flashchip flashchips[] = {
.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 @@ const struct flashchip flashchips[] = {
.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 @@ const struct flashchip flashchips[] = {
},
{
+ .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 d0a858b1f..932e458ac 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 */