[PATCH 1/1 RFC] mtd: spi-nor: Fix ID for Spansion s70fl01gs

Alexander Stein alexander.stein at systec-electronic.com
Mon Sep 29 02:43:15 PDT 2014


The Device ID is the same as with s25fl512s as stated in datasheet:
6. Identification (RDID)
The Read Identification (RDID) command outputs the one-byte manufacturer
identification, followed by the two-byte device identification and the
bytes for the Common Flash Interface (CFI) tables. Each die of the FL01GS
dual die stack will have identical identification data as the FL512S die,
with the exception of the CFI data at byte 27h, as shown in Table 6.1.

If DT is configured with 's70fl01gs' I get the following warnings (on a 3.12
kernel, but that shouldn't matter):
m25p80 spi32766.0: found s25fl512s, expected s70fl01gs
m25p80 spi32766.1: found s25fl512s, expected s70fl01gs

Signed-off-by: Alexander Stein <alexander.stein at systec-electronic.com>
---
I am aware that there is now an ID conflict. But this is due that the
s70fl01gs simply uses two separate chips. How to handle that?

 drivers/mtd/spi-nor/spi-nor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index b5ad6be..0c34968 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -551,7 +551,7 @@ const struct spi_device_id spi_nor_ids[] = {
 	{ "s25fl256s0", INFO(0x010219, 0x4d00, 256 * 1024, 128, 0) },
 	{ "s25fl256s1", INFO(0x010219, 0x4d01,  64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
 	{ "s25fl512s",  INFO(0x010220, 0x4d00, 256 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-	{ "s70fl01gs",  INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) },
+	{ "s70fl01gs",  INFO(0x010220, 0x4d00, 256 * 1024, 256, 0) },
 	{ "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024,  64, 0) },
 	{ "s25sl12801", INFO(0x012018, 0x0301,  64 * 1024, 256, 0) },
 	{ "s25fl129p0", INFO(0x012018, 0x4d00, 256 * 1024,  64, 0) },
-- 
1.8.5.5




More information about the linux-mtd mailing list