From c3fc2a7a35c9270028839532a4d0b4f4dcd57e12 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 24 Nov 2015 19:09:56 +0000
Subject: [PATCH] kernel: disable software protection bits for macronix flash
 chips at init

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47626
---
 ...465-m25p80-mx-disable-software-protection.patch | 14 ++++++++++++++
 ...465-m25p80-mx-disable-software-protection.patch | 14 ++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 target/linux/generic/patches-4.1/465-m25p80-mx-disable-software-protection.patch
 create mode 100644 target/linux/generic/patches-4.3/465-m25p80-mx-disable-software-protection.patch

diff --git a/target/linux/generic/patches-4.1/465-m25p80-mx-disable-software-protection.patch b/target/linux/generic/patches-4.1/465-m25p80-mx-disable-software-protection.patch
new file mode 100644
index 00000000000..dcf594bad12
--- /dev/null
+++ b/target/linux/generic/patches-4.1/465-m25p80-mx-disable-software-protection.patch
@@ -0,0 +1,14 @@
+Disable software protection bits for Macronix flashes.
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+
+--- a/drivers/mtd/spi-nor/spi-nor.c
++++ b/drivers/mtd/spi-nor/spi-nor.c
+@@ -1200,6 +1200,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+ 
+ 	if (JEDEC_MFR(info) == SNOR_MFR_ATMEL ||
+ 	    JEDEC_MFR(info) == SNOR_MFR_INTEL ||
++	    JEDEC_MFR(info) == SNOR_MFR_MACRONIX ||
+ 	    JEDEC_MFR(info) == SNOR_MFR_SST ||
+ 	    JEDEC_MFR(info) == SNOR_MFR_WINBOND) {
+ 		write_enable(nor);
diff --git a/target/linux/generic/patches-4.3/465-m25p80-mx-disable-software-protection.patch b/target/linux/generic/patches-4.3/465-m25p80-mx-disable-software-protection.patch
new file mode 100644
index 00000000000..dcf594bad12
--- /dev/null
+++ b/target/linux/generic/patches-4.3/465-m25p80-mx-disable-software-protection.patch
@@ -0,0 +1,14 @@
+Disable software protection bits for Macronix flashes.
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+
+--- a/drivers/mtd/spi-nor/spi-nor.c
++++ b/drivers/mtd/spi-nor/spi-nor.c
+@@ -1200,6 +1200,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+ 
+ 	if (JEDEC_MFR(info) == SNOR_MFR_ATMEL ||
+ 	    JEDEC_MFR(info) == SNOR_MFR_INTEL ||
++	    JEDEC_MFR(info) == SNOR_MFR_MACRONIX ||
+ 	    JEDEC_MFR(info) == SNOR_MFR_SST ||
+ 	    JEDEC_MFR(info) == SNOR_MFR_WINBOND) {
+ 		write_enable(nor);
-- 
GitLab