[PATCH 29/30] mtd: spi-nor: winbond: W25QxxJV-Q/N/M: Add quad page program capability

From: Miquel Raynal

Date: Fri May 29 2026 - 11:40:43 EST


I do not have any W25Q256JV-Q/N/M nor any W25Q16JV-M chips in hand, but
all the chips with a density <= 256Mib are older revisions of the JV
chips which do not yet implement the 4BAIT extension table, as such,
they cannot advertise their quad page program capability. We can
reasonably expect that these chips follow the exact same rules, so add
the missing flag.

Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
---
drivers/mtd/spi-nor/winbond.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
index c1dbdf7610fb..08fbbc2b948b 100644
--- a/drivers/mtd/spi-nor/winbond.c
+++ b/drivers/mtd/spi-nor/winbond.c
@@ -217,6 +217,7 @@ static const struct flash_info winbond_nor_parts[] = {
}, {
/* W25Q256JV-Q/N */
.id = SNOR_ID(0xef, 0x40, 0x19),
+ .flags = SPI_NOR_QUAD_PP,
.fixups = &w25q256_fixups,
}, {
/* W25Q512JV-Q/N */
@@ -287,7 +288,7 @@ static const struct flash_info winbond_nor_parts[] = {
}, {
/* W25Q16JV-M */
.id = SNOR_ID(0xef, 0x70, 0x15),
- .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB,
+ .flags = SPI_NOR_QUAD_PP | SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB,
}, {
/* W25Q32JV-M */
.id = SNOR_ID(0xef, 0x70, 0x16),
@@ -303,6 +304,7 @@ static const struct flash_info winbond_nor_parts[] = {
}, {
/* W25Q256JV-M */
.id = SNOR_ID(0xef, 0x70, 0x19),
+ .flags = SPI_NOR_QUAD_PP,
}, {
/* W25Q512JV-M */
.id = SNOR_ID(0xef, 0x70, 0x20),

--
2.53.0