diff options
author | Jacob Appelbaum <jacob@appelbaum.net> | 2019-09-02 09:10:43 -0400 |
---|---|---|
committer | Angel Pons <th3fanbus@gmail.com> | 2020-07-26 09:16:20 +0000 |
commit | f4eeefd8aba94aca007c8f4b65b551df3a5fa07a (patch) | |
tree | 98b378e68c3916a926b8fc0425265d847623add6 | |
parent | e410164d11affb73971dc947c5dcfb3f39a2dfeb (diff) | |
download | flashrom-f4eeefd8aba94aca007c8f4b65b551df3a5fa07a.tar.gz flashrom-f4eeefd8aba94aca007c8f4b65b551df3a5fa07a.tar.bz2 flashrom-f4eeefd8aba94aca007c8f4b65b551df3a5fa07a.zip |
Add support for Winbond W25X05CL
This commit adds support for the Winbond W25X05CL SPI flash chip. The
Winbond W25X05CL is a 512Kib (64 KiB) SPI flash chip with 4KiB 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.
Change-Id: I19c33c7da374f0263f30577a10a0f0f1afa4febc
Signed-off-by: Jacob Appelbaum <jacob@appelbaum.net>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/43573
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r-- | flashchips.c | 32 | ||||
-rw-r--r-- | flashchips.h | 1 |
2 files changed, 33 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c index 48405fef..3d8042d0 100644 --- a/flashchips.c +++ b/flashchips.c @@ -17329,6 +17329,38 @@ const struct flashchip flashchips[] = { { .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 c58595d0..f6e2588c 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 |