[OpenWrt-Devel] [PATCHv3] [kernel] Support for new Archer C7 with gd25q128 chip in 15.05.1

John Marrett johnf at zioncluster.ca
Tue Apr 19 22:13:31 EDT 2016


Archer C7 V2.0 units from December 2015 onwards ( serials starting 215C
) have changed flash chips to the gd25q128 chip, this is supported in
trunk but not presently in 15.05. I would like stable support for this
version so I've back ported the required fix from trunk and removed a
conflicting patch from bcm53xx I've tested the patch it and I'm able to
install a build of 15.05.1 on a new Archer C7 device with this patch. 

Signed-off-by: John Marrett <johnf at zioncluster.ca>
---
 .../patches-3.18/004-mtd-spi-nor-from-3.20.patch   | 26 +++++++++-------------
 ...-mtd_GD25Q128B_support_backport_from_3.19.patch | 12 ++++++++++
 2 files changed, 23 insertions(+), 15 deletions(-)
 create mode 100644 target/linux/generic/patches-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch

diff --git a/target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch b/target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch
index ab7b0bb..449e80f 100644
--- a/target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch
+++ b/target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch
@@ -1,14 +1,8 @@
---- a/drivers/mtd/spi-nor/spi-nor.c
-+++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -538,6 +538,7 @@ static const struct spi_device_id spi_no
- 	/* GigaDevice */
- 	{ "gd25q32", INFO(0xc84016, 0, 64 * 1024,  64, SECT_4K) },
- 	{ "gd25q64", INFO(0xc84017, 0, 64 * 1024, 128, SECT_4K) },
-+	{ "gd25q128", INFO(0xc84018, 0, 64 * 1024, 256, SECT_4K) },
- 
- 	/* Intel/Numonyx -- xxxs33b */
- 	{ "160s33b",  INFO(0x898911, 0, 64 * 1024,  32, 0) },
-@@ -564,14 +565,14 @@ static const struct spi_device_id spi_no
+Index: linux-3.18.29/drivers/mtd/spi-nor/spi-nor.c
+===================================================================
+--- linux-3.18.29.orig/drivers/mtd/spi-nor/spi-nor.c	2016-04-19 19:28:00.391762486 -0400
++++ linux-3.18.29/drivers/mtd/spi-nor/spi-nor.c	2016-04-19 19:29:03.220034573 -0400
+@@ -564,14 +564,14 @@
  	{ "mx66l1g55g",  INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) },
  
  	/* Micron */
@@ -31,7 +25,7 @@
  
  	/* PMC */
  	{ "pm25lv512",   INFO(0,        0, 32 * 1024,    2, SECT_4K_PMC) },
-@@ -895,6 +896,45 @@ static int spansion_quad_enable(struct s
+@@ -895,6 +895,45 @@
  	return 0;
  }
  
@@ -77,7 +71,7 @@
  static int set_quad_mode(struct spi_nor *nor, struct flash_info *info)
  {
  	int status;
-@@ -907,6 +947,13 @@ static int set_quad_mode(struct spi_nor
+@@ -907,6 +946,13 @@
  			return -EINVAL;
  		}
  		return status;
@@ -91,8 +85,10 @@
  	default:
  		status = spansion_quad_enable(nor);
  		if (status) {
---- a/include/linux/mtd/spi-nor.h
-+++ b/include/linux/mtd/spi-nor.h
+Index: linux-3.18.29/include/linux/mtd/spi-nor.h
+===================================================================
+--- linux-3.18.29.orig/include/linux/mtd/spi-nor.h	2016-04-19 19:28:00.391762486 -0400
++++ linux-3.18.29/include/linux/mtd/spi-nor.h	2016-04-19 19:28:00.387762470 -0400
 @@ -56,6 +56,10 @@
  /* Used for Spansion flashes only. */
  #define SPINOR_OP_BRWR		0x17	/* Bank register write */
diff --git a/target/linux/generic/patches-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch b/target/linux/generic/patches-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch
new file mode 100644
index 0000000..b1bb3fb
--- /dev/null
+++ b/target/linux/generic/patches-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch
@@ -0,0 +1,12 @@
+Index: linux-3.18.29/drivers/mtd/spi-nor/spi-nor.c
+===================================================================
+--- linux-3.18.29.orig/drivers/mtd/spi-nor/spi-nor.c	2016-04-19 20:30:41.535015813 -0400
++++ linux-3.18.29/drivers/mtd/spi-nor/spi-nor.c	2016-04-19 20:32:12.767454183 -0400
+@@ -510,6 +510,7 @@
+ 	/* GigaDevice */
+ 	{ "gd25q32", INFO(0xc84016, 0, 64 * 1024,  64, SECT_4K) },
+ 	{ "gd25q64", INFO(0xc84017, 0, 64 * 1024, 128, SECT_4K) },
++	{ "gd25q128", INFO(0xc84018, 0, 64 * 1024, 256, SECT_4K) },
+ 
+ 	/* Intel/Numonyx -- xxxs33b */
+ 	{ "160s33b",  INFO(0x898911, 0, 64 * 1024,  32, 0) },
-- 
1.9.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list