[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#843650: linux: Add support for n25q256a11 SPI flash device



Source: linux
Version: 3.16.36-1+deb8u2
Severity: wishlist
Tags: patch

Dear Maintainer,

We have a system that uses the n25q256a11 SPI flash device which is not
marked as supported in the 3.16 kernel series.
I've included a patch that enables this support.  I've been applying this
patch and rebuilding the kernel packages every time Debian releases a new
version, which got old quickly. It's a simple patch and I'm hoping it will
get applied to save myself some headache every so often. :)
This patch is *not* for use in unstable, only Jessie.  A version between 3.16
and 4.7 (stretch) revamped how the chip support is determined, added explicit
support for this chip, and also added a way to add new chips at runtime
without requiring a recompile - all things that make this patch pointless on
unstable/testing.

-- System Information:
Debian Release: 8.6
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/16 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Adds support for the n25q256a11 SPI flash chip.
--- linux-3.16.7-ckt20.orig/drivers/mtd/devices/m25p80.c
+++ linux-3.16.7-ckt20/drivers/mtd/devices/m25p80.c
@@ -281,6 +281,7 @@ static const struct spi_device_id m25p_i
 	{"mx25l12855e"},{"mx25l25635e"},{"mx25l25655e"},{"mx66l51235l"},
 	{"mx66l1g55g"},
 	{"n25q064"},	{"n25q128a11"},	{"n25q128a13"},	{"n25q256a"},
+	{"n25q256a11"},
 	{"n25q512a"},	{"n25q512ax3"},	{"n25q00"},
 	{"pm25lv512"},	{"pm25lv010"},	{"pm25lq032"},
 	{"s25sl032p"},	{"s25sl064p"},	{"s25fl256s0"},	{"s25fl256s1"},
--- linux-3.16.7-ckt20.orig/drivers/mtd/spi-nor/spi-nor.c
+++ linux-3.16.7-ckt20/drivers/mtd/spi-nor/spi-nor.c
@@ -489,6 +489,7 @@ static const struct spi_device_id spi_no
 	{ "n25q128a11",  INFO(0x20bb18, 0, 64 * 1024,  256, 0) },
 	{ "n25q128a13",  INFO(0x20ba18, 0, 64 * 1024,  256, 0) },
 	{ "n25q256a",    INFO(0x20ba19, 0, 64 * 1024,  512, SECT_4K) },
+	{ "n25q256a11",  INFO(0x20bb19, 0, 64 * 1024,  512, SECT_4K) },
 	{ "n25q512a",    INFO(0x20bb20, 0, 64 * 1024, 1024, SECT_4K) },
 
 	/* PMC */

Reply to: