All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] MTD: Add support for S25FL032P spi nor-flash
@ 2010-08-23 13:12 David Jander
  2010-08-23 16:31 ` Mike Frysinger
  2010-08-23 21:35 ` Mike Frysinger
  0 siblings, 2 replies; 12+ messages in thread
From: David Jander @ 2010-08-23 13:12 UTC (permalink / raw)
  To: u-boot

This patch introduces an extra mask-field in spansion_spi_flash_params
to support flash chips with 1-byte extended ID (like the S25FL032P).

Signed-off-by: David Jander <david@protonic.nl>
---
 drivers/mtd/spi/spansion.c |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/drivers/mtd/spi/spansion.c b/drivers/mtd/spi/spansion.c
index d6c1a5f..14cd6d3 100644
--- a/drivers/mtd/spi/spansion.c
+++ b/drivers/mtd/spi/spansion.c
@@ -52,12 +52,14 @@
 #define SPSN_ID_S25FL128P	0x2018
 #define SPSN_EXT_ID_S25FL128P_256KB	0x0300
 #define SPSN_EXT_ID_S25FL128P_64KB	0x0301
+#define SPSN_EXT_ID_S25FL032P		0x4d00
 
 #define SPANSION_SR_WIP		(1 << 0)	/* Write-in-Progress */
 
 struct spansion_spi_flash_params {
 	u16 idcode1;
 	u16 idcode2;
+	u16 idmask2;
 	u16 page_size;
 	u16 pages_per_sector;
 	u16 nr_sectors;
@@ -79,6 +81,7 @@ static const struct spansion_spi_flash_params 
spansion_spi_flash_table[] = {
 	{
 		.idcode1 = SPSN_ID_S25FL008A,
 		.idcode2 = 0,
+		.idmask2 = 0xffff,
 		.page_size = 256,
 		.pages_per_sector = 256,
 		.nr_sectors = 16,
@@ -87,6 +90,7 @@ static const struct spansion_spi_flash_params 
spansion_spi_flash_table[] = {
 	{
 		.idcode1 = SPSN_ID_S25FL016A,
 		.idcode2 = 0,
+		.idmask2 = 0xffff,
 		.page_size = 256,
 		.pages_per_sector = 256,
 		.nr_sectors = 32,
@@ -95,6 +99,7 @@ static const struct spansion_spi_flash_params 
spansion_spi_flash_table[] = {
 	{
 		.idcode1 = SPSN_ID_S25FL032A,
 		.idcode2 = 0,
+		.idmask2 = 0xffff,
 		.page_size = 256,
 		.pages_per_sector = 256,
 		.nr_sectors = 64,
@@ -103,6 +108,7 @@ static const struct spansion_spi_flash_params 
spansion_spi_flash_table[] = {
 	{
 		.idcode1 = SPSN_ID_S25FL064A,
 		.idcode2 = 0,
+		.idmask2 = 0xffff,
 		.page_size = 256,
 		.pages_per_sector = 256,
 		.nr_sectors = 128,
@@ -111,6 +117,7 @@ static const struct spansion_spi_flash_params 
spansion_spi_flash_table[] = {
 	{
 		.idcode1 = SPSN_ID_S25FL128P,
 		.idcode2 = SPSN_EXT_ID_S25FL128P_64KB,
+		.idmask2 = 0xffff,
 		.page_size = 256,
 		.pages_per_sector = 256,
 		.nr_sectors = 256,
@@ -119,11 +126,21 @@ static const struct spansion_spi_flash_params 
spansion_spi_flash_table[] = {
 	{
 		.idcode1 = SPSN_ID_S25FL128P,
 		.idcode2 = SPSN_EXT_ID_S25FL128P_256KB,
+		.idmask2 = 0xffff,
 		.page_size = 256,
 		.pages_per_sector = 1024,
 		.nr_sectors = 64,
 		.name = "S25FL128P_256K",
 	},
+	{
+		.idcode1 = SPSN_ID_S25FL032A,
+		.idcode2 = SPSN_EXT_ID_S25FL032P,
+		.idmask2 = 0xff00,
+		.page_size = 256,
+		.pages_per_sector = 256,
+		.nr_sectors = 64,
+		.name = "S25FL032P",
+	},
 };
 
 static int spansion_wait_ready(struct spi_flash *flash, unsigned long 
timeout)
@@ -317,7 +334,7 @@ struct spi_flash *spi_flash_probe_spansion(struct 
spi_slave *spi, u8 *idcode)
 	for (i = 0; i < ARRAY_SIZE(spansion_spi_flash_table); i++) {
 		params = &spansion_spi_flash_table[i];
 		if (params->idcode1 == jedec) {
-			if (params->idcode2 == ext_jedec)
+			if (params->idcode2 == (ext_jedec & params->idmask2))
 				break;
 		}
 	}
-- 
1.6.3.3

^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [U-Boot] [PATCH] MTD: Add support for S25FL032P spi nor-flash
@ 2010-12-03  6:09 Macpaul Lin
  0 siblings, 0 replies; 12+ messages in thread
From: Macpaul Lin @ 2010-12-03  6:09 UTC (permalink / raw)
  To: u-boot

> This patch introduces an extra mask-field in spansion_spi_flash_params
> to support flash chips with 1-byte extended ID (like the S25FL032P).

> Signed-off-by: David Jander <david@protonic.nl>

The extension ID has been checked with the datasheet.

http://www.spansion.com/Support/Datasheets/S25FL032P_00_05_e.pdf

at Table 9.2 Manufacturer & Device ID - RDID (JEDEC 9Fh):
# Extended bytes: byte 3: 4Dh

However S25FL128P series has 2 extended bytes.
http://www.spansion.com/Support/Datasheets/S25FL128P_00_08_e.pdf

> ---
> drivers/mtd/spi/spansion.c |   19 ++++++++++++++++++-
> 1 files changed, 18 insertions(+), 1 deletions(-)

> +#define SPSN_EXT_ID_S25FL032P          0x4d00

--
Best regards,
Macpaul Lin

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2010-12-03  6:09 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-23 13:12 [U-Boot] [PATCH] MTD: Add support for S25FL032P spi nor-flash David Jander
2010-08-23 16:31 ` Mike Frysinger
2010-08-24  6:39   ` David Jander
2010-08-24 16:06     ` Mike Frysinger
2010-08-24 18:36       ` David Jander
2010-08-24 19:36         ` Mike Frysinger
2010-08-25  7:47           ` David Jander
2010-08-26  2:01             ` Mike Frysinger
2010-08-23 21:35 ` Mike Frysinger
2010-08-23 22:08   ` Mike Frysinger
2010-08-24  6:49   ` David Jander
2010-12-03  6:09 Macpaul Lin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.