summaryrefslogtreecommitdiffstats
path: root/flashchips.c
diff options
context:
space:
mode:
authorSsunk <ssunkkan@gmail.com>2024-06-23 14:29:00 +0800
committerAnastasia Klimchuk <aklm@chromium.org>2024-06-27 21:18:18 +0000
commit4b1611afbe467db5893906a9e52c21a8fd16949e (patch)
tree113ed946ee1a6ee744328f139fe8a9cd5f327973 /flashchips.c
parenta89d2f906bece8d3941839d887f7e5ef676feda1 (diff)
downloadflashrom-4b1611afbe467db5893906a9e52c21a8fd16949e.tar.gz
flashrom-4b1611afbe467db5893906a9e52c21a8fd16949e.tar.bz2
flashrom-4b1611afbe467db5893906a9e52c21a8fd16949e.zip
flashchips: Add Support for XMC XM25QH16C/XM25QH16D
Add initial support for the SPI flash chip XM25QH16C/XM25QH16D Datasheet link: https://www.xmcwh.com/uploads/798/XM25QH16C_Ver1.8.pdf Tested with ch341a programmer: probe, read, write, erase Change-Id: I215084ed33ca9261f6c7b91ef868ca8db85e61ad Signed-off-by: Kan Sun <ssunkkan@gmail.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/83182 Reviewed-by: Anastasia Klimchuk <aklm@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'flashchips.c')
-rw-r--r--flashchips.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c
index aa16c5064..1a7954c1f 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -21937,6 +21937,44 @@ const struct flashchip flashchips[] = {
{
.vendor = "XMC",
+ .name = "XM25QH16C/XM25QH16D",
+ .bustype = BUS_SPI,
+ .manufacture_id = ST_ID,
+ .model_id = XMC_XM25QH16C,
+ .total_size = 2048,
+ .page_size = 256,
+ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
+ .tested = TEST_OK_PREW,
+ .probe = PROBE_SPI_RDID,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 512} },
+ .block_erase = SPI_BLOCK_ERASE_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 64} },
+ .block_erase = SPI_BLOCK_ERASE_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 32} },
+ .block_erase = SPI_BLOCK_ERASE_D8,
+ }, {
+ .eraseblocks = { {2 * 1024 * 1024, 1} },
+ .block_erase = SPI_BLOCK_ERASE_60,
+ }, {
+ .eraseblocks = { {2 * 1024 * 1024, 1} },
+ .block_erase = SPI_BLOCK_ERASE_C7,
+ }
+ },
+ .printlock = SPI_PRETTYPRINT_STATUS_REGISTER_PLAIN,
+ .unlock = SPI_DISABLE_BLOCKPROTECT,
+ .write = SPI_CHIP_WRITE256,
+ .read = SPI_CHIP_READ,
+ .voltage = {2700, 3600},
+ },
+
+ {
+ .vendor = "XMC",
.name = "XM25QH64C",
.bustype = BUS_SPI,
.manufacture_id = ST_ID,