summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-2.6.35/086-mtd_m25p80_add_xxxs33b_support.patch
blob: 293ed8bdb6db910c0c2a41a857c0475ba79993b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
@@ -650,6 +650,11 @@ static const struct spi_device_id m25p_i
 	{ "en25p32", INFO(0x1c2016, 0, 64 * 1024,  64, 0) },
 	{ "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) },
 
+	/* Numonyx -- xxxs33b */
+	{ "160s33b",  INFO(0x898911, 0, 64 * 1024,  64, 0) },
+	{ "320s33b",  INFO(0x898912, 0, 64 * 1024, 128, 0) },
+	{ "640s33b",  INFO(0x898913, 0, 64 * 1024, 256, 0) },
+
 	/* PMC -- pm25x "blocks" are 32K, sectors are 4K */
 	{ "pm25lv512", INFO(0, 0, 32 * 1024, 2, SECT_4K) },
 	{ "pm25lv010", INFO(0, 0, 32 * 1024, 4, SECT_4K) },
@@ -834,11 +839,12 @@ static int __devinit m25p_probe(struct s
 	dev_set_drvdata(&spi->dev, flash);
 
 	/*
-	 * Atmel and SST serial flash tend to power
+	 * Atmel, SST and Intel/Numonyx serial flash tend to power
 	 * up with the software protection bits set
 	 */
 
 	if (info->jedec_id >> 16 == 0x1f ||
+	    info->jedec_id >> 16 == 0x89 ||
 	    info->jedec_id >> 16 == 0xbf) {
 		write_enable(flash);
 		write_sr(flash, 0);