[PATCH 2/2] mtd: spi-nor: issi: Add support for is25wx01g

Nuno Sá nuno.sa at analog.com
Fri Sep 11 08:36:43 PDT 2026


Add support for the ISSI IS25WX01G, a 1 Gbit octal NOR flash. The part
is fully described by SFDP, so only the flash ID and two BFPT fixups are
needed.

The flash has no Status Register 2 and does not implement the 35h Read
Configuration Register command, so the default assumption of a 16-bit
Write Status command does not hold. Additionally, its BFPT Quad Enable
Requirement field carries a reserved value, which makes
spi_nor_parse_bfpt() keep the manufacturer default quad enable method;
clear it, since this is an octal-only part with no quad mode at all.

Signed-off-by: Nuno Sá <nuno.sa at analog.com>
---
 drivers/mtd/spi-nor/issi.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/drivers/mtd/spi-nor/issi.c b/drivers/mtd/spi-nor/issi.c
index 2f057d731df2..aac9d19b90fc 100644
--- a/drivers/mtd/spi-nor/issi.c
+++ b/drivers/mtd/spi-nor/issi.c
@@ -29,6 +29,29 @@ static const struct spi_nor_fixups is25lp256_fixups = {
 	.post_bfpt = is25lp256_post_bfpt_fixups,
 };
 
+static int is25wx01g_post_bfpt_fixups(struct spi_nor *nor,
+				      const struct sfdp_parameter_header *bfpt_header,
+				      const struct sfdp_bfpt *bfpt)
+{
+	/*
+	 * There is no Status Register 2 and no 35h command. And WRITE STATUS
+	 * REGISTER takes a single data byte.
+	 */
+	nor->flags &= ~SNOR_F_HAS_16BIT_SR;
+
+	/*
+	 * The BFPT Quad Enable Requirement field is set to a reserved value, so
+	 * spi_nor_parse_bfpt() leaves the quad enable method at its default.
+	 * Make sure we disable it as there is no quad mode anyway.
+	 */
+	nor->params->quad_enable = NULL;
+	return 0;
+}
+
+static const struct spi_nor_fixups is25wx01g_fixups = {
+	.post_bfpt = is25wx01g_post_bfpt_fixups,
+};
+
 static int pm25lv_nor_late_init(struct spi_nor *nor)
 {
 	struct spi_nor_erase_map *map = &nor->params->erase_map;
@@ -120,6 +143,10 @@ static const struct flash_info issi_nor_parts[] = {
 		.id = SNOR_ID(0x9d, 0x70, 0x19),
 		.name = "is25wp256",
 		.flags = SPI_NOR_QUAD_PP,
+	}, {
+		.id = SNOR_ID(0x9d, 0x5b, 0x1b),
+		.name = "is25wx01g",
+		.fixups = &is25wx01g_fixups,
 	}
 };
 

-- 
2.55.0




More information about the linux-mtd mailing list