From b93e15a8c5bc2c7ca78f35da9cfe8a4c1ea7e713 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 8 Feb 2010 09:37:16 +0000 Subject: 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 --- ...083-mtd_fix_nand_correct_data_return_code.patch | 12 +++++++++ .../084-mtd_m25p80_add_pm25lv_flash_support.patch | 13 ++++++++++ .../085-mtd_m25p80_add_en25pxx_support.patch | 13 ++++++++++ .../086-mtd_m25p80_add_xxxs33b_support.patch | 29 ++++++++++++++++++++++ .../087-mtd-m25p80-add-w25q32-chip-support.patch | 10 ++++++++ ...090-mtd_fix_nand_correct_data_return_code.patch | 12 --------- 6 files changed, 77 insertions(+), 12 deletions(-) create mode 100644 target/linux/generic-2.6/patches-2.6.32/083-mtd_fix_nand_correct_data_return_code.patch create mode 100644 target/linux/generic-2.6/patches-2.6.32/084-mtd_m25p80_add_pm25lv_flash_support.patch create mode 100644 target/linux/generic-2.6/patches-2.6.32/085-mtd_m25p80_add_en25pxx_support.patch create mode 100644 target/linux/generic-2.6/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_support.patch create mode 100644 target/linux/generic-2.6/patches-2.6.32/087-mtd-m25p80-add-w25q32-chip-support.patch delete mode 100644 target/linux/generic-2.6/patches-2.6.32/090-mtd_fix_nand_correct_data_return_code.patch (limited to 'target/linux/generic-2.6/patches-2.6.32') diff --git a/target/linux/generic-2.6/patches-2.6.32/083-mtd_fix_nand_correct_data_return_code.patch b/target/linux/generic-2.6/patches-2.6.32/083-mtd_fix_nand_correct_data_return_code.patch new file mode 100644 index 0000000000..97148d07d0 --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.32/083-mtd_fix_nand_correct_data_return_code.patch @@ -0,0 +1,12 @@ +--- a/drivers/mtd/nand/nand_ecc.c ++++ b/drivers/mtd/nand/nand_ecc.c +@@ -492,8 +492,7 @@ int __nand_correct_data(unsigned char *b + if ((bitsperbyte[b0] + bitsperbyte[b1] + bitsperbyte[b2]) == 1) + return 1; /* error in ecc data; no action needed */ + +- printk(KERN_ERR "uncorrectable error : "); +- return -1; ++ return -EBADMSG; + } + EXPORT_SYMBOL(__nand_correct_data); + diff --git a/target/linux/generic-2.6/patches-2.6.32/084-mtd_m25p80_add_pm25lv_flash_support.patch b/target/linux/generic-2.6/patches-2.6.32/084-mtd_m25p80_add_pm25lv_flash_support.patch new file mode 100644 index 0000000000..30c5cc9529 --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.32/084-mtd_m25p80_add_pm25lv_flash_support.patch @@ -0,0 +1,13 @@ +--- a/drivers/mtd/devices/m25p80.c ++++ b/drivers/mtd/devices/m25p80.c +@@ -626,6 +626,10 @@ static struct flash_info __devinitdata m + { "mx25l12805d", 0xc22018, 0, 64 * 1024, 256, }, + { "mx25l12855e", 0xc22618, 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 }, ++ + /* Spansion -- single (large) sector size only, at least + * for the chips listed here (without boot sectors). + */ diff --git a/target/linux/generic-2.6/patches-2.6.32/085-mtd_m25p80_add_en25pxx_support.patch b/target/linux/generic-2.6/patches-2.6.32/085-mtd_m25p80_add_en25pxx_support.patch new file mode 100644 index 0000000000..d3bd1dd5ef --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.32/085-mtd_m25p80_add_en25pxx_support.patch @@ -0,0 +1,13 @@ +--- a/drivers/mtd/devices/m25p80.c ++++ b/drivers/mtd/devices/m25p80.c +@@ -626,6 +626,10 @@ static struct flash_info __devinitdata m + { "mx25l12805d", 0xc22018, 0, 64 * 1024, 256, }, + { "mx25l12855e", 0xc22618, 0, 64 * 1024, 256, }, + ++ /* EON -- en25pxx */ ++ { "en25p32", 0x1c2016, 0, 64 * 1024, 64, }, ++ { "en25p64", 0x1c2017, 0, 64 * 1024, 128, }, ++ + /* PMC -- pm25x "blocks" are 32K, sectors are 4K */ + { "pm25lv512", 0, 32 * 1024, 2, SECT_4K }, + { "pm25lv010", 0, 32 * 1024, 4, SECT_4K }, 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 0000000000..0c7c227ed8 --- /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); + } diff --git a/target/linux/generic-2.6/patches-2.6.32/087-mtd-m25p80-add-w25q32-chip-support.patch b/target/linux/generic-2.6/patches-2.6.32/087-mtd-m25p80-add-w25q32-chip-support.patch new file mode 100644 index 0000000000..5f44c1d696 --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.32/087-mtd-m25p80-add-w25q32-chip-support.patch @@ -0,0 +1,10 @@ +--- a/drivers/mtd/devices/m25p80.c ++++ b/drivers/mtd/devices/m25p80.c +@@ -687,6 +687,7 @@ static struct flash_info __devinitdata m + { "w25x80", 0xef3014, 0, 64 * 1024, 16, SECT_4K, }, + { "w25x16", 0xef3015, 0, 64 * 1024, 32, SECT_4K, }, + { "w25x32", 0xef3016, 0, 64 * 1024, 64, SECT_4K, }, ++ { "w25q32", 0xef4016, 0, 64 * 1024, 64, SECT_4K, }, + { "w25x64", 0xef3017, 0, 64 * 1024, 128, SECT_4K, }, + }; + diff --git a/target/linux/generic-2.6/patches-2.6.32/090-mtd_fix_nand_correct_data_return_code.patch b/target/linux/generic-2.6/patches-2.6.32/090-mtd_fix_nand_correct_data_return_code.patch deleted file mode 100644 index 97148d07d0..0000000000 --- a/target/linux/generic-2.6/patches-2.6.32/090-mtd_fix_nand_correct_data_return_code.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/drivers/mtd/nand/nand_ecc.c -+++ b/drivers/mtd/nand/nand_ecc.c -@@ -492,8 +492,7 @@ int __nand_correct_data(unsigned char *b - if ((bitsperbyte[b0] + bitsperbyte[b1] + bitsperbyte[b2]) == 1) - return 1; /* error in ecc data; no action needed */ - -- printk(KERN_ERR "uncorrectable error : "); -- return -1; -+ return -EBADMSG; - } - EXPORT_SYMBOL(__nand_correct_data); - -- cgit v1.2.3