Miklós Márton has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/43573 )
Change subject: Add support for Winbond W25X05CL ......................................................................
Add support for Winbond W25X05CL
This commit adds support for the Winbond W25X05CL SPI flash chip. The Winbond W25X05CL is a 512K-BIT SPI flash chip with 4KB sectors. I have tested this patch with a Bus Pirate (v3b) and an in-circuit W25X05CL flash chip using a test clip. Reading, erasing, and writing all function as expected.
Datasheet: http://www.winbond.com/resource-files/w25x05cl_f%2004252017.pdf
Change-Id: I19c33c7da374f0263f30577a10a0f0f1afa4febc Signed-off-by: Jacob Appelbaum jacob@appelbaum.net --- M flashchips.c M flashchips.h 2 files changed, 33 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/73/43573/1
diff --git a/flashchips.c b/flashchips.c index 48405fe..3d8042d 100644 --- a/flashchips.c +++ b/flashchips.c @@ -17329,6 +17329,38 @@
{ .vendor = "Winbond", + .name = "W25X05", + .bustype = BUS_SPI, + .manufacture_id = WINBOND_NEX_ID, + .model_id = WINBOND_NEX_W25X05, + .total_size = 64, + .page_size = 256, + .feature_bits = FEATURE_WRSR_WREN, + .tested = TEST_OK_PREW, + .probe = probe_spi_rdid, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {4 * 1024, 16} }, + .block_erase = spi_block_erase_20, + }, { + .eraseblocks = { {32 * 1024, 2} }, + .block_erase = spi_block_erase_52, + }, { + .eraseblocks = { {64 * 1024, 1} }, + .block_erase = spi_block_erase_d8, + } + }, + .printlock = spi_prettyprint_status_register_plain, + .unlock = spi_disable_blockprotect, + .write = spi_chip_write_256, + .read = spi_chip_read, + .voltage = {2300, 3600}, + }, + + { + .vendor = "Winbond", .name = "W25X10", .bustype = BUS_SPI, .manufacture_id = WINBOND_NEX_ID, diff --git a/flashchips.h b/flashchips.h index c58595d..f6e2588 100644 --- a/flashchips.h +++ b/flashchips.h @@ -917,6 +917,7 @@ #define WINBOND_NEX_W25P80 0x2014 #define WINBOND_NEX_W25P16 0x2015 #define WINBOND_NEX_W25P32 0x2016 +#define WINBOND_NEX_W25X05 0x3010 /* W25X05CL */ #define WINBOND_NEX_W25X10 0x3011 #define WINBOND_NEX_W25X20 0x3012 #define WINBOND_NEX_W25X40 0x3013