flashchips: Add missing QE-bit definitions
For all remaining chips that are already tagged as supporting quad-i/o,
add missing QE-bit definitions.
Change-Id: I24fa7187c528882b78ac4ba376c410e06bf44f2b
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.sourcearcade.org/c/flashprog/+/124
Tested-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
diff --git a/flashchips.c b/flashchips.c
index dedf15f..32fce30 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -2461,6 +2461,7 @@
.voltage = {1700, 2000},
.reg_bits =
{
+ .qe = {STATUS2, 1, RW},
.srp = {STATUS1, 7, RW},
.srl = {STATUS2, 0, RW},
.bp = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}},
@@ -3583,7 +3584,8 @@
.model_id = BOYA_BOHONG_B_25Q128AS,
.total_size = 16384,
.page_size = 256,
- .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QIO,
+ .feature_bits = FEATURE_WRSR_WREN | FEATURE_WRSR2 | FEATURE_WRSR3 |
+ FEATURE_OTP | FEATURE_QIO,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
@@ -3606,6 +3608,10 @@
.block_erase = spi_block_erase_c7,
}
},
+ .reg_bits =
+ {
+ .qe = {STATUS2, 1, RW},
+ },
.printlock = spi_prettyprint_status_register_plain,
.unlock = spi_disable_blockprotect_at25fs040,
.write = spi_chip_write_256,
@@ -6196,7 +6202,8 @@
.page_size = 256,
/* supports SFDP */
/* OTP: 1024B total; read 0x48; write 0x42, erase 0x44, read ID 0x4B */
- .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI_SRP,
+ .feature_bits = FEATURE_WRSR_WREN | FEATURE_WRSR_EXT2 |
+ FEATURE_OTP | FEATURE_QPI_SRP,
.dummy_cycles = { .qpi_read_params = { 2, 4, 6, 8 } },
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
@@ -6219,6 +6226,10 @@
.block_erase = spi_block_erase_c7,
},
},
+ .reg_bits =
+ {
+ .qe = {STATUS2, 1, RW},
+ },
.printlock = spi_prettyprint_status_register_bp2_tb_bpl, /* bit6 selects size of protected blocks; TODO: SR2 */
.unlock = spi_disable_blockprotect_bp2_srwd,
.write = spi_chip_write_256,
@@ -6236,7 +6247,8 @@
.page_size = 256,
/* supports SFDP */
/* OTP: 1024B total; read 0x48; write 0x42, erase 0x44, read ID 0x4B */
- .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI_SRP,
+ .feature_bits = FEATURE_WRSR_WREN | FEATURE_WRSR_EXT2 |
+ FEATURE_OTP | FEATURE_QPI_SRP,
.dummy_cycles = { .qpi_read_params = { 2, 4, 6, 8 } },
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
@@ -6259,6 +6271,10 @@
.block_erase = spi_block_erase_c7,
}
},
+ .reg_bits =
+ {
+ .qe = {STATUS2, 1, RW},
+ },
.printlock = spi_prettyprint_status_register_bp2_tb_bpl, /* bit6 selects size of protected blocks; TODO: SR2 */
.unlock = spi_disable_blockprotect_bp2_srwd,
.write = spi_chip_write_256,
@@ -6276,7 +6292,8 @@
.page_size = 256,
/* supports SFDP */
/* OTP: 1024B total; read 0x48; write 0x42, erase 0x44, read ID 0x4B */
- .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI_SRP,
+ .feature_bits = FEATURE_WRSR_WREN | FEATURE_WRSR_EXT2 |
+ FEATURE_OTP | FEATURE_QPI_SRP,
.dummy_cycles = { .qpi_read_params = { 2, 4, 6, 8 } },
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
@@ -6299,6 +6316,10 @@
.block_erase = spi_block_erase_c7,
},
},
+ .reg_bits =
+ {
+ .qe = {STATUS2, 1, RW},
+ },
.printlock = spi_prettyprint_status_register_bp2_tb_bpl, /* bit6 selects size of protected blocks; TODO: SR2 */
.unlock = spi_disable_blockprotect_bp2_srwd,
.write = spi_chip_write_256,