summaryrefslogtreecommitdiffstats
path: root/target/linux/generic-2.6/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_support.patch
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-08 09:37:16 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-08 09:37:16 +0000
commita3d1e1db67e0f1139a377202a04b481d54078ae7 (patch)
tree7a3311821b7cddbc879d09ac6f8ec11188cebadf /target/linux/generic-2.6/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_support.patch
parent31fbf6222a3b15fab94dc960a4a08978a5340c3c (diff)
kernel: 2.6.32: integrate m25p80 driver related patches from ar71xx
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19547 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_support.patch')
-rw-r--r--target/linux/generic-2.6/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_support.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_support.patch b/target/linux/generic-2.6/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_support.patch
new file mode 100644
index 000000000..0c7c227ed
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_support.patch
@@ -0,0 +1,29 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -630,6 +630,11 @@ static struct flash_info __devinitdata m
+ { "en25p32", 0x1c2016, 0, 64 * 1024, 64, },
+ { "en25p64", 0x1c2017, 0, 64 * 1024, 128, },
+
++ /* Numonyx -- xxxs33b */
++ { "160s33b", 0x898911, 0, 64 * 1024, 64, },
++ { "320s33b", 0x898912, 0, 64 * 1024, 128, },
++ { "640s33b", 0x898913, 0, 64 * 1024, 256, },
++
+ /* PMC -- pm25x "blocks" are 32K, sectors are 4K */
+ { "pm25lv512", 0, 32 * 1024, 2, SECT_4K },
+ { "pm25lv010", 0, 32 * 1024, 4, SECT_4K },
+@@ -784,11 +789,12 @@ static int __devinit m25p_probe(struct s
+ dev_set_drvdata(&spi->dev, flash);
+
+ /*
+- * Atmel serial flash tend to power up
++ * Atmel and Intel/Numonyx serial flash tend to power up
+ * with the software protection bits set
+ */
+
+- if (info->jedec_id >> 16 == 0x1f) {
++ if (info->jedec_id >> 16 == 0x1f ||
++ info->jedec_id >> 16 == 0x89) {
+ write_enable(flash);
+ write_sr(flash, 0);
+ }