mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
f1525e785e
Backport below changes for GigaDevice GD25Q256 support from v4.15: e27072851bf7 mtd: spi-nor: add a quad_enable callback in struct flash_info 65153846b18c mtd: spi-nor: add support for GD25Q256 This chip is used on newer Quad-E4G boards. Before: [ 2.366493] m25p80 spi0.0: unrecognized JEDEC id bytes: c8, 40, 19 [ 2.372853] m25p80: probe of spi0.0 failed with error -2 After: [ 2.371722] m25p80 spi0.0: gd25q256 (32768 Kbytes) [ 2.376694] 5 fixed-partitions partitions found on MTD device spi0.0 [ 2.383043] Creating 5 MTD partitions on "spi0.0": [ 2.387824] 0x000000000000-0x000000030000 : "u-boot" [ 2.394138] 0x000000030000-0x000000031000 : "u-boot-env" [ 2.400608] 0x000000031000-0x000000040000 : "config" [ 2.406830] 0x000000040000-0x000000050000 : "factory" [ 2.413169] 0x000000050000-0x000002000000 : "firmware" Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
38 lines
1.4 KiB
Diff
38 lines
1.4 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
|
|
@@ -2735,6 +2735,7 @@ int spi_nor_scan(struct spi_nor *nor, co
|
|
JEDEC_MFR(info) == SNOR_MFR_INTEL ||
|
|
JEDEC_MFR(info) == SNOR_MFR_MACRONIX ||
|
|
JEDEC_MFR(info) == SNOR_MFR_SST ||
|
|
+ JEDEC_MFR(info) == SNOR_MFR_WINBOND ||
|
|
info->flags & SPI_NOR_HAS_LOCK) {
|
|
write_enable(nor);
|
|
write_sr(nor, 0);
|
|
@@ -2753,7 +2754,8 @@ int spi_nor_scan(struct spi_nor *nor, co
|
|
|
|
/* NOR protection support for STmicro/Micron chips and similar */
|
|
if (JEDEC_MFR(info) == SNOR_MFR_MICRON ||
|
|
- info->flags & SPI_NOR_HAS_LOCK) {
|
|
+ JEDEC_MFR(info) == SNOR_MFR_WINBOND ||
|
|
+ info->flags & SPI_NOR_HAS_LOCK) {
|
|
nor->flash_lock = stm_lock;
|
|
nor->flash_unlock = stm_unlock;
|
|
nor->flash_is_locked = stm_is_locked;
|