1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-11-08 08:51:29 +01:00

flashchips: Add W35T02NW

Add initial support for Winbond W35T02NW.
Tested probe, read, write, and erase via linux_spi [0].

[0]: https://paste.flashrom.org/view.php?id=3779

Change-Id: I569e98f2130dd22f5f020d5685c9385accfffce6
Signed-off-by: Jacob Zarnstorff <jacobzarnstorff@gmail.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/89796
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Jacob Zarnstorff
2025-10-28 14:27:11 -05:00
committed by Anastasia Klimchuk
parent 5c3fd47332
commit 666f6366c9
2 changed files with 55 additions and 0 deletions

View File

@@ -2117,6 +2117,60 @@
.decode_range = DECODE_RANGE_SPI25,
},
{
.vendor = "Winbond",
.name = "W35T02NW",
.bustype = BUS_SPI,
.manufacture_id = WINBOND_NEX_ID,
.model_id = WINBOND_NEX_W35T02NW,
.total_size = 256 * 1024,
.page_size = 256,
/* OTP: 256B total; read 0x48; write 0x42, erase 0x44, read ID 0x4B */
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_4BA_WREN,
.tested = TEST_OK_PREW,
.probe = PROBE_SPI_RDID,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
.eraseblocks = { {4 * 1024, 65536} },
.block_erase = SPI_BLOCK_ERASE_21,
}, {
.eraseblocks = { {4 * 1024, 65536} },
.block_erase = SPI_BLOCK_ERASE_20,
}, {
.eraseblocks = { {32 * 1024, 8192} },
.block_erase = SPI_BLOCK_ERASE_5C,
}, {
.eraseblocks = { {32 * 1024, 8192} },
.block_erase = SPI_BLOCK_ERASE_52,
}, {
.eraseblocks = { {64 * 1024, 4096} },
.block_erase = SPI_BLOCK_ERASE_DC,
}, {
.eraseblocks = { {64 * 1024, 4096} },
.block_erase = SPI_BLOCK_ERASE_D8,
}, {
.eraseblocks = { {256 * 1024 * 1024, 1} },
.block_erase = SPI_BLOCK_ERASE_60,
}, {
.eraseblocks = { {256 * 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, 2000}, /* Fast read (0x0B) and multi I/O supported */
.reg_bits =
{
.srp = {STATUS1, 7, RW},
.tb = {STATUS1, 6, RW},
.bp = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}, {STATUS1, 5, RW}}
},
},
/* W29EE011, W29EE012, W29C010M, W29C011A do not support probe_jedec according to the datasheet, but it works for newer(?) steppings. */
{
.vendor = "Winbond",