generic: mtd: spi-nor: disable protection for Winbond flash at startup

This commit is contained in:
Matthias Schiffer 2016-03-29 22:00:58 +02:00
parent 0b25275976
commit d9ca449ed0
1 changed files with 94 additions and 0 deletions

View File

@ -0,0 +1,94 @@
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Tue, 29 Mar 2016 21:58:53 +0200
Subject: generic: mtd: spi-nor: disable protection for Winbond flash at startup
diff --git a/target/linux/generic/patches-3.18/463-mtd-spi-nor-wait-until-lock-unlock-operations-are-re.patch b/target/linux/generic/patches-3.18/463-mtd-spi-nor-wait-until-lock-unlock-operations-are-re.patch
new file mode 100644
index 0000000..c906425
--- /dev/null
+++ b/target/linux/generic/patches-3.18/463-mtd-spi-nor-wait-until-lock-unlock-operations-are-re.patch
@@ -0,0 +1,47 @@
+From 26e4790ddad59038ece16c8b89ad856bee946d75 Mon Sep 17 00:00:00 2001
+Message-Id: <26e4790ddad59038ece16c8b89ad856bee946d75.1459281384.git.mschiffer@universe-factory.net>
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Tue, 29 Mar 2016 21:51:10 +0200
+Subject: [PATCH 1/2] mtd: spi-nor: wait until lock/unlock operations are ready
+
+Upstream commits:
+
+32321e950d8a237d7e8f3a9b76220007dfa87544
+edf891ef9ab773363f8e58022a26d7d31604aed6
+---
+ drivers/mtd/spi-nor/spi-nor.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
+index ef783a4..1ab6e24 100644
+--- a/drivers/mtd/spi-nor/spi-nor.c
++++ b/drivers/mtd/spi-nor/spi-nor.c
+@@ -370,6 +370,8 @@ static int spi_nor_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
+ ret = write_sr(nor, status_new);
+ if (ret)
+ goto err;
++
++ ret = wait_till_ready(nor);
+ }
+
+ err:
+@@ -417,6 +419,8 @@ static int spi_nor_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
+ ret = write_sr(nor, status_new);
+ if (ret)
+ goto err;
++
++ ret = wait_till_ready(nor);
+ }
+
+ err:
+@@ -966,6 +970,7 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
+ JEDEC_MFR(info->jedec_id) == CFI_MFR_SST) {
+ write_enable(nor);
+ write_sr(nor, 0);
++ wait_till_ready(nor);
+ }
+
+ if (!mtd->name)
+--
+2.7.4
+
diff --git a/target/linux/generic/patches-3.18/464-mtd-spi-nor-disable-protection-for-Winbond-flash-at-.patch b/target/linux/generic/patches-3.18/464-mtd-spi-nor-disable-protection-for-Winbond-flash-at-.patch
new file mode 100644
index 0000000..7b45666
--- /dev/null
+++ b/target/linux/generic/patches-3.18/464-mtd-spi-nor-disable-protection-for-Winbond-flash-at-.patch
@@ -0,0 +1,31 @@
+From 03485b7e91a8f6e69e4945f937f266c59c1376d0 Mon Sep 17 00:00:00 2001
+Message-Id: <03485b7e91a8f6e69e4945f937f266c59c1376d0.1459281384.git.mschiffer@universe-factory.net>
+In-Reply-To: <26e4790ddad59038ece16c8b89ad856bee946d75.1459281384.git.mschiffer@universe-factory.net>
+References: <26e4790ddad59038ece16c8b89ad856bee946d75.1459281384.git.mschiffer@universe-factory.net>
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Tue, 29 Mar 2016 21:55:55 +0200
+Subject: [PATCH 2/2] mtd: spi-nor: disable protection for Winbond flash at
+ startup
+
+Upstream commit: c6fc2171b249e73745c497b578b417a2946f1b2f
+---
+ drivers/mtd/spi-nor/spi-nor.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
+index 1ab6e24..ea7fa30 100644
+--- a/drivers/mtd/spi-nor/spi-nor.c
++++ b/drivers/mtd/spi-nor/spi-nor.c
+@@ -967,7 +967,8 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
+ if (JEDEC_MFR(info->jedec_id) == CFI_MFR_ATMEL ||
+ JEDEC_MFR(info->jedec_id) == CFI_MFR_INTEL ||
+ JEDEC_MFR(info->jedec_id) == CFI_MFR_MACRONIX ||
+- JEDEC_MFR(info->jedec_id) == CFI_MFR_SST) {
++ JEDEC_MFR(info->jedec_id) == CFI_MFR_SST ||
++ JEDEC_MFR(info->jedec_id) == CFI_MFR_WINBOND) {
+ write_enable(nor);
+ write_sr(nor, 0);
+ wait_till_ready(nor);
+--
+2.7.4
+