diff --git a/src/spiFlash.cpp b/src/spiFlash.cpp index 8d90a8b..fb8b17c 100644 --- a/src/spiFlash.cpp +++ b/src/spiFlash.cpp @@ -450,16 +450,27 @@ void SPIFlash::display_status_reg(uint8_t reg) bp |= 1 << i; } + // status register printf("RDSR : %02x\n", reg); - printf("WIP : %d\n", reg&0x01); - printf("WEL : %d\n", (reg>>1)&0x01); - printf("BP : %x\n", bp); - if ((_jedec_id >> 8) != 0x9d60) { - printf("TB : %d\n", tb); - } else { // ISSI IS25LP - printf("QE : %d\n", ((reg >> 6) & 0x01)); + if ((_jedec_id >> 8) != 0xBF2642) { + printf("WIP : %d\n", reg&0x01); + printf("WEL : %d\n", (reg>>1)&0x01); + printf("BP : %x\n", bp); + if ((_jedec_id >> 8) != 0x9d60) { + printf("TB : %d\n", tb); + } else { // ISSI IS25LP + printf("QE : %d\n", ((reg >> 6) & 0x01)); + } + printf("SRWD : %d\n", ((reg >> 7) & 0x01)); + } else { + printf("BUSY : %d\n", (reg >> 0) & 0x01); + printf("WEL : %d\n", (reg >> 1) & 0x01); + printf("WSE : %d\n", (reg >> 2) & 0x01); + printf("WSP : %d\n", (reg >> 3) & 0x01); + printf("WPLD : %d\n", (reg >> 4) & 0x01); + printf("SEC : %d\n", (reg >> 5) & 0x01); + printf("BUSY : %d\n", (reg >> 7) & 0x01); } - printf("SRWD : %d\n", ((reg >> 7) & 0x01)); /* function register */ switch (_jedec_id >> 8) { diff --git a/src/spiFlashdb.hpp b/src/spiFlashdb.hpp index 7221e68..4a81779 100644 --- a/src/spiFlashdb.hpp +++ b/src/spiFlashdb.hpp @@ -124,6 +124,19 @@ static std::map flash_list = { .bp_len = 4, .bp_offset = {(1 << 2), (1 << 3), (1 << 4), (1 << 6)}} }, + {0xBF2642, { + .manufacturer = "microchip", + .model = "SST26VF032B", + .nr_sector = 64, + .sector_erase = true, + .subsector_erase = false, + .has_extended = false, + .tb_otp = true, + .tb_offset = 0, + .tb_register = 0, + .bp_len = 0, + .bp_offset = {}} + }, {0x9d6016, { .manufacturer = "ISSI", .model = "IS25LP032",