openwrt/target/linux/generic/pending-5.4/466-Revert-mtd-spi-nor-fix-Spansion-regressions-aliased-.patch
Chuanhong Guo f0f35fdac1 Revert "generic: 5.4: Add 4B_OPCODES flag to w25q256"
This reverts commit d7f21940bc.

Winbond W25Q256FV and W25Q256JV both uses 0xef4019 as JEDEC ID,
but only the latter has proper 4B_OPCODES support.
W25Q256FV has all 4B read instructions but it lacks a 4B page program
instruction, causing the entire flash to be read-only.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2020-04-05 12:07:47 +08:00

36 lines
1.2 KiB
Diff

From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Tue, 9 Jan 2018 20:41:48 +0100
Subject: [PATCH] Revert "mtd: spi-nor: fix Spansion regressions (aliased with
Winbond)"
This reverts commit 67b9bcd36906e12a15ffec19463afbbd6a41660e.
The underlying issue breaking Spansion flash has been fixed with "mtd: spi-nor:
wait until lock/unlock operations are ready" and "mtd: spi-nor: wait for SR_WIP
to clear on initial unlock", so we can support unlocking for Winbond flash
again.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
---
drivers/mtd/spi-nor/spi-nor.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -4397,6 +4397,7 @@ static void st_micron_set_default_init(s
static void winbond_set_default_init(struct spi_nor *nor)
{
+ nor->flags |= SNOR_F_HAS_LOCK;
nor->params.set_4byte = winbond_set_4byte;
}
@@ -4886,6 +4887,7 @@ int spi_nor_scan(struct spi_nor *nor, co
JEDEC_MFR(nor->info) == SNOR_MFR_INTEL ||
JEDEC_MFR(nor->info) == SNOR_MFR_MACRONIX ||
JEDEC_MFR(nor->info) == SNOR_MFR_SST ||
+ JEDEC_MFR(nor->info) == SNOR_MFR_WINBOND ||
nor->info->flags & SPI_NOR_HAS_LOCK)
nor->clear_sr_bp = spi_nor_clear_sr_bp;