You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/generic/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_...

30 lines
982 B
Diff

--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
@@ -632,6 +632,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, 32, },
+ { "320s33b", 0x898912, 0, 64 * 1024, 64, },
+ { "640s33b", 0x898913, 0, 64 * 1024, 128, },
+
/* PMC -- pm25x "blocks" are 32K, sectors are 4K */
{ "pm25lv512", 0, 0, 32 * 1024, 2, SECT_4K_ALT },
{ "pm25lv010", 0, 0, 32 * 1024, 4, SECT_4K_ALT },
@@ -786,11 +791,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);
}