summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Mikhalev <alex@corvus-robotics.com>2022-11-29 11:28:11 -0800
committerAnastasia Klimchuk <aklm@chromium.org>2023-06-08 08:02:46 +0000
commit1c22de20eaa34f7ab9a5e53fb91c51212471d509 (patch)
treefc8b6cee9de2e873f6d206ae0168bce2c4776318
parent104503375d8eb451b54252f5f2c2da8565590497 (diff)
downloadflashrom-1c22de20eaa34f7ab9a5e53fb91c51212471d509.tar.gz
flashrom-1c22de20eaa34f7ab9a5e53fb91c51212471d509.tar.bz2
flashrom-1c22de20eaa34f7ab9a5e53fb91c51212471d509.zip
flashchips: Add support for IS25WP016
Tested reading, writing and erasing using `linux_spi` programmer on Raspberry Pi CM4. Datasheet: https://web.archive.org/web/20221129211027/https://www.issi.com/WW/pdf/25LP-WP016D.pdf Change-Id: I2b8caea229ffda72f1b04183c31715faccb64ad5 Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/70140 Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Anastasia Klimchuk <aklm@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--flashchips.c42
-rw-r--r--include/flashchips.h1
2 files changed, 43 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c
index 287e2f519..3e19659c6 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -7645,6 +7645,48 @@ const struct flashchip flashchips[] = {
{
.vendor = "ISSI",
+ .name = "IS25WP016",
+ .bustype = BUS_SPI,
+ .manufacture_id = ISSI_ID_SPI,
+ .model_id = ISSI_IS25WP016,
+ .total_size = 2048,
+ .page_size = 256,
+ /* OTP: 1024B total; read 0x48; write 0x42 */
+ /* QPI enable 0x35, disable 0xF5 */
+ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
+ .tested = TEST_OK_PREW,
+ .probe = PROBE_SPI_RDID,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 512} },
+ .block_erase = SPI_BLOCK_ERASE_20,
+ }, {
+ .eraseblocks = { {4 * 1024, 512} },
+ .block_erase = SPI_BLOCK_ERASE_D7,
+ }, {
+ .eraseblocks = { {32 * 1024, 64} },
+ .block_erase = SPI_BLOCK_ERASE_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 32} },
+ .block_erase = SPI_BLOCK_ERASE_D8,
+ }, {
+ .eraseblocks = { {2 * 1024 * 1024, 1} },
+ .block_erase = SPI_BLOCK_ERASE_60,
+ }, {
+ .eraseblocks = { {2 * 1024 * 1024, 1} },
+ .block_erase = SPI_BLOCK_ERASE_C7,
+ }
+ },
+ .unlock = SPI_DISABLE_BLOCKPROTECT,
+ .write = SPI_CHIP_WRITE256,
+ .read = SPI_CHIP_READ,
+ .voltage = {1650, 1950},
+ },
+
+ {
+ .vendor = "ISSI",
.name = "IS25WP032",
.bustype = BUS_SPI,
.manufacture_id = ISSI_ID_SPI,
diff --git a/include/flashchips.h b/include/flashchips.h
index a0fbf5545..dc4a05956 100644
--- a/include/flashchips.h
+++ b/include/flashchips.h
@@ -476,6 +476,7 @@
#define ISSI_IS25LP064 0x6017
#define ISSI_IS25LP128 0x6018
#define ISSI_IS25LP256 0x6019
+#define ISSI_IS25WP016 0x7015
#define ISSI_IS25WP032 0x7016
#define ISSI_IS25WP064 0x7017
#define ISSI_IS25WP128 0x7018