* [PATCH 1/6] mtd: spi-nor-ids: Correct flash flags for ESMT/EON flashes
2026-04-28 3:28 [PATCH 0/6] Fix and add some spi-nor flash parts Weijie Gao
@ 2026-04-28 3:31 ` Weijie Gao
2026-04-28 3:31 ` [PATCH 2/6] mtd: spi-nor-ids: Add support for ESMT/EON EN25QX128A/EN25QH256/EN25QX256A Weijie Gao
` (4 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Weijie Gao @ 2026-04-28 3:31 UTC (permalink / raw)
To: u-boot
Cc: GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R, Takahiro Kuwano,
Marek Vasut, Tudor Ambarus, Jeffrey Yu, Christoph Reiter,
Venkatesh Yadav Abbarapu, Miquel Raynal, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari,
Weijie Gao
All currently supported ESMT/EON flashes supports 4KB page and dual/quad
read.
Datasheets can be found here:
https://www.esmt.com.tw/upload/pdf/ESMT/datasheets/EN25Q80B.pdf
https://www.esmt.com.tw/upload/pdf/ESMT/datasheets/EN25QH128A%20(2TC).pdf
https://www.esmt.com.tw/upload/pdf/ESMT/datasheets/EN25S64A(2SC).pdf
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/mtd/spi/spi-nor-ids.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
index c0fa98424aa..7d96adab4fd 100644
--- a/drivers/mtd/spi/spi-nor-ids.c
+++ b/drivers/mtd/spi/spi-nor-ids.c
@@ -90,12 +90,12 @@ const struct flash_info spi_nor_ids[] = {
#endif
#ifdef CONFIG_SPI_FLASH_EON /* EON */
/* EON -- en25xxx */
- { INFO("en25q80b", 0x1c3014, 0, 64 * 1024, 16, SECT_4K) },
- { INFO("en25q32b", 0x1c3016, 0, 64 * 1024, 64, 0) },
- { INFO("en25q64", 0x1c3017, 0, 64 * 1024, 128, SECT_4K) },
- { INFO("en25q128b", 0x1c3018, 0, 64 * 1024, 256, 0) },
- { INFO("en25qh128", 0x1c7018, 0, 64 * 1024, 256, 0) },
- { INFO("en25s64", 0x1c3817, 0, 64 * 1024, 128, SECT_4K) },
+ { INFO("en25q80b", 0x1c3014, 0, 64 * 1024, 16, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+ { INFO("en25q32b", 0x1c3016, 0, 64 * 1024, 64, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+ { INFO("en25q64", 0x1c3017, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+ { INFO("en25q128b", 0x1c3018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+ { INFO("en25qh128", 0x1c7018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+ { INFO("en25s64", 0x1c3817, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
#endif
#ifdef CONFIG_SPI_FRAM_FUJITSU
/* Fujitsu MB85RS256TY */
--
2.45.2
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH 2/6] mtd: spi-nor-ids: Add support for ESMT/EON EN25QX128A/EN25QH256/EN25QX256A
2026-04-28 3:28 [PATCH 0/6] Fix and add some spi-nor flash parts Weijie Gao
2026-04-28 3:31 ` [PATCH 1/6] mtd: spi-nor-ids: Correct flash flags for ESMT/EON flashes Weijie Gao
@ 2026-04-28 3:31 ` Weijie Gao
2026-04-28 3:32 ` [PATCH 3/6] mtd: spi-nor-ids: Add support for GigaDevice GD25Q256 Weijie Gao
` (3 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Weijie Gao @ 2026-04-28 3:31 UTC (permalink / raw)
To: u-boot
Cc: GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R, Takahiro Kuwano,
Marek Vasut, Tudor Ambarus, Jeffrey Yu, Christoph Reiter,
Venkatesh Yadav Abbarapu, Miquel Raynal, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari,
Weijie Gao
Datasheets can be found here:
https://www.esmt.com.tw/upload/pdf/ESMT/datasheets/EN25QX128A(2V).pdf
https://www.esmt.com.tw/upload/pdf/ESMT/datasheets/EN25QH256A(2R).pdf
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/mtd/spi/spi-nor-core.c | 1 +
drivers/mtd/spi/spi-nor-ids.c | 5 +++++
include/linux/mtd/spi-nor.h | 1 +
3 files changed, 7 insertions(+)
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index 937d79af64e..e4f78e740ba 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -758,6 +758,7 @@ static int set_4byte(struct spi_nor *nor, const struct flash_info *info,
case SNOR_MFR_ISSI:
case SNOR_MFR_MACRONIX:
case SNOR_MFR_WINBOND:
+ case SNOR_MFR_EON:
if (need_wren)
write_enable(nor);
diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
index 7d96adab4fd..fcc546fb5ae 100644
--- a/drivers/mtd/spi/spi-nor-ids.c
+++ b/drivers/mtd/spi/spi-nor-ids.c
@@ -95,6 +95,11 @@ const struct flash_info spi_nor_ids[] = {
{ INFO("en25q64", 0x1c3017, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ INFO("en25q128b", 0x1c3018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ INFO("en25qh128", 0x1c7018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+ { INFO("en25qx128a", 0x1c7118, 0, 64 * 1024, 256,
+ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) },
+ { INFO("en25qh256", 0x1c7019, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+ { INFO("en25qx256a", 0x1c7119, 0, 64 * 1024, 512,
+ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) },
{ INFO("en25s64", 0x1c3817, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
#endif
#ifdef CONFIG_SPI_FRAM_FUJITSU
diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
index 4eef4ab0488..02fa72fb401 100644
--- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h
@@ -33,6 +33,7 @@
#define SNOR_MFR_SST CFI_MFR_SST
#define SNOR_MFR_WINBOND 0xef /* Also used by some Spansion */
#define SNOR_MFR_CYPRESS 0x34
+#define SNOR_MFR_EON CFI_MFR_EON
/*
* Note on opcode nomenclature: some opcodes have a format like
--
2.45.2
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH 3/6] mtd: spi-nor-ids: Add support for GigaDevice GD25Q256
2026-04-28 3:28 [PATCH 0/6] Fix and add some spi-nor flash parts Weijie Gao
2026-04-28 3:31 ` [PATCH 1/6] mtd: spi-nor-ids: Correct flash flags for ESMT/EON flashes Weijie Gao
2026-04-28 3:31 ` [PATCH 2/6] mtd: spi-nor-ids: Add support for ESMT/EON EN25QX128A/EN25QH256/EN25QX256A Weijie Gao
@ 2026-04-28 3:32 ` Weijie Gao
2026-04-28 3:32 ` [PATCH 4/6] mtd: spi-nor-ids: Add 4K page support for Macronix MX25L25635E Weijie Gao
` (2 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Weijie Gao @ 2026-04-28 3:32 UTC (permalink / raw)
To: u-boot
Cc: GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R, Takahiro Kuwano,
Marek Vasut, Tudor Ambarus, Jeffrey Yu, Christoph Reiter,
Venkatesh Yadav Abbarapu, Miquel Raynal, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari,
Weijie Gao
The datasheet can be found here:
https://download.gigadevice.com/Datasheet/DS-00526-GD25Q256E-Rev1.3.pdf
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/mtd/spi/spi-nor-ids.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
index fcc546fb5ae..8b74fbd4946 100644
--- a/drivers/mtd/spi/spi-nor-ids.c
+++ b/drivers/mtd/spi/spi-nor-ids.c
@@ -147,6 +147,11 @@ const struct flash_info spi_nor_ids[] = {
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
},
+ {
+ INFO("gd25q256", 0xc84019, 0, 64 * 1024, 512,
+ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
+ SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
+ },
/* adding these 3V QSPI flash parts */
{INFO("gd25b256", 0xc84019, 0, 64 * 1024, 512, SECT_4K |
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK | SPI_NOR_4B_OPCODES) },
--
2.45.2
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH 4/6] mtd: spi-nor-ids: Add 4K page support for Macronix MX25L25635E
2026-04-28 3:28 [PATCH 0/6] Fix and add some spi-nor flash parts Weijie Gao
` (2 preceding siblings ...)
2026-04-28 3:32 ` [PATCH 3/6] mtd: spi-nor-ids: Add support for GigaDevice GD25Q256 Weijie Gao
@ 2026-04-28 3:32 ` Weijie Gao
2026-04-28 7:22 ` Miquel Raynal
2026-04-28 3:32 ` [PATCH 5/6] mtd: spi-nor-ids: Fix Winbond W25Q256JW and remove W25Q256FW Weijie Gao
2026-04-28 3:32 ` [PATCH 6/6] mtd: spi-nor-ids: Add support for Winbond W25Q256JV/W25Q512JV Weijie Gao
5 siblings, 1 reply; 13+ messages in thread
From: Weijie Gao @ 2026-04-28 3:32 UTC (permalink / raw)
To: u-boot
Cc: GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R, Takahiro Kuwano,
Marek Vasut, Tudor Ambarus, Jeffrey Yu, Christoph Reiter,
Venkatesh Yadav Abbarapu, Miquel Raynal, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari,
Weijie Gao
The datasheet can be found here:
https://www.mxic.com.tw/Lists/Datasheet/Attachments/8592/MX25L25635E,%203V,%20256Mb,%20v1.3.pdf
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/mtd/spi/spi-nor-ids.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
index 8b74fbd4946..a157e370b89 100644
--- a/drivers/mtd/spi/spi-nor-ids.c
+++ b/drivers/mtd/spi/spi-nor-ids.c
@@ -330,7 +330,7 @@ const struct flash_info spi_nor_ids[] = {
{ INFO("mx25u51245g", 0xc2253a, 0, 64 * 1024, 1024, SECT_4K |
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
{ INFO("mx25l12855e", 0xc22618, 0, 64 * 1024, 256, 0) },
- { INFO("mx25l25635e", 0xc22019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+ { INFO("mx25l25635e", 0xc22019, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ INFO("mx25u25635f", 0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) },
{ INFO("mx25v8035f", 0xc22314, 0, 64 * 1024, 16, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ INFO("mx25r1635f", 0xc22815, 0, 64 * 1024, 32, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
--
2.45.2
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH 4/6] mtd: spi-nor-ids: Add 4K page support for Macronix MX25L25635E
2026-04-28 3:32 ` [PATCH 4/6] mtd: spi-nor-ids: Add 4K page support for Macronix MX25L25635E Weijie Gao
@ 2026-04-28 7:22 ` Miquel Raynal
2026-04-28 7:26 ` Weijie Gao
0 siblings, 1 reply; 13+ messages in thread
From: Miquel Raynal @ 2026-04-28 7:22 UTC (permalink / raw)
To: Weijie Gao
Cc: u-boot, GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R,
Takahiro Kuwano, Marek Vasut, Tudor Ambarus, Jeffrey Yu,
Christoph Reiter, Venkatesh Yadav Abbarapu, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari
Hi,
On 28/04/2026 at 11:32:03 +08, Weijie Gao <weijie.gao@mediatek.com> wrote:
> The datasheet can be found here:
> https://www.mxic.com.tw/Lists/Datasheet/Attachments/8592/MX25L25635E,%203V,%20256Mb,%20v1.3.pdf
You can be a little more verbose here, about the why we need this?
> @@ -330,7 +330,7 @@ const struct flash_info spi_nor_ids[] = {
> { INFO("mx25u51245g", 0xc2253a, 0, 64 * 1024, 1024, SECT_4K |
> SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
> { INFO("mx25l12855e", 0xc22618, 0, 64 * 1024, 256, 0) },
> - { INFO("mx25l25635e", 0xc22019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
> + { INFO("mx25l25635e", 0xc22019, 0, 64 * 1024, 512, SECT_4K |
> SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
Is this something you really need to flag? Isn't it already provided by
the SFDP tables?
> { INFO("mx25u25635f", 0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) },
> { INFO("mx25v8035f", 0xc22314, 0, 64 * 1024, 16, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
> { INFO("mx25r1635f", 0xc22815, 0, 64 * 1024, 32, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
Thanks,
Miquèl
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 4/6] mtd: spi-nor-ids: Add 4K page support for Macronix MX25L25635E
2026-04-28 7:22 ` Miquel Raynal
@ 2026-04-28 7:26 ` Weijie Gao
0 siblings, 0 replies; 13+ messages in thread
From: Weijie Gao @ 2026-04-28 7:26 UTC (permalink / raw)
To: Miquel Raynal
Cc: u-boot, GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R,
Takahiro Kuwano, Marek Vasut, Tudor Ambarus, Jeffrey Yu,
Christoph Reiter, Venkatesh Yadav Abbarapu, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari
On Tue, 2026-04-28 at 09:22 +0200, Miquel Raynal wrote:
> Hi,
>
> On 28/04/2026 at 11:32:03 +08, Weijie Gao <weijie.gao@mediatek.com>
> wrote:
>
> > The datasheet can be found here:
> >
https://urldefense.com/v3/__https://www.mxic.com.tw/Lists/Datasheet/Attachments/8592/MX25L25635E,*203V,*20256Mb,*20v1.3.pdf__;JSUl!!CTRNKA9wMg0ARbw!lYeaxwC-knJH61lKpIB1VNkNkvLBAAyzS5JwtDo-x9YDy7jngWucI28Yjx2wnzvEsuVLYPR4LkWiSKXNWrnIq93KhJw$
> >
>
> You can be a little more verbose here, about the why we need this?
>
> > @@ -330,7 +330,7 @@ const struct flash_info spi_nor_ids[] = {
> > { INFO("mx25u51245g", 0xc2253a, 0, 64 * 1024, 1024, SECT_4K |
> > SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
> > SPI_NOR_4B_OPCODES) },
> > { INFO("mx25l12855e", 0xc22618, 0, 64 * 1024, 256, 0) },
> > - { INFO("mx25l25635e", 0xc22019, 0, 64 * 1024, 512,
> > SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
> > + { INFO("mx25l25635e", 0xc22019, 0, 64 * 1024, 512, SECT_4K |
> > SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
>
> Is this something you really need to flag? Isn't it already provided
> by
> the SFDP tables?
I need to use this without enabling SFDP to save some space. So it's
still necessary to add this flag. I can add this description to the
commit message.
>
> > { INFO("mx25u25635f", 0xc22539, 0, 64 * 1024, 512, SECT_4K |
> > SPI_NOR_4B_OPCODES) },
> > { INFO("mx25v8035f", 0xc22314, 0, 64 * 1024, 16, SECT_4K |
> > SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
> > { INFO("mx25r1635f", 0xc22815, 0, 64 * 1024, 32, SECT_4K |
> > SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
>
> Thanks,
> Miquèl
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 5/6] mtd: spi-nor-ids: Fix Winbond W25Q256JW and remove W25Q256FW
2026-04-28 3:28 [PATCH 0/6] Fix and add some spi-nor flash parts Weijie Gao
` (3 preceding siblings ...)
2026-04-28 3:32 ` [PATCH 4/6] mtd: spi-nor-ids: Add 4K page support for Macronix MX25L25635E Weijie Gao
@ 2026-04-28 3:32 ` Weijie Gao
2026-04-28 7:41 ` Miquel Raynal
2026-04-28 3:32 ` [PATCH 6/6] mtd: spi-nor-ids: Add support for Winbond W25Q256JV/W25Q512JV Weijie Gao
5 siblings, 1 reply; 13+ messages in thread
From: Weijie Gao @ 2026-04-28 3:32 UTC (permalink / raw)
To: u-boot
Cc: GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R, Takahiro Kuwano,
Marek Vasut, Tudor Ambarus, Jeffrey Yu, Christoph Reiter,
Venkatesh Yadav Abbarapu, Miquel Raynal, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari,
Weijie Gao
There's no part named W25Q256FW, only W25Q256JW (Non-DTR version) exists
with ID ef6019.
The datasheet can be found here:
https://www.winbond.com/resource-files/W25Q256JW%20SPI%20RevJ%2003102021%20Plus.pdf
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/mtd/spi/spi-nor-ids.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
index a157e370b89..492411a90f5 100644
--- a/drivers/mtd/spi/spi-nor-ids.c
+++ b/drivers/mtd/spi/spi-nor-ids.c
@@ -610,12 +610,7 @@ const struct flash_info spi_nor_ids[] = {
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
},
{
- INFO("w25q256fw", 0xef6019, 0, 64 * 1024, 512,
- SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
- SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
- },
- {
- INFO("w25q256jw", 0xef7019, 0, 64 * 1024, 512,
+ INFO("w25q256jw", 0xef6019, 0, 64 * 1024, 512,
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
},
--
2.45.2
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH 5/6] mtd: spi-nor-ids: Fix Winbond W25Q256JW and remove W25Q256FW
2026-04-28 3:32 ` [PATCH 5/6] mtd: spi-nor-ids: Fix Winbond W25Q256JW and remove W25Q256FW Weijie Gao
@ 2026-04-28 7:41 ` Miquel Raynal
0 siblings, 0 replies; 13+ messages in thread
From: Miquel Raynal @ 2026-04-28 7:41 UTC (permalink / raw)
To: Weijie Gao
Cc: u-boot, GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R,
Takahiro Kuwano, Marek Vasut, Tudor Ambarus, Jeffrey Yu,
Christoph Reiter, Venkatesh Yadav Abbarapu, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari
On 28/04/2026 at 11:32:11 +08, Weijie Gao <weijie.gao@mediatek.com> wrote:
> There's no part named W25Q256FW, only W25Q256JW (Non-DTR version) exists
> with ID ef6019.
>
> The datasheet can be found here:
> https://www.winbond.com/resource-files/W25Q256JW%20SPI%20RevJ%2003102021%20Plus.pdf
>
> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
> ---
> drivers/mtd/spi/spi-nor-ids.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
> index a157e370b89..492411a90f5 100644
> --- a/drivers/mtd/spi/spi-nor-ids.c
> +++ b/drivers/mtd/spi/spi-nor-ids.c
> @@ -610,12 +610,7 @@ const struct flash_info spi_nor_ids[] = {
> SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
> },
> {
> - INFO("w25q256fw", 0xef6019, 0, 64 * 1024, 512,
> - SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
> - SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
> - },
> - {
> - INFO("w25q256jw", 0xef7019, 0, 64 * 1024, 512,
FYI, this ID is W25Q256JV-M.
> + INFO("w25q256jw", 0xef6019, 0, 64 * 1024, 512,
> SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
> SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
> },
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 6/6] mtd: spi-nor-ids: Add support for Winbond W25Q256JV/W25Q512JV
2026-04-28 3:28 [PATCH 0/6] Fix and add some spi-nor flash parts Weijie Gao
` (4 preceding siblings ...)
2026-04-28 3:32 ` [PATCH 5/6] mtd: spi-nor-ids: Fix Winbond W25Q256JW and remove W25Q256FW Weijie Gao
@ 2026-04-28 3:32 ` Weijie Gao
2026-04-28 7:45 ` Miquel Raynal
5 siblings, 1 reply; 13+ messages in thread
From: Weijie Gao @ 2026-04-28 3:32 UTC (permalink / raw)
To: u-boot
Cc: GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R, Takahiro Kuwano,
Marek Vasut, Tudor Ambarus, Jeffrey Yu, Christoph Reiter,
Venkatesh Yadav Abbarapu, Miquel Raynal, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari,
Weijie Gao
Datasheets can be found here:
https://www.winbond.com/resource-files/W25Q256JV%20DTR%20RevK%2010202025%20Plus.pdf
https://www.winbond.com/resource-files/W25Q512JV%20DTR%20RevD%2006292020%20133.pdf
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/mtd/spi/spi-nor-ids.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
index 492411a90f5..dc62a0e034a 100644
--- a/drivers/mtd/spi/spi-nor-ids.c
+++ b/drivers/mtd/spi/spi-nor-ids.c
@@ -609,11 +609,21 @@ const struct flash_info spi_nor_ids[] = {
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
},
+ {
+ INFO("w25q256jv", 0xef7019, 0, 64 * 1024, 512,
+ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
+ SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
+ },
{
INFO("w25q256jw", 0xef6019, 0, 64 * 1024, 512,
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
},
+ {
+ INFO("w25q512jv", 0xef7020, 0, 64 * 1024, 1024,
+ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
+ SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
+ },
{
INFO("w25q512nwq", 0xef6020, 0, 64 * 1024, 1024,
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
--
2.45.2
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH 6/6] mtd: spi-nor-ids: Add support for Winbond W25Q256JV/W25Q512JV
2026-04-28 3:32 ` [PATCH 6/6] mtd: spi-nor-ids: Add support for Winbond W25Q256JV/W25Q512JV Weijie Gao
@ 2026-04-28 7:45 ` Miquel Raynal
2026-04-28 8:37 ` Weijie Gao
0 siblings, 1 reply; 13+ messages in thread
From: Miquel Raynal @ 2026-04-28 7:45 UTC (permalink / raw)
To: Weijie Gao
Cc: u-boot, GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R,
Takahiro Kuwano, Marek Vasut, Tudor Ambarus, Jeffrey Yu,
Christoph Reiter, Venkatesh Yadav Abbarapu, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari
On 28/04/2026 at 11:32:13 +08, Weijie Gao <weijie.gao@mediatek.com> wrote:
> Datasheets can be found here:
> https://www.winbond.com/resource-files/W25Q256JV%20DTR%20RevK%2010202025%20Plus.pdf
> https://www.winbond.com/resource-files/W25Q512JV%20DTR%20RevD%2006292020%20133.pdf
>
> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
> ---
> drivers/mtd/spi/spi-nor-ids.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
> index 492411a90f5..dc62a0e034a 100644
> --- a/drivers/mtd/spi/spi-nor-ids.c
> +++ b/drivers/mtd/spi/spi-nor-ids.c
> @@ -609,11 +609,21 @@ const struct flash_info spi_nor_ids[] = {
> SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
> SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
> },
> + {
> + INFO("w25q256jv", 0xef7019, 0, 64 * 1024, 512,
> + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
> + SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
> + },
> {
> INFO("w25q256jw", 0xef6019, 0, 64 * 1024, 512,
> SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
> SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
> },
> + {
> + INFO("w25q512jv", 0xef7020, 0, 64 * 1024, 1024,
This is JV-M (here and above).
These chips also happen to conflict with W25QxxRV-M chips. Is this
support for these new chips that you are targeting?
> + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
> + SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
> + },
> {
> INFO("w25q512nwq", 0xef6020, 0, 64 * 1024, 1024,
> SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
I would rather group them by family (ef60xx then ef70xx).
Thanks,
Miquèl
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 6/6] mtd: spi-nor-ids: Add support for Winbond W25Q256JV/W25Q512JV
2026-04-28 7:45 ` Miquel Raynal
@ 2026-04-28 8:37 ` Weijie Gao
2026-04-28 8:52 ` Miquel Raynal
0 siblings, 1 reply; 13+ messages in thread
From: Weijie Gao @ 2026-04-28 8:37 UTC (permalink / raw)
To: Miquel Raynal
Cc: u-boot, GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R,
Takahiro Kuwano, Marek Vasut, Tudor Ambarus, Jeffrey Yu,
Christoph Reiter, Venkatesh Yadav Abbarapu, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari
On Tue, 2026-04-28 at 09:45 +0200, Miquel Raynal wrote:
> On 28/04/2026 at 11:32:13 +08, Weijie Gao <weijie.gao@mediatek.com>
> wrote:
>
> > Datasheets can be found here:
> >
https://urldefense.com/v3/__https://www.winbond.com/resource-files/W25Q256JV*20DTR*20RevK*2010202025*20Plus.pdf__;JSUlJQ!!CTRNKA9wMg0ARbw!hPu0SggaVM2sVfZIIpmauqFfldb_a2CUsdY8EXtlYmCrlPsgfbAHiUVQjb7RsCxDyHKNzQ_IeQino7kbe_I8YtAtzN5pOGJalR6BUZ0$
> >
> >
https://urldefense.com/v3/__https://www.winbond.com/resource-files/W25Q512JV*20DTR*20RevD*2006292020*20133.pdf__;JSUlJQ!!CTRNKA9wMg0ARbw!hPu0SggaVM2sVfZIIpmauqFfldb_a2CUsdY8EXtlYmCrlPsgfbAHiUVQjb7RsCxDyHKNzQ_IeQino7kbe_I8YtAtzN5pOGJaaukqJvM$
> >
> >
> > Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
> > ---
> > drivers/mtd/spi/spi-nor-ids.c | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-
> > nor-ids.c
> > index 492411a90f5..dc62a0e034a 100644
> > --- a/drivers/mtd/spi/spi-nor-ids.c
> > +++ b/drivers/mtd/spi/spi-nor-ids.c
> > @@ -609,11 +609,21 @@ const struct flash_info spi_nor_ids[] = {
> > SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ
> > |
> > SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
> > },
> > + {
> > + INFO("w25q256jv", 0xef7019, 0, 64 * 1024, 512,
> > + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ
> > |
> > + SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
> > + },
> > {
> > INFO("w25q256jw", 0xef6019, 0, 64 * 1024, 512,
> > SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ
> > |
> > SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
> > },
> > + {
> > + INFO("w25q512jv", 0xef7020, 0, 64 * 1024, 1024,
>
> This is JV-M (here and above).
Of course. I didn't test the -Q version but I already saw related parts
like w25q512jvq existed.
Perhaps naming these -M series with 'm' suffix is better.
>
> These chips also happen to conflict with W25QxxRV-M chips. Is this
> support for these new chips that you are targeting?
I didn't use RV series now. w25q256jv/w25q512jv are tested on
MediaTek's filogic platform.
As winbond doesn't provide the actual contents of the SFDP table, I'm
not sure if there's a way to distinguish between these two families.
>
> > + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ
> > |
> > + SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
> > + },
> > {
> > INFO("w25q512nwq", 0xef6020, 0, 64 * 1024, 1024,
> > SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ
> > |
>
> I would rather group them by family (ef60xx then ef70xx).
It's OK.
>
> Thanks,
> Miquèl
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 6/6] mtd: spi-nor-ids: Add support for Winbond W25Q256JV/W25Q512JV
2026-04-28 8:37 ` Weijie Gao
@ 2026-04-28 8:52 ` Miquel Raynal
0 siblings, 0 replies; 13+ messages in thread
From: Miquel Raynal @ 2026-04-28 8:52 UTC (permalink / raw)
To: Weijie Gao
Cc: u-boot, GSS_MTK_Uboot_upstream, Tom Rini, Vignesh R,
Takahiro Kuwano, Marek Vasut, Tudor Ambarus, Jeffrey Yu,
Christoph Reiter, Venkatesh Yadav Abbarapu, Shiji Yang,
Bernhard Messerklinger, Vaishnav Achath, Prasad Kummari
>> > + {
>> > + INFO("w25q512jv", 0xef7020, 0, 64 * 1024, 1024,
>>
>> This is JV-M (here and above).
>
> Of course. I didn't test the -Q version but I already saw related parts
> like w25q512jvq existed.
>
> Perhaps naming these -M series with 'm' suffix is better.
I'm fine with both, I prefer -m in this case, because there are letters
in between:
- 2 or 3 letters for the package type
- I or J for the temperature range
>> These chips also happen to conflict with W25QxxRV-M chips. Is this
>> support for these new chips that you are targeting?
>
> I didn't use RV series now. w25q256jv/w25q512jv are tested on
> MediaTek's filogic platform.
This is worth mentioning in your commit log.
>
> As winbond doesn't provide the actual contents of the SFDP table, I'm
> not sure if there's a way to distinguish between these two families.
There is one, I will contribute it to Linux/U-Boot soon, but both are
very similar in their behaviour, so it's okay like that.
Thanks,
Miquèl
^ permalink raw reply [flat|nested] 13+ messages in thread