mirror of
https://review.coreboot.org/flashrom.git
synced 2025-11-08 00:41:27 +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:
committed by
Anastasia Klimchuk
parent
5c3fd47332
commit
666f6366c9
@@ -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",
|
||||
|
||||
@@ -1019,6 +1019,7 @@
|
||||
#define WINBOND_NEX_W25Q20_W 0x5012 /* W25Q20BW */
|
||||
#define WINBOND_NEX_W25Q40BW 0x5013 /* W25Q40BW */
|
||||
#define WINBOND_NEX_W25Q80BW 0x5014 /* W25Q80BW */
|
||||
#define WINBOND_NEX_W35T02NW 0x5B1C /* W35T02NW */
|
||||
#define WINBOND_NEX_W25Q40EW 0x6013 /* W25Q40EW */
|
||||
#define WINBOND_NEX_W25Q80EW 0x6014 /* W25Q80EW */
|
||||
#define WINBOND_NEX_W25Q16_W 0x6015 /* W25Q16DW */
|
||||
|
||||
Reference in New Issue
Block a user