Browse Source

ar71xx: fix 320S33B flash chip support

SVN-Revision: 19114
Gabor Juhos 16 years ago
parent
commit
29653e2467

+ 15 - 0
target/linux/ar71xx/patches-2.6.30/106-mtd_m25p80_add_xxxs33b_support.patch

@@ -12,3 +12,18 @@
  	/* PMC -- pm25x "blocks" are 32K, sectors are 4K */
  	{ "pm25lv512",         0, 32 * 1024, 2, SECT_4K },
  	{ "pm25lv010",         0, 32 * 1024, 4, SECT_4K },
+@@ -656,11 +661,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);
+ 	}

+ 1 - 1
target/linux/ar71xx/patches-2.6.30/109-mtd-wrt160nl-trx-parser.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
-@@ -751,6 +751,16 @@ static int __devinit m25p_probe(struct s
+@@ -752,6 +752,16 @@ static int __devinit m25p_probe(struct s
  					part_probes, &parts, 0);
  		}
  #endif

+ 15 - 0
target/linux/ar71xx/patches-2.6.31/106-mtd_m25p80_add_xxxs33b_support.patch

@@ -12,3 +12,18 @@
  	/* PMC -- pm25x "blocks" are 32K, sectors are 4K */
  	{ "pm25lv512",         0, 32 * 1024, 2, SECT_4K },
  	{ "pm25lv010",         0, 32 * 1024, 4, SECT_4K },
+@@ -660,11 +665,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);
+ 	}

+ 1 - 1
target/linux/ar71xx/patches-2.6.31/109-mtd-wrt160nl-trx-parser.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
-@@ -755,6 +755,16 @@ static int __devinit m25p_probe(struct s
+@@ -756,6 +756,16 @@ static int __devinit m25p_probe(struct s
  					part_probes, &parts, 0);
  		}
  #endif

+ 15 - 0
target/linux/ar71xx/patches-2.6.32/106-mtd_m25p80_add_xxxs33b_support.patch

@@ -12,3 +12,18 @@
  	/* PMC -- pm25x "blocks" are 32K, sectors are 4K */
  	{ "pm25lv512",         0, 32 * 1024, 2, SECT_4K },
  	{ "pm25lv010",         0, 32 * 1024, 4, SECT_4K },
+@@ -789,11 +794,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);
+ 	}

+ 1 - 1
target/linux/ar71xx/patches-2.6.32/109-mtd-wrt160nl-trx-parser.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
-@@ -889,6 +889,16 @@ static int __devinit m25p_probe(struct s
+@@ -890,6 +890,16 @@ static int __devinit m25p_probe(struct s
  					part_probes, &parts, 0);
  		}
  #endif