From 305801c89435b3fbaae35ee114898385524fa95d Mon Sep 17 00:00:00 2001 From: Nicholas Dietz Date: Mon, 15 Jun 2026 17:26:59 -0500 Subject: [PATCH] spiFlashdb: add Winbond W25Q256PW (0xef6019, 0xef8019) --- src/spiFlashdb.hpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/spiFlashdb.hpp b/src/spiFlashdb.hpp index 0fdebec..7b17324 100644 --- a/src/spiFlashdb.hpp +++ b/src/spiFlashdb.hpp @@ -766,6 +766,40 @@ static std::map flash_list = { .quad_mask = 0, .global_lock = false, }}, + {0xef6019, { + /* Winbond W25Q25PW (1.8V), 256 Mbit / 32 MiB. Requires 4-byte addressing. */ + .manufacturer = "Winbond", + .model = "W25Q25PW", + .nr_sector = 512, + .sector_erase = true, + .subsector_erase = true, + .has_extended = false, + .tb_otp = false, + .tb_offset = (1 << 6), // TB (SR1 S6) + .tb_register = STATR, + .bp_len = 4, + .bp_offset = {(1 << 2), (1 << 3), (1 << 4), (1 << 5)}, + .quad_register = CONFR, + .quad_mask = (1 << 1), // QE = SR2 S9 = bit1 of byte read by RDSR-2 (0x35) + .global_lock = false, + }}, + {0xef8019, { + /* Winbond W25Q25PW newer-gen die that reports memory-type 0x80. */ + .manufacturer = "Winbond", + .model = "W25Q25PW", + .nr_sector = 512, + .sector_erase = true, + .subsector_erase = true, + .has_extended = false, + .tb_otp = false, + .tb_offset = (1 << 6), // TB (SR1 S6) + .tb_register = STATR, + .bp_len = 4, + .bp_offset = {(1 << 2), (1 << 3), (1 << 4), (1 << 5)}, + .quad_register = CONFR, + .quad_mask = (1 << 1), // QE = SR2 S9 = bit1 of byte read by RDSR-2 (0x35) + .global_lock = false, + }}, {0x6bbb14, { .manufacturer = "Everspin", .model = "EM008LX",