flashchips: Add XMC XM25QU64A
Alas, there is no datasheet to be found. Block erasers are confirmed
by SFDP readings, chip erasers are guessed. All similar chips (e.g.
EN25S64, XM25QH64A) have four block-protection bits, so we try that.
Change-Id: I705e9eed1fbc9dd97b8235a1887d88bcde7de5e0
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.sourcearcade.org/c/flashprog/+/577
diff --git a/flashchips.c b/flashchips.c
index 6f28a24..4b55ea9 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -26106,6 +26106,45 @@
},
{
+ /* No datasheet available, this is a mix of
+ SFDP information and educated guessing. */
+ .vendor = "XMC",
+ .name = "XM25QU64A",
+ .bustype = BUS_SPI,
+ .id.type = ID_SPI_RDID,
+ .id.manufacture = SST_ID,
+ .id.model = XMC_XM25QU64A,
+ .total_size = 8192,
+ .page_size = 256,
+ .feature_bits = FEATURE_WRSR_WREN,
+ .tested = TEST_UNTESTED,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 2048} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 256} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 128} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {8192 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {8192 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
+ .printlock = spi_prettyprint_status_register_bp3_srwd,
+ .unlock = spi_disable_blockprotect_bp3_srwd,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
+ .voltage = {1650, 1950},
+ },
+
+ {
.vendor = "XMC",
.name = "XM25QU64C",
.bustype = BUS_SPI,