* [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads
@ 2026-02-08 6:19 Eliav Farber
2026-02-08 6:19 ` [PATCH 1/4] mtd: spi-nor: winbond: Fix locking support for w25q256jwm Eliav Farber
` (5 more replies)
0 siblings, 6 replies; 11+ messages in thread
From: Eliav Farber @ 2026-02-08 6:19 UTC (permalink / raw)
To: tudor.ambarus, pratyush, mwalle, miquel.raynal, richard, vigneshr,
linux-mtd, linux-kernel
Cc: farbere
This series fixes block protection handling for the following Winbond
SPI-NOR devices:
- w25q256jwm
- w25q256jw
- w25q64jvm
The devices do not correctly describe their Status Register layout and
protection capabilities (locking flags, TB bit, BP bit configuration).
As a result, the spi-nor core rejects protection requests and locking
operations fail with -EINVAL, e.g.:
flash_lock -l /dev/mtd29
flash_lock: error!: could not lock device: /dev/mtd29
error 22 (Invalid argument)
Update the device flags to match the actual hardware behavior so that
locking and unlocking regions work correctly.
Additionally, enable Dual and Quad read support for w25q64jvm when SFDP
is not used.
All changes were validated using flash_lock on the affected devices.
Eliav Farber (4):
mtd: spi-nor: winbond: Fix locking support for w25q256jwm
mtd: spi-nor: winbond: Fix locking support for w25q256jw
mtd: spi-nor: winbond: Fix locking support for w25q64jvm
mtd: spi-nor: winbond: Enable Dual and Quad support for w25q64jvm
drivers/mtd/spi-nor/winbond.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/4] mtd: spi-nor: winbond: Fix locking support for w25q256jwm
2026-02-08 6:19 [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads Eliav Farber
@ 2026-02-08 6:19 ` Eliav Farber
2026-02-10 7:38 ` Michael Walle
2026-02-08 6:19 ` [PATCH 2/4] mtd: spi-nor: winbond: Fix locking support for w25q256jw Eliav Farber
` (4 subsequent siblings)
5 siblings, 1 reply; 11+ messages in thread
From: Eliav Farber @ 2026-02-08 6:19 UTC (permalink / raw)
To: tudor.ambarus, pratyush, mwalle, miquel.raynal, richard, vigneshr,
linux-mtd, linux-kernel
Cc: farbere
The Winbond w25q256jwm device supports four Block Protect (BP) bits and
uses Status Register bit 6 as the Top/Bottom (TB) protect bit.
Update the flash parameters by enabling SPI_NOR_4BIT_BP and
SPI_NOR_TB_SR_BIT6. Without these flags, the locking configuration is
incorrect.
Reference:
https://www.winbond.com/hq/support/documentation/levelOne.jsp?__locale=en&DocNo=DA00-W25Q256JW.1
Signed-off-by: Eliav Farber <farbere@amazon.com>
---
drivers/mtd/spi-nor/winbond.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
index fb855fe44733..55f1209936d5 100644
--- a/drivers/mtd/spi-nor/winbond.c
+++ b/drivers/mtd/spi-nor/winbond.c
@@ -337,7 +337,7 @@ static const struct flash_info winbond_nor_parts[] = {
.id = SNOR_ID(0xef, 0x80, 0x19),
.name = "w25q256jwm",
.size = SZ_32M,
- .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB,
+ .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB | SPI_NOR_TB_SR_BIT6 | SPI_NOR_4BIT_BP,
.no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
}, {
.id = SNOR_ID(0xef, 0x80, 0x20),
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/4] mtd: spi-nor: winbond: Fix locking support for w25q256jw
2026-02-08 6:19 [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads Eliav Farber
2026-02-08 6:19 ` [PATCH 1/4] mtd: spi-nor: winbond: Fix locking support for w25q256jwm Eliav Farber
@ 2026-02-08 6:19 ` Eliav Farber
2026-02-10 7:39 ` Michael Walle
2026-02-08 6:19 ` [PATCH 3/4] mtd: spi-nor: winbond: Fix locking support for w25q64jvm Eliav Farber
` (3 subsequent siblings)
5 siblings, 1 reply; 11+ messages in thread
From: Eliav Farber @ 2026-02-08 6:19 UTC (permalink / raw)
To: tudor.ambarus, pratyush, mwalle, miquel.raynal, richard, vigneshr,
linux-mtd, linux-kernel
Cc: farbere
The Winbond w25q256jw device:
- Supports lock/unlock via SR.
- Has Top/Bottom (TB) protect bit.
- Uses Status Register bit 6 as the Top/Bottom (TB) protect bit.
- Supports four Block Protect (BP) bits.
Update the flash parameters by enabling SPI_NOR_HAS_LOCK, SPI_NOR_HAS_TB,
SPI_NOR_TB_SR_BIT6 and SPI_NOR_4BIT_BP. Without these flags, the locking
configuration is incorrect.
Reference:
https://www.winbond.com/hq/support/documentation/levelOne.jsp?__locale=en&DocNo=DA00-W25Q256JW.1
Signed-off-by: Eliav Farber <farbere@amazon.com>
---
drivers/mtd/spi-nor/winbond.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
index 55f1209936d5..6d325da121b4 100644
--- a/drivers/mtd/spi-nor/winbond.c
+++ b/drivers/mtd/spi-nor/winbond.c
@@ -274,6 +274,7 @@ static const struct flash_info winbond_nor_parts[] = {
.id = SNOR_ID(0xef, 0x60, 0x19),
.name = "w25q256jw",
.size = SZ_32M,
+ .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB | SPI_NOR_TB_SR_BIT6 | SPI_NOR_4BIT_BP,
.no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
}, {
.id = SNOR_ID(0xef, 0x60, 0x20),
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/4] mtd: spi-nor: winbond: Fix locking support for w25q64jvm
2026-02-08 6:19 [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads Eliav Farber
2026-02-08 6:19 ` [PATCH 1/4] mtd: spi-nor: winbond: Fix locking support for w25q256jwm Eliav Farber
2026-02-08 6:19 ` [PATCH 2/4] mtd: spi-nor: winbond: Fix locking support for w25q256jw Eliav Farber
@ 2026-02-08 6:19 ` Eliav Farber
2026-02-10 7:40 ` Michael Walle
2026-02-08 6:19 ` [PATCH 4/4] mtd: spi-nor: winbond: Enable Dual and Quad " Eliav Farber
` (2 subsequent siblings)
5 siblings, 1 reply; 11+ messages in thread
From: Eliav Farber @ 2026-02-08 6:19 UTC (permalink / raw)
To: tudor.ambarus, pratyush, mwalle, miquel.raynal, richard, vigneshr,
linux-mtd, linux-kernel
Cc: farbere
The Winbond w25q64jvm supports block protection through the Status
Register (SR) and provides a Top/Bottom (TB) protection bit.
Enable SPI_NOR_HAS_LOCK and SPI_NOR_HAS_TB for this device to
properly describe its locking capabilities.
The device uses Status Register bit 5 as the TB bit and supports only
three Block Protect (BP) bits. Therefore, do not set SPI_NOR_TB_SR_BIT6
or SPI_NOR_4BIT_BP.
Reference:
https://www.winbond.com/hq/support/documentation/levelOne.jsp?__locale=en&DocNo=DA00-W25Q64JV.1
Signed-off-by: Eliav Farber <farbere@amazon.com>
---
drivers/mtd/spi-nor/winbond.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
index 6d325da121b4..eaa547d36aad 100644
--- a/drivers/mtd/spi-nor/winbond.c
+++ b/drivers/mtd/spi-nor/winbond.c
@@ -296,6 +296,7 @@ static const struct flash_info winbond_nor_parts[] = {
.id = SNOR_ID(0xef, 0x70, 0x17),
.name = "w25q64jvm",
.size = SZ_8M,
+ .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB,
.no_sfdp_flags = SECT_4K,
}, {
.id = SNOR_ID(0xef, 0x70, 0x18),
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 4/4] mtd: spi-nor: winbond: Enable Dual and Quad support for w25q64jvm
2026-02-08 6:19 [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads Eliav Farber
` (2 preceding siblings ...)
2026-02-08 6:19 ` [PATCH 3/4] mtd: spi-nor: winbond: Fix locking support for w25q64jvm Eliav Farber
@ 2026-02-08 6:19 ` Eliav Farber
2026-02-10 7:48 ` Michael Walle
2026-02-09 10:51 ` [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads Miquel Raynal
2026-02-10 7:37 ` Michael Walle
5 siblings, 1 reply; 11+ messages in thread
From: Eliav Farber @ 2026-02-08 6:19 UTC (permalink / raw)
To: tudor.ambarus, pratyush, mwalle, miquel.raynal, richard, vigneshr,
linux-mtd, linux-kernel
Cc: farbere
The w25q64jvm supports Dual and Quad SPI operations.
Enable these capabilities by adding SPI_NOR_DUAL_READ and
SPI_NOR_QUAD_READ to no_sfdp_flags.
Reference:
https://www.winbond.com/hq/support/documentation/levelOne.jsp?__locale=en&DocNo=DA00-W25Q64JV.1
Signed-off-by: Eliav Farber <farbere@amazon.com>
---
drivers/mtd/spi-nor/winbond.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
index eaa547d36aad..cb35ec6f110e 100644
--- a/drivers/mtd/spi-nor/winbond.c
+++ b/drivers/mtd/spi-nor/winbond.c
@@ -297,7 +297,7 @@ static const struct flash_info winbond_nor_parts[] = {
.name = "w25q64jvm",
.size = SZ_8M,
.flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB,
- .no_sfdp_flags = SECT_4K,
+ .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
}, {
.id = SNOR_ID(0xef, 0x70, 0x18),
.name = "w25q128jv",
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads
2026-02-08 6:19 [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads Eliav Farber
` (3 preceding siblings ...)
2026-02-08 6:19 ` [PATCH 4/4] mtd: spi-nor: winbond: Enable Dual and Quad " Eliav Farber
@ 2026-02-09 10:51 ` Miquel Raynal
2026-02-10 7:37 ` Michael Walle
5 siblings, 0 replies; 11+ messages in thread
From: Miquel Raynal @ 2026-02-09 10:51 UTC (permalink / raw)
To: Eliav Farber
Cc: tudor.ambarus, pratyush, mwalle, richard, vigneshr, linux-mtd,
linux-kernel
Hi Eliav,
On 08/02/2026 at 06:19:15 GMT, Eliav Farber <farbere@amazon.com> wrote:
> This series fixes block protection handling for the following Winbond
> SPI-NOR devices:
> - w25q256jwm
> - w25q256jw
> - w25q64jvm
>
> The devices do not correctly describe their Status Register layout and
> protection capabilities (locking flags, TB bit, BP bit configuration).
> As a result, the spi-nor core rejects protection requests and locking
> operations fail with -EINVAL, e.g.:
>
> flash_lock -l /dev/mtd29
> flash_lock: error!: could not lock device: /dev/mtd29
> error 22 (Invalid argument)
>
> Update the device flags to match the actual hardware behavior so that
> locking and unlocking regions work correctly.
>
> Additionally, enable Dual and Quad read support for w25q64jvm when SFDP
> is not used.
>
> All changes were validated using flash_lock on the affected devices.
>
> Eliav Farber (4):
> mtd: spi-nor: winbond: Fix locking support for w25q256jwm
> mtd: spi-nor: winbond: Fix locking support for w25q256jw
> mtd: spi-nor: winbond: Fix locking support for w25q64jvm
> mtd: spi-nor: winbond: Enable Dual and Quad support for w25q64jvm
>
> drivers/mtd/spi-nor/winbond.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
Looks sensible, I was looking to find Fixes tags but due to the number
of refactorings, these are hard to track, so I'm fine keeping the
commits as they are.
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Thanks,
Miquèl
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads
2026-02-08 6:19 [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads Eliav Farber
` (4 preceding siblings ...)
2026-02-09 10:51 ` [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads Miquel Raynal
@ 2026-02-10 7:37 ` Michael Walle
5 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2026-02-10 7:37 UTC (permalink / raw)
To: Eliav Farber, tudor.ambarus, pratyush, miquel.raynal, richard,
vigneshr, linux-mtd, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1110 bytes --]
On Sun Feb 8, 2026 at 7:19 AM CET, Eliav Farber wrote:
> This series fixes block protection handling for the following Winbond
> SPI-NOR devices:
> - w25q256jwm
> - w25q256jw
> - w25q64jvm
>
> The devices do not correctly describe their Status Register layout and
> protection capabilities (locking flags, TB bit, BP bit configuration).
> As a result, the spi-nor core rejects protection requests and locking
> operations fail with -EINVAL, e.g.:
>
> flash_lock -l /dev/mtd29
> flash_lock: error!: could not lock device: /dev/mtd29
> error 22 (Invalid argument)
>
> Update the device flags to match the actual hardware behavior so that
> locking and unlocking regions work correctly.
>
> Additionally, enable Dual and Quad read support for w25q64jvm when SFDP
> is not used.
Do you really have devices without SFDP tables?
>
> All changes were validated using flash_lock on the affected devices.
Great thanks!
Could you also please dump the SFDP tables from all these devices,
see [1].
Thanks,
-michael
[1] https://docs.kernel.org/driver-api/mtd/spi-nor.html
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 297 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/4] mtd: spi-nor: winbond: Fix locking support for w25q256jwm
2026-02-08 6:19 ` [PATCH 1/4] mtd: spi-nor: winbond: Fix locking support for w25q256jwm Eliav Farber
@ 2026-02-10 7:38 ` Michael Walle
0 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2026-02-10 7:38 UTC (permalink / raw)
To: Eliav Farber, tudor.ambarus, pratyush, miquel.raynal, richard,
vigneshr, linux-mtd, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1311 bytes --]
On Sun Feb 8, 2026 at 7:19 AM CET, Eliav Farber wrote:
> The Winbond w25q256jwm device supports four Block Protect (BP) bits and
> uses Status Register bit 6 as the Top/Bottom (TB) protect bit.
>
> Update the flash parameters by enabling SPI_NOR_4BIT_BP and
> SPI_NOR_TB_SR_BIT6. Without these flags, the locking configuration is
> incorrect.
>
> Reference:
> https://www.winbond.com/hq/support/documentation/levelOne.jsp?__locale=en&DocNo=DA00-W25Q256JW.1
>
> Signed-off-by: Eliav Farber <farbere@amazon.com>
> ---
> drivers/mtd/spi-nor/winbond.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
> index fb855fe44733..55f1209936d5 100644
> --- a/drivers/mtd/spi-nor/winbond.c
> +++ b/drivers/mtd/spi-nor/winbond.c
> @@ -337,7 +337,7 @@ static const struct flash_info winbond_nor_parts[] = {
> .id = SNOR_ID(0xef, 0x80, 0x19),
> .name = "w25q256jwm",
> .size = SZ_32M,
> - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB,
> + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB | SPI_NOR_TB_SR_BIT6 | SPI_NOR_4BIT_BP,
> .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
> }, {
> .id = SNOR_ID(0xef, 0x80, 0x20),
Reviewed-by: Michael Walle <mwalle@kernel.org>
-michael
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 297 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/4] mtd: spi-nor: winbond: Fix locking support for w25q256jw
2026-02-08 6:19 ` [PATCH 2/4] mtd: spi-nor: winbond: Fix locking support for w25q256jw Eliav Farber
@ 2026-02-10 7:39 ` Michael Walle
0 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2026-02-10 7:39 UTC (permalink / raw)
To: Eliav Farber, tudor.ambarus, pratyush, miquel.raynal, richard,
vigneshr, linux-mtd, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1358 bytes --]
On Sun Feb 8, 2026 at 7:19 AM CET, Eliav Farber wrote:
> The Winbond w25q256jw device:
> - Supports lock/unlock via SR.
> - Has Top/Bottom (TB) protect bit.
> - Uses Status Register bit 6 as the Top/Bottom (TB) protect bit.
> - Supports four Block Protect (BP) bits.
>
> Update the flash parameters by enabling SPI_NOR_HAS_LOCK, SPI_NOR_HAS_TB,
> SPI_NOR_TB_SR_BIT6 and SPI_NOR_4BIT_BP. Without these flags, the locking
> configuration is incorrect.
>
> Reference:
> https://www.winbond.com/hq/support/documentation/levelOne.jsp?__locale=en&DocNo=DA00-W25Q256JW.1
>
> Signed-off-by: Eliav Farber <farbere@amazon.com>
> ---
> drivers/mtd/spi-nor/winbond.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
> index 55f1209936d5..6d325da121b4 100644
> --- a/drivers/mtd/spi-nor/winbond.c
> +++ b/drivers/mtd/spi-nor/winbond.c
> @@ -274,6 +274,7 @@ static const struct flash_info winbond_nor_parts[] = {
> .id = SNOR_ID(0xef, 0x60, 0x19),
> .name = "w25q256jw",
> .size = SZ_32M,
> + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB | SPI_NOR_TB_SR_BIT6 | SPI_NOR_4BIT_BP,
> .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
> }, {
> .id = SNOR_ID(0xef, 0x60, 0x20),
Reviewed-by: Michael Walle <mwalle@kernel.org>
-michael
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 297 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/4] mtd: spi-nor: winbond: Fix locking support for w25q64jvm
2026-02-08 6:19 ` [PATCH 3/4] mtd: spi-nor: winbond: Fix locking support for w25q64jvm Eliav Farber
@ 2026-02-10 7:40 ` Michael Walle
0 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2026-02-10 7:40 UTC (permalink / raw)
To: Eliav Farber, tudor.ambarus, pratyush, miquel.raynal, richard,
vigneshr, linux-mtd, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1292 bytes --]
On Sun Feb 8, 2026 at 7:19 AM CET, Eliav Farber wrote:
> The Winbond w25q64jvm supports block protection through the Status
> Register (SR) and provides a Top/Bottom (TB) protection bit.
>
> Enable SPI_NOR_HAS_LOCK and SPI_NOR_HAS_TB for this device to
> properly describe its locking capabilities.
>
> The device uses Status Register bit 5 as the TB bit and supports only
> three Block Protect (BP) bits. Therefore, do not set SPI_NOR_TB_SR_BIT6
> or SPI_NOR_4BIT_BP.
>
> Reference:
> https://www.winbond.com/hq/support/documentation/levelOne.jsp?__locale=en&DocNo=DA00-W25Q64JV.1
>
> Signed-off-by: Eliav Farber <farbere@amazon.com>
> ---
> drivers/mtd/spi-nor/winbond.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
> index 6d325da121b4..eaa547d36aad 100644
> --- a/drivers/mtd/spi-nor/winbond.c
> +++ b/drivers/mtd/spi-nor/winbond.c
> @@ -296,6 +296,7 @@ static const struct flash_info winbond_nor_parts[] = {
> .id = SNOR_ID(0xef, 0x70, 0x17),
> .name = "w25q64jvm",
> .size = SZ_8M,
> + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB,
> .no_sfdp_flags = SECT_4K,
> }, {
> .id = SNOR_ID(0xef, 0x70, 0x18),
Reviewed-by: Michael Walle <mwalle@kernel.org>
-michael
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 297 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 4/4] mtd: spi-nor: winbond: Enable Dual and Quad support for w25q64jvm
2026-02-08 6:19 ` [PATCH 4/4] mtd: spi-nor: winbond: Enable Dual and Quad " Eliav Farber
@ 2026-02-10 7:48 ` Michael Walle
0 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2026-02-10 7:48 UTC (permalink / raw)
To: Eliav Farber, tudor.ambarus, pratyush, miquel.raynal, richard,
vigneshr, linux-mtd, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1409 bytes --]
On Sun Feb 8, 2026 at 7:19 AM CET, Eliav Farber wrote:
> The w25q64jvm supports Dual and Quad SPI operations.
>
> Enable these capabilities by adding SPI_NOR_DUAL_READ and
> SPI_NOR_QUAD_READ to no_sfdp_flags.
Let me guess, you have a flash that actually has SFDP but it's not
parsed because the core (due to legacy reasons) skips it because
neither DUAL_READ nor QUAD_READ is set.
See also [1]. I'd prefer to always try to parse SFDP instead of
adding these legacy flags.
-michael
[1] https://lore.kernel.org/linux-mtd/DD10GE4EOCD7.CPTN7198QFUV@kernel.org/
>
> Reference:
> https://www.winbond.com/hq/support/documentation/levelOne.jsp?__locale=en&DocNo=DA00-W25Q64JV.1
>
> Signed-off-by: Eliav Farber <farbere@amazon.com>
> ---
> drivers/mtd/spi-nor/winbond.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
> index eaa547d36aad..cb35ec6f110e 100644
> --- a/drivers/mtd/spi-nor/winbond.c
> +++ b/drivers/mtd/spi-nor/winbond.c
> @@ -297,7 +297,7 @@ static const struct flash_info winbond_nor_parts[] = {
> .name = "w25q64jvm",
> .size = SZ_8M,
> .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB,
> - .no_sfdp_flags = SECT_4K,
> + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
> }, {
> .id = SNOR_ID(0xef, 0x70, 0x18),
> .name = "w25q128jv",
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 297 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-02-10 7:48 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-08 6:19 [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads Eliav Farber
2026-02-08 6:19 ` [PATCH 1/4] mtd: spi-nor: winbond: Fix locking support for w25q256jwm Eliav Farber
2026-02-10 7:38 ` Michael Walle
2026-02-08 6:19 ` [PATCH 2/4] mtd: spi-nor: winbond: Fix locking support for w25q256jw Eliav Farber
2026-02-10 7:39 ` Michael Walle
2026-02-08 6:19 ` [PATCH 3/4] mtd: spi-nor: winbond: Fix locking support for w25q64jvm Eliav Farber
2026-02-10 7:40 ` Michael Walle
2026-02-08 6:19 ` [PATCH 4/4] mtd: spi-nor: winbond: Enable Dual and Quad " Eliav Farber
2026-02-10 7:48 ` Michael Walle
2026-02-09 10:51 ` [PATCH 0/4] mtd: spi-nor: winbond: Fix protection handling and enable dual/quad reads Miquel Raynal
2026-02-10 7:37 ` Michael Walle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox