From f7245e386e2b66cefa24016c28c54d460b7ac062 Mon Sep 17 00:00:00 2001 From: juhosg Date: Wed, 13 Jan 2010 06:52:12 +0000 Subject: [PATCH] ar71xx: fix 320S33B flash chip support git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19114 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../106-mtd_m25p80_add_xxxs33b_support.patch | 15 +++++++++++++++ .../109-mtd-wrt160nl-trx-parser.patch | 2 +- .../106-mtd_m25p80_add_xxxs33b_support.patch | 15 +++++++++++++++ .../109-mtd-wrt160nl-trx-parser.patch | 2 +- .../106-mtd_m25p80_add_xxxs33b_support.patch | 15 +++++++++++++++ .../109-mtd-wrt160nl-trx-parser.patch | 2 +- 6 files changed, 48 insertions(+), 3 deletions(-) diff --git a/target/linux/ar71xx/patches-2.6.30/106-mtd_m25p80_add_xxxs33b_support.patch b/target/linux/ar71xx/patches-2.6.30/106-mtd_m25p80_add_xxxs33b_support.patch index 68f17596f..5bd20a769 100644 --- a/target/linux/ar71xx/patches-2.6.30/106-mtd_m25p80_add_xxxs33b_support.patch +++ b/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); + } diff --git a/target/linux/ar71xx/patches-2.6.30/109-mtd-wrt160nl-trx-parser.patch b/target/linux/ar71xx/patches-2.6.30/109-mtd-wrt160nl-trx-parser.patch index 749c1d70d..5696d3965 100644 --- a/target/linux/ar71xx/patches-2.6.30/109-mtd-wrt160nl-trx-parser.patch +++ b/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 diff --git a/target/linux/ar71xx/patches-2.6.31/106-mtd_m25p80_add_xxxs33b_support.patch b/target/linux/ar71xx/patches-2.6.31/106-mtd_m25p80_add_xxxs33b_support.patch index e4e01637d..dfd855a49 100644 --- a/target/linux/ar71xx/patches-2.6.31/106-mtd_m25p80_add_xxxs33b_support.patch +++ b/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); + } diff --git a/target/linux/ar71xx/patches-2.6.31/109-mtd-wrt160nl-trx-parser.patch b/target/linux/ar71xx/patches-2.6.31/109-mtd-wrt160nl-trx-parser.patch index 4ab53a48d..ccf4b66b6 100644 --- a/target/linux/ar71xx/patches-2.6.31/109-mtd-wrt160nl-trx-parser.patch +++ b/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 diff --git a/target/linux/ar71xx/patches-2.6.32/106-mtd_m25p80_add_xxxs33b_support.patch b/target/linux/ar71xx/patches-2.6.32/106-mtd_m25p80_add_xxxs33b_support.patch index 01be5dbb4..8f1a842be 100644 --- a/target/linux/ar71xx/patches-2.6.32/106-mtd_m25p80_add_xxxs33b_support.patch +++ b/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); + } diff --git a/target/linux/ar71xx/patches-2.6.32/109-mtd-wrt160nl-trx-parser.patch b/target/linux/ar71xx/patches-2.6.32/109-mtd-wrt160nl-trx-parser.patch index 4136db8e9..b4eab674a 100644 --- a/target/linux/ar71xx/patches-2.6.32/109-mtd-wrt160nl-trx-parser.patch +++ b/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 -- 2.20.1