From: Jamin Lin via <qemu-devel@nongnu.org>
To: "Cédric Le Goater" <clg@kaod.org>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Steven Lee" <steven_lee@aspeedtech.com>,
"Troy Lee" <leetroy@gmail.com>,
"Andrew Jeffery" <andrew@codeconstruct.com.au>,
"Joel Stanley" <joel@jms.id.au>,
"Alistair Francis" <alistair@alistair23.me>,
"Kevin Wolf" <kwolf@redhat.com>,
"Hanna Reitz" <hreitz@redhat.com>,
"open list:ASPEED BMCs" <qemu-arm@nongnu.org>,
"open list:All patches CC here" <qemu-devel@nongnu.org>,
"open list:Block layer core" <qemu-block@nongnu.org>
Cc: <jamin_lin@aspeedtech.com>, <troy_lee@aspeedtech.com>,
<kane_chen@aspeedtech.com>
Subject: [PATCH v1 02/12] hw/block/m25p80: Add SFDP table for Winbond W25Q02JVM flash
Date: Thu, 6 Nov 2025 16:49:11 +0800 [thread overview]
Message-ID: <20251106084925.1253704-3-jamin_lin@aspeedtech.com> (raw)
In-Reply-To: <20251106084925.1253704-1-jamin_lin@aspeedtech.com>
Add the SFDP data table for Winbond W25Q02JVM flash device. The table
was generated under Linux kernel by dumping the SFDP content using
the following command:
```
hexdump -v -e '8/1 "0x%02x, " "\n"' \
/sys/bus/spi/devices/spi0.0/spi-nor/sfdp
```
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
---
hw/block/m25p80_sfdp.h | 1 +
hw/block/m25p80.c | 2 ++
hw/block/m25p80_sfdp.c | 36 ++++++++++++++++++++++++++++++++++++
3 files changed, 39 insertions(+)
diff --git a/hw/block/m25p80_sfdp.h b/hw/block/m25p80_sfdp.h
index 35785686a0..c1e532de5a 100644
--- a/hw/block/m25p80_sfdp.h
+++ b/hw/block/m25p80_sfdp.h
@@ -27,6 +27,7 @@ uint8_t m25p80_sfdp_w25q256(uint32_t addr);
uint8_t m25p80_sfdp_w25q512jv(uint32_t addr);
uint8_t m25p80_sfdp_w25q80bl(uint32_t addr);
uint8_t m25p80_sfdp_w25q01jvq(uint32_t addr);
+uint8_t m25p80_sfdp_w25q02jvm(uint32_t addr);
uint8_t m25p80_sfdp_is25wp256(uint32_t addr);
diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
index a5336d92ff..338e17bf1d 100644
--- a/hw/block/m25p80.c
+++ b/hw/block/m25p80.c
@@ -364,6 +364,8 @@ static const FlashPartInfo known_devices[] = {
.sfdp_read = m25p80_sfdp_w25q512jv },
{ INFO("w25q01jvq", 0xef4021, 0, 64 << 10, 2048, ER_4K),
.sfdp_read = m25p80_sfdp_w25q01jvq },
+ { INFO("w25q02jvm", 0xef7022, 0, 64 << 10, 4096, ER_4K),
+ .sfdp_read = m25p80_sfdp_w25q02jvm },
/* Microchip */
{ INFO("25csm04", 0x29cc00, 0x100, 64 << 10, 8, 0) },
diff --git a/hw/block/m25p80_sfdp.c b/hw/block/m25p80_sfdp.c
index a03a291a09..87878c2bf0 100644
--- a/hw/block/m25p80_sfdp.c
+++ b/hw/block/m25p80_sfdp.c
@@ -440,6 +440,42 @@ static const uint8_t sfdp_w25q80bl[] = {
};
define_sfdp_read(w25q80bl);
+static const uint8_t sfdp_w25q02jvm[] = {
+ 0x53, 0x46, 0x44, 0x50, 0x06, 0x01, 0x01, 0xff,
+ 0x00, 0x06, 0x01, 0x10, 0x80, 0x00, 0x00, 0xff,
+ 0x84, 0x00, 0x01, 0x02, 0xd0, 0x00, 0x00, 0xff,
+ 0x03, 0x00, 0x01, 0x02, 0xf0, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe5, 0x20, 0xfb, 0xff, 0xff, 0xff, 0xff, 0x7f,
+ 0x44, 0xeb, 0x08, 0x6b, 0x08, 0x3b, 0x42, 0xbb,
+ 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0xff, 0xff, 0x40, 0xeb, 0x0c, 0x20, 0x0f, 0x52,
+ 0x10, 0xd8, 0x00, 0x00, 0x36, 0x02, 0xa6, 0x00,
+ 0x82, 0xea, 0x14, 0xe2, 0xe9, 0x63, 0x76, 0x33,
+ 0x7a, 0x75, 0x7a, 0x75, 0xf7, 0xa2, 0xd5, 0x5c,
+ 0x19, 0xf7, 0x4d, 0xff, 0xe9, 0x70, 0xf9, 0xa5,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x0a, 0xf0, 0xff, 0x21, 0xff, 0xdc, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+};
+define_sfdp_read(w25q02jvm);
+
/*
* Integrated Silicon Solution (ISSI)
*/
--
2.43.0
next prev parent reply other threads:[~2025-11-06 8:50 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-06 8:49 [PATCH v1 00/12] hw/arm/aspeed: Add AST1060 SoC and EVB support Jamin Lin via
2025-11-06 8:49 ` [PATCH v1 01/12] hw/arm/aspeed: Fix missing SPI IRQ connection causing DMA interrupt failure Jamin Lin via
2025-11-07 7:57 ` Cédric Le Goater
2025-11-10 2:05 ` Jamin Lin
2025-11-10 10:17 ` Cédric Le Goater
2025-11-06 8:49 ` Jamin Lin via [this message]
2025-11-10 14:04 ` [PATCH v1 02/12] hw/block/m25p80: Add SFDP table for Winbond W25Q02JVM flash Cédric Le Goater
2025-11-06 8:49 ` [PATCH v1 03/12] hw/misc/aspeed_scu: Fix the revision ID cannot be set in the SOC layer for AST2600 and AST1030 Jamin Lin via
2025-11-10 14:04 ` Cédric Le Goater
2025-11-06 8:49 ` [PATCH v1 04/12] hhw/misc/aspeed_scu: Add AST1060 A2 silicon revision definition Jamin Lin via
2025-11-10 14:04 ` Cédric Le Goater
2025-11-06 8:49 ` [PATCH v1 05/12] hw/arm/aspeed_ast10x0: Add common init function for AST10x0 SoCs Jamin Lin via
2025-11-10 14:05 ` Cédric Le Goater
2025-11-06 8:49 ` [PATCH v1 06/12] hw/arm/aspeed_ast10x0: Add common realize " Jamin Lin via
2025-11-11 18:18 ` Cédric Le Goater
2025-11-06 8:49 ` [PATCH v1 07/12] hw/arm/aspeed_ast10x0: Pass SoC name to common init for AST10x0 family reuse Jamin Lin via
2025-11-11 18:19 ` Cédric Le Goater
2025-11-12 1:21 ` Jamin Lin
2025-11-06 8:49 ` [PATCH v1 08/12] hw/arm/aspeed_ast10x0: Add AST1060 SoC support Jamin Lin via
2025-11-10 14:58 ` Philippe Mathieu-Daudé
2025-11-11 5:16 ` Jamin Lin
2025-11-06 8:49 ` [PATCH v1 09/12] hw/arm/aspeed_ast10x0_evb: Add AST1060 EVB machine support Jamin Lin via
2025-11-11 18:20 ` Cédric Le Goater
2025-11-12 1:53 ` Jamin Lin
2025-11-06 8:49 ` [PATCH v1 10/12] tests/functional/arm/test_aspeed_ast1060: Add functional tests for Aspeed AST1060 SoC Jamin Lin via
2025-11-11 18:21 ` Cédric Le Goater
2025-11-06 8:49 ` [PATCH v1 11/12] docs/system/arm/aspeed: Update Aspeed and 2700 family boards list Jamin Lin via
2025-11-11 18:22 ` Cédric Le Goater
2025-11-12 1:55 ` Jamin Lin
2025-11-06 8:49 ` [PATCH v1 12/12] docs/system/arm/aspeed: Update Aspeed MiniBMC section to include AST1060 PFR processor Jamin Lin via
2025-11-11 18:24 ` Cédric Le Goater
2025-11-12 2:09 ` Jamin Lin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251106084925.1253704-3-jamin_lin@aspeedtech.com \
--to=qemu-devel@nongnu.org \
--cc=alistair@alistair23.me \
--cc=andrew@codeconstruct.com.au \
--cc=clg@kaod.org \
--cc=hreitz@redhat.com \
--cc=jamin_lin@aspeedtech.com \
--cc=joel@jms.id.au \
--cc=kane_chen@aspeedtech.com \
--cc=kwolf@redhat.com \
--cc=leetroy@gmail.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=steven_lee@aspeedtech.com \
--cc=troy_lee@aspeedtech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).