[Armadeus-commitlog] armadeus branch, master, updated. armadeus-5.2-463-g5cf727f
Brought to you by:
sszy
|
From: jorasse <jo...@us...> - 2013-09-26 08:24:39
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 5cf727fc4d43f535f822fa5e36068e8f17c3c263 (commit)
from f304afb94f5d54cdac0cc40d19832c0ddce6aee8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 5cf727fc4d43f535f822fa5e36068e8f17c3c263
Author: Eric Jarrige <eri...@ar...>
Date: Thu Sep 26 10:36:38 2013 +0200
[LINUX] apf51, apf27: align NAND BBT description to the linux/UBoot mainline
-----------------------------------------------------------------------
Summary of changes:
...f27-armadeus-fixe-bugs-drivers_mxc_nand.c.patch | 4 +-
.../2.6.36/404-armadeus-fix_nand_ecc_oob.patch | 89 --------------------
.../2.6.38/240-armadeus-mxc_nand-fixes_bbt.patch | 18 ----
.../2.6.38/404-armadeus-fix_nand_ecc_oob.patch | 81 ------------------
.../linux/3.0/404-armadeus-fix_nand_ecc_oob.patch | 81 ------------------
.../3.10/0404-armadeus-fix_nand_ecc_oob.patch | 81 ------------------
.../3.11/0404-armadeus-fix_nand_ecc_oob.patch | 81 ------------------
.../3.12/0404-armadeus-fix_nand_ecc_oob.patch | 77 -----------------
.../linux/3.8/0404-armadeus-fix_nand_ecc_oob.patch | 81 ------------------
.../linux/3.9/0404-armadeus-fix_nand_ecc_oob.patch | 81 ------------------
10 files changed, 2 insertions(+), 672 deletions(-)
delete mode 100644 patches/linux/2.6.36/404-armadeus-fix_nand_ecc_oob.patch
delete mode 100644 patches/linux/2.6.38/404-armadeus-fix_nand_ecc_oob.patch
delete mode 100644 patches/linux/3.0/404-armadeus-fix_nand_ecc_oob.patch
delete mode 100644 patches/linux/3.10/0404-armadeus-fix_nand_ecc_oob.patch
delete mode 100644 patches/linux/3.11/0404-armadeus-fix_nand_ecc_oob.patch
delete mode 100644 patches/linux/3.12/0404-armadeus-fix_nand_ecc_oob.patch
delete mode 100644 patches/linux/3.8/0404-armadeus-fix_nand_ecc_oob.patch
delete mode 100644 patches/linux/3.9/0404-armadeus-fix_nand_ecc_oob.patch
diff --git a/patches/linux/2.6.29/240-apf27-armadeus-fixe-bugs-drivers_mxc_nand.c.patch b/patches/linux/2.6.29/240-apf27-armadeus-fixe-bugs-drivers_mxc_nand.c.patch
index 971f9c0..c6f923e 100644
--- a/patches/linux/2.6.29/240-apf27-armadeus-fixe-bugs-drivers_mxc_nand.c.patch
+++ b/patches/linux/2.6.29/240-apf27-armadeus-fixe-bugs-drivers_mxc_nand.c.patch
@@ -29,7 +29,7 @@ Index: linux-2.6.29/drivers/mtd/nand/mxc_nand.c
+static struct nand_bbt_descr mxcnd_bbt_main_descr = {
+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
+ | NAND_BBT_2BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 12,
++ .offs = 0,
+ .len = 4,
+ .veroffs = 4,
+ .maxblocks = 4,
@@ -39,7 +39,7 @@ Index: linux-2.6.29/drivers/mtd/nand/mxc_nand.c
+static struct nand_bbt_descr mxcnd_bbt_mirror_descr = {
+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
+ | NAND_BBT_2BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 12,
++ .offs = 0,
+ .len = 4,
+ .veroffs = 4,
+ .maxblocks = 4,
diff --git a/patches/linux/2.6.36/404-armadeus-fix_nand_ecc_oob.patch b/patches/linux/2.6.36/404-armadeus-fix_nand_ecc_oob.patch
deleted file mode 100644
index e0d2bcd..0000000
--- a/patches/linux/2.6.36/404-armadeus-fix_nand_ecc_oob.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-Add OOB and bad block table management to the V3 mxc_nand driver
-
-Signed-off-by: Nicolas Colombain <nic...@ar...>
-
-Index: linux-2.6.36/drivers/mtd/nand/mxc_nand.c
-===================================================================
---- linux-2.6.36.orig/drivers/mtd/nand/mxc_nand.c 2010-11-14 12:33:43.000000000 +0100
-+++ linux-2.6.36/drivers/mtd/mxc_nand.c 2010-11-14 12:16:17.000000000 +0100
-@@ -211,6 +211,18 @@ static struct nand_ecclayout nandv2_hw_e
- }
- };
-
-+/* OOB description for V3 and 2048 byte pages with 64 byte OOB */
-+static struct nand_ecclayout nandv3_hw_eccoob_largepage = {
-+ .eccbytes = 8,
-+ .eccpos = {
-+ 8, 9, 10, 11, 12, 13, 14, 15,
-+ },
-+ .oobfree = {
-+ {2, 5},
-+ {16, 48}
-+ },
-+};
-+
- static u_char nand_verify_buf[2048];
-
- #ifdef CONFIG_MTD_PARTITIONS
-@@ -1013,6 +1025,28 @@ static struct nand_bbt_descr bbt_mirror_
- .pattern = mirror_pattern,
- };
-
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_main_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = bbt_pattern
-+};
-+
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_mirror_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = bbt_pattern
-+};
-+
- static int __init mxcnd_probe(struct platform_device *pdev)
- {
- struct nand_chip *this;
-@@ -1029,6 +1063,7 @@ static int __init mxcnd_probe(struct pla
- if (!host)
- return -ENOMEM;
-
-+
- host->data_buf = (uint8_t *)(host + 1);
-
- host->dev = &pdev->dev;
-@@ -1128,7 +1163,7 @@ static int __init mxcnd_probe(struct pla
- host->get_dev_status = get_dev_status_v3;
- host->irq_control = irq_control_v3;
- oob_smallpage = &nandv2_hw_eccoob_smallpage;
-- oob_largepage = &nandv2_hw_eccoob_largepage;
-+ oob_largepage = &nandv3_hw_eccoob_largepage;
- } else
- BUG();
-
-@@ -1152,8 +1187,13 @@ static int __init mxcnd_probe(struct pla
- this->options |= NAND_BUSWIDTH_16;
-
- if (pdata->flash_bbt) {
-- this->bbt_td = &bbt_main_descr;
-- this->bbt_md = &bbt_mirror_descr;
-+ if (nfc_is_v3_2()) {
-+ this->bbt_td = &v3bbt_main_descr;
-+ this->bbt_md = &v3bbt_mirror_descr;
-+ } else {
-+ this->bbt_td = &bbt_main_descr;
-+ this->bbt_md = &bbt_mirror_descr;
-+ }
- /* update flash based bbt */
- this->options |= NAND_USE_FLASH_BBT;
- }
diff --git a/patches/linux/2.6.38/240-armadeus-mxc_nand-fixes_bbt.patch b/patches/linux/2.6.38/240-armadeus-mxc_nand-fixes_bbt.patch
index a018702..0dabfb8 100644
--- a/patches/linux/2.6.38/240-armadeus-mxc_nand-fixes_bbt.patch
+++ b/patches/linux/2.6.38/240-armadeus-mxc_nand-fixes_bbt.patch
@@ -36,21 +36,3 @@ Index: linux-2.6.36/drivers/mtd/nand/mxc_nand.c
}
/* This function is used by upper layer for select and
-@@ -985,7 +996,7 @@
- static struct nand_bbt_descr bbt_main_descr = {
- .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
- | NAND_BBT_2BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-- .offs = 0,
-+ .offs = 12,
- .len = 4,
- .veroffs = 4,
- .maxblocks = 4,
-@@ -995,7 +1006,7 @@
- static struct nand_bbt_descr bbt_mirror_descr = {
- .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
- | NAND_BBT_2BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-- .offs = 0,
-+ .offs = 12,
- .len = 4,
- .veroffs = 4,
- .maxblocks = 4,
diff --git a/patches/linux/2.6.38/404-armadeus-fix_nand_ecc_oob.patch b/patches/linux/2.6.38/404-armadeus-fix_nand_ecc_oob.patch
deleted file mode 100644
index 47353a4..0000000
--- a/patches/linux/2.6.38/404-armadeus-fix_nand_ecc_oob.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Add OOB and bad block table management to the V3 mxc_nand driver
-
-Signed-off-by: Nicolas Colombain <nic...@ar...>
-
-Index: linux-2.6.38-alpha/drivers/mtd/nand/mxc_nand.c
-===================================================================
---- linux-2.6.38-alpha.orig/drivers/mtd/nand/mxc_nand.c 2010-12-29 10:33:52.000000000 +0100
-+++ linux-2.6.38-alpha/drivers/mtd/nand/mxc_nand.c 2010-12-29 10:35:26.000000000 +0100
-@@ -211,6 +211,18 @@
- }
- };
-
-+/* OOB description for V3 and 2048 byte pages with 64 byte OOB */
-+static struct nand_ecclayout nandv3_hw_eccoob_largepage = {
-+ .eccbytes = 4 * 8,
-+ .eccpos = {
-+ 8, 9, 10, 11, 12, 13, 14, 15,
-+ 72, 73, 74, 75, 76, 77, 78, 79,
-+ 136, 137, 138, 139, 140, 141, 142, 143,
-+ 200, 201, 202, 203, 204, 205, 206, 207
-+ },
-+ .oobfree = { {2, 4}, {16, 56}, {80, 56}, {144, 56}, {208, 48} },
-+};
-+
- #ifdef CONFIG_MTD_PARTITIONS
- static const char *part_probes[] = { "RedBoot", "cmdlinepart", NULL };
- #endif
-@@ -1002,6 +1014,28 @@
- .pattern = mirror_pattern,
- };
-
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_main_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = bbt_pattern
-+};
-+
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_mirror_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = mirror_pattern
-+};
-+
- static int __init mxcnd_probe(struct platform_device *pdev)
- {
- struct nand_chip *this;
-@@ -1117,7 +1151,7 @@
- host->get_dev_status = get_dev_status_v3;
- host->irq_control = irq_control_v3;
- oob_smallpage = &nandv2_hw_eccoob_smallpage;
-- oob_largepage = &nandv2_hw_eccoob_largepage;
-+ oob_largepage = &nandv3_hw_eccoob_largepage;
- } else
- BUG();
-
-@@ -1141,8 +1175,13 @@
- this->options |= NAND_BUSWIDTH_16;
-
- if (pdata->flash_bbt) {
-- this->bbt_td = &bbt_main_descr;
-- this->bbt_md = &bbt_mirror_descr;
-+ if (nfc_is_v3_2()) {
-+ this->bbt_td = &v3bbt_main_descr;
-+ this->bbt_md = &v3bbt_mirror_descr;
-+ } else {
-+ this->bbt_td = &bbt_main_descr;
-+ this->bbt_md = &bbt_mirror_descr;
-+ }
- /* update flash based bbt */
- this->options |= NAND_USE_FLASH_BBT;
- }
diff --git a/patches/linux/3.0/404-armadeus-fix_nand_ecc_oob.patch b/patches/linux/3.0/404-armadeus-fix_nand_ecc_oob.patch
deleted file mode 100644
index 8cace4c..0000000
--- a/patches/linux/3.0/404-armadeus-fix_nand_ecc_oob.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Add OOB and bad block table management to the V3 mxc_nand driver
-
-Signed-off-by: Nicolas Colombain <nic...@ar...>
-
-Index: linux-3.0.10/drivers/mtd/nand/mxc_nand.c
-===================================================================
---- linux-3.0.10.orig/drivers/mtd/nand/mxc_nand.c 2011-11-21 23:37:44.000000000 +0100
-+++ linux-3.0.10/drivers/mtd/nand/mxc_nand.c 2011-11-30 17:18:02.000000000 +0100
-@@ -243,6 +243,18 @@
- }
- };
-
-+/* OOB description for V3 and 2048 byte pages with 64 byte OOB */
-+static struct nand_ecclayout nandv3_hw_eccoob_largepage = {
-+ .eccbytes = 4 * 8,
-+ .eccpos = {
-+ 8, 9, 10, 11, 12, 13, 14, 15,
-+ 72, 73, 74, 75, 76, 77, 78, 79,
-+ 136, 137, 138, 139, 140, 141, 142, 143,
-+ 200, 201, 202, 203, 204, 205, 206, 207
-+ },
-+ .oobfree = { {2, 4}, {16, 56}, {80, 56}, {144, 56}, {208, 48} },
-+};
-+
- static const char *part_probes[] = { "RedBoot", "cmdlinepart", NULL };
-
- static irqreturn_t mxc_nfc_irq(int irq, void *dev_id)
-@@ -1037,6 +1049,28 @@
- .pattern = mirror_pattern,
- };
-
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_main_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = bbt_pattern
-+};
-+
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_mirror_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = mirror_pattern
-+};
-+
- static int __init mxcnd_probe(struct platform_device *pdev)
- {
- struct nand_chip *this;
-@@ -1152,7 +1186,7 @@
- host->get_dev_status = get_dev_status_v3;
- host->irq_control = irq_control_v3;
- oob_smallpage = &nandv2_hw_eccoob_smallpage;
-- oob_largepage = &nandv2_hw_eccoob_largepage;
-+ oob_largepage = &nandv3_hw_eccoob_largepage;
- } else
- BUG();
-
-@@ -1176,8 +1210,13 @@
- this->options |= NAND_BUSWIDTH_16;
-
- if (pdata->flash_bbt) {
-- this->bbt_td = &bbt_main_descr;
-- this->bbt_md = &bbt_mirror_descr;
-+ if (nfc_is_v3_2()) {
-+ this->bbt_td = &v3bbt_main_descr;
-+ this->bbt_md = &v3bbt_mirror_descr;
-+ } else {
-+ this->bbt_td = &bbt_main_descr;
-+ this->bbt_md = &bbt_mirror_descr;
-+ }
- /* update flash based bbt */
- this->options |= NAND_USE_FLASH_BBT;
- }
diff --git a/patches/linux/3.10/0404-armadeus-fix_nand_ecc_oob.patch b/patches/linux/3.10/0404-armadeus-fix_nand_ecc_oob.patch
deleted file mode 100644
index 8e7912a..0000000
--- a/patches/linux/3.10/0404-armadeus-fix_nand_ecc_oob.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Add OOB and bad block table management to the V3 mxc_nand driver
-
-Signed-off-by: Nicolas Colombain <nic...@ar...>
-
-Index: linux-3.8-rc1/drivers/mtd/nand/mxc_nand.c
-===================================================================
---- linux-3.8-rc1.orig/drivers/mtd/nand/mxc_nand.c 2012-12-22 02:19:00.000000000 +0100
-+++ linux-3.8-rc1/drivers/mtd/nand/mxc_nand.c 2013-01-04 15:03:40.000000000 +0100
-@@ -266,6 +266,18 @@
- }
- };
-
-+/* OOB description for V3 and 2048 byte pages with 64 byte OOB */
-+static struct nand_ecclayout nandv3_hw_eccoob_largepage = {
-+ .eccbytes = 4 * 8,
-+ .eccpos = {
-+ 8, 9, 10, 11, 12, 13, 14, 15,
-+ 72, 73, 74, 75, 76, 77, 78, 79,
-+ 136, 137, 138, 139, 140, 141, 142, 143,
-+ 200, 201, 202, 203, 204, 205, 206, 207
-+ },
-+ .oobfree = { {2, 4}, {16, 56}, {80, 56}, {144, 56}, {208, 48} },
-+};
-+
- static const char const *part_probes[] = {
- "cmdlinepart", "RedBoot", "ofpart", NULL };
-
-@@ -1147,6 +1159,28 @@
- .pattern = mirror_pattern,
- };
-
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_main_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = bbt_pattern
-+};
-+
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_mirror_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = mirror_pattern
-+};
-+
- /* v1 + irqpending_quirk: i.MX21 */
- static const struct mxc_nand_devtype_data imx21_nand_devtype_data = {
- .preset = preset_v1,
-@@ -1236,7 +1270,7 @@
- .irq_control = irq_control_v3,
- .get_ecc_status = get_ecc_status_v3,
- .ecclayout_512 = &nandv2_hw_eccoob_smallpage,
-- .ecclayout_2k = &nandv2_hw_eccoob_largepage,
-+ .ecclayout_2k = &nandv3_hw_eccoob_largepage,
- .ecclayout_4k = &nandv2_hw_eccoob_smallpage, /* XXX: needs fix */
- .select_chip = mxc_nand_select_chip_v1_v3,
- .correct_data = mxc_nand_correct_data_v2_v3,
-@@ -1482,8 +1516,13 @@
- this->options |= NAND_BUSWIDTH_16;
-
- if (host->pdata.flash_bbt) {
-- this->bbt_td = &bbt_main_descr;
-- this->bbt_md = &bbt_mirror_descr;
-+ if (is_imx51_nfc(host)) {
-+ this->bbt_td = &v3bbt_main_descr;
-+ this->bbt_md = &v3bbt_mirror_descr;
-+ } else {
-+ this->bbt_td = &bbt_main_descr;
-+ this->bbt_md = &bbt_mirror_descr;
-+ }
- /* update flash based bbt */
- this->bbt_options |= NAND_BBT_USE_FLASH;
- }
diff --git a/patches/linux/3.11/0404-armadeus-fix_nand_ecc_oob.patch b/patches/linux/3.11/0404-armadeus-fix_nand_ecc_oob.patch
deleted file mode 100644
index 8e7912a..0000000
--- a/patches/linux/3.11/0404-armadeus-fix_nand_ecc_oob.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Add OOB and bad block table management to the V3 mxc_nand driver
-
-Signed-off-by: Nicolas Colombain <nic...@ar...>
-
-Index: linux-3.8-rc1/drivers/mtd/nand/mxc_nand.c
-===================================================================
---- linux-3.8-rc1.orig/drivers/mtd/nand/mxc_nand.c 2012-12-22 02:19:00.000000000 +0100
-+++ linux-3.8-rc1/drivers/mtd/nand/mxc_nand.c 2013-01-04 15:03:40.000000000 +0100
-@@ -266,6 +266,18 @@
- }
- };
-
-+/* OOB description for V3 and 2048 byte pages with 64 byte OOB */
-+static struct nand_ecclayout nandv3_hw_eccoob_largepage = {
-+ .eccbytes = 4 * 8,
-+ .eccpos = {
-+ 8, 9, 10, 11, 12, 13, 14, 15,
-+ 72, 73, 74, 75, 76, 77, 78, 79,
-+ 136, 137, 138, 139, 140, 141, 142, 143,
-+ 200, 201, 202, 203, 204, 205, 206, 207
-+ },
-+ .oobfree = { {2, 4}, {16, 56}, {80, 56}, {144, 56}, {208, 48} },
-+};
-+
- static const char const *part_probes[] = {
- "cmdlinepart", "RedBoot", "ofpart", NULL };
-
-@@ -1147,6 +1159,28 @@
- .pattern = mirror_pattern,
- };
-
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_main_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = bbt_pattern
-+};
-+
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_mirror_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = mirror_pattern
-+};
-+
- /* v1 + irqpending_quirk: i.MX21 */
- static const struct mxc_nand_devtype_data imx21_nand_devtype_data = {
- .preset = preset_v1,
-@@ -1236,7 +1270,7 @@
- .irq_control = irq_control_v3,
- .get_ecc_status = get_ecc_status_v3,
- .ecclayout_512 = &nandv2_hw_eccoob_smallpage,
-- .ecclayout_2k = &nandv2_hw_eccoob_largepage,
-+ .ecclayout_2k = &nandv3_hw_eccoob_largepage,
- .ecclayout_4k = &nandv2_hw_eccoob_smallpage, /* XXX: needs fix */
- .select_chip = mxc_nand_select_chip_v1_v3,
- .correct_data = mxc_nand_correct_data_v2_v3,
-@@ -1482,8 +1516,13 @@
- this->options |= NAND_BUSWIDTH_16;
-
- if (host->pdata.flash_bbt) {
-- this->bbt_td = &bbt_main_descr;
-- this->bbt_md = &bbt_mirror_descr;
-+ if (is_imx51_nfc(host)) {
-+ this->bbt_td = &v3bbt_main_descr;
-+ this->bbt_md = &v3bbt_mirror_descr;
-+ } else {
-+ this->bbt_td = &bbt_main_descr;
-+ this->bbt_md = &bbt_mirror_descr;
-+ }
- /* update flash based bbt */
- this->bbt_options |= NAND_BBT_USE_FLASH;
- }
diff --git a/patches/linux/3.12/0404-armadeus-fix_nand_ecc_oob.patch b/patches/linux/3.12/0404-armadeus-fix_nand_ecc_oob.patch
deleted file mode 100644
index e88a820..0000000
--- a/patches/linux/3.12/0404-armadeus-fix_nand_ecc_oob.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-Index: linux-3.12-rc1/drivers/mtd/nand/mxc_nand.c
-===================================================================
---- linux-3.12-rc1.orig/drivers/mtd/nand/mxc_nand.c
-+++ linux-3.12-rc1/drivers/mtd/nand/mxc_nand.c
-@@ -266,6 +266,18 @@ static struct nand_ecclayout nandv2_hw_e
- }
- };
-
-+/* OOB description for V3 and 2048 byte pages with 64 byte OOB */
-+static struct nand_ecclayout nandv3_hw_eccoob_largepage = {
-+ .eccbytes = 4 * 8,
-+ .eccpos = {
-+ 8, 9, 10, 11, 12, 13, 14, 15,
-+ 72, 73, 74, 75, 76, 77, 78, 79,
-+ 136, 137, 138, 139, 140, 141, 142, 143,
-+ 200, 201, 202, 203, 204, 205, 206, 207
-+ },
-+ .oobfree = { {2, 4}, {16, 56}, {80, 56}, {144, 56}, {208, 48} },
-+};
-+
- static const char * const part_probes[] = {
- "cmdlinepart", "RedBoot", "ofpart", NULL };
-
-@@ -1158,6 +1170,28 @@ static struct nand_bbt_descr bbt_mirror_
- .pattern = mirror_pattern,
- };
-
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_main_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = bbt_pattern
-+};
-+
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_mirror_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = mirror_pattern
-+};
-+
- /* v1 + irqpending_quirk: i.MX21 */
- static const struct mxc_nand_devtype_data imx21_nand_devtype_data = {
- .preset = preset_v1,
-@@ -1247,7 +1281,7 @@ static const struct mxc_nand_devtype_dat
- .irq_control = irq_control_v3,
- .get_ecc_status = get_ecc_status_v3,
- .ecclayout_512 = &nandv2_hw_eccoob_smallpage,
-- .ecclayout_2k = &nandv2_hw_eccoob_largepage,
-+ .ecclayout_2k = &nandv3_hw_eccoob_largepage,
- .ecclayout_4k = &nandv2_hw_eccoob_smallpage, /* XXX: needs fix */
- .select_chip = mxc_nand_select_chip_v1_v3,
- .correct_data = mxc_nand_correct_data_v2_v3,
-@@ -1489,8 +1523,13 @@ static int mxcnd_probe(struct platform_d
- this->options |= NAND_BUSWIDTH_16;
-
- if (host->pdata.flash_bbt) {
-- this->bbt_td = &bbt_main_descr;
-- this->bbt_md = &bbt_mirror_descr;
-+ if (is_imx51_nfc(host)) {
-+ this->bbt_td = &v3bbt_main_descr;
-+ this->bbt_md = &v3bbt_mirror_descr;
-+ } else {
-+ this->bbt_td = &bbt_main_descr;
-+ this->bbt_md = &bbt_mirror_descr;
-+ }
- /* update flash based bbt */
- this->bbt_options |= NAND_BBT_USE_FLASH;
- }
diff --git a/patches/linux/3.8/0404-armadeus-fix_nand_ecc_oob.patch b/patches/linux/3.8/0404-armadeus-fix_nand_ecc_oob.patch
deleted file mode 100644
index 8e7912a..0000000
--- a/patches/linux/3.8/0404-armadeus-fix_nand_ecc_oob.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Add OOB and bad block table management to the V3 mxc_nand driver
-
-Signed-off-by: Nicolas Colombain <nic...@ar...>
-
-Index: linux-3.8-rc1/drivers/mtd/nand/mxc_nand.c
-===================================================================
---- linux-3.8-rc1.orig/drivers/mtd/nand/mxc_nand.c 2012-12-22 02:19:00.000000000 +0100
-+++ linux-3.8-rc1/drivers/mtd/nand/mxc_nand.c 2013-01-04 15:03:40.000000000 +0100
-@@ -266,6 +266,18 @@
- }
- };
-
-+/* OOB description for V3 and 2048 byte pages with 64 byte OOB */
-+static struct nand_ecclayout nandv3_hw_eccoob_largepage = {
-+ .eccbytes = 4 * 8,
-+ .eccpos = {
-+ 8, 9, 10, 11, 12, 13, 14, 15,
-+ 72, 73, 74, 75, 76, 77, 78, 79,
-+ 136, 137, 138, 139, 140, 141, 142, 143,
-+ 200, 201, 202, 203, 204, 205, 206, 207
-+ },
-+ .oobfree = { {2, 4}, {16, 56}, {80, 56}, {144, 56}, {208, 48} },
-+};
-+
- static const char const *part_probes[] = {
- "cmdlinepart", "RedBoot", "ofpart", NULL };
-
-@@ -1147,6 +1159,28 @@
- .pattern = mirror_pattern,
- };
-
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_main_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = bbt_pattern
-+};
-+
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_mirror_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = mirror_pattern
-+};
-+
- /* v1 + irqpending_quirk: i.MX21 */
- static const struct mxc_nand_devtype_data imx21_nand_devtype_data = {
- .preset = preset_v1,
-@@ -1236,7 +1270,7 @@
- .irq_control = irq_control_v3,
- .get_ecc_status = get_ecc_status_v3,
- .ecclayout_512 = &nandv2_hw_eccoob_smallpage,
-- .ecclayout_2k = &nandv2_hw_eccoob_largepage,
-+ .ecclayout_2k = &nandv3_hw_eccoob_largepage,
- .ecclayout_4k = &nandv2_hw_eccoob_smallpage, /* XXX: needs fix */
- .select_chip = mxc_nand_select_chip_v1_v3,
- .correct_data = mxc_nand_correct_data_v2_v3,
-@@ -1482,8 +1516,13 @@
- this->options |= NAND_BUSWIDTH_16;
-
- if (host->pdata.flash_bbt) {
-- this->bbt_td = &bbt_main_descr;
-- this->bbt_md = &bbt_mirror_descr;
-+ if (is_imx51_nfc(host)) {
-+ this->bbt_td = &v3bbt_main_descr;
-+ this->bbt_md = &v3bbt_mirror_descr;
-+ } else {
-+ this->bbt_td = &bbt_main_descr;
-+ this->bbt_md = &bbt_mirror_descr;
-+ }
- /* update flash based bbt */
- this->bbt_options |= NAND_BBT_USE_FLASH;
- }
diff --git a/patches/linux/3.9/0404-armadeus-fix_nand_ecc_oob.patch b/patches/linux/3.9/0404-armadeus-fix_nand_ecc_oob.patch
deleted file mode 100644
index 8e7912a..0000000
--- a/patches/linux/3.9/0404-armadeus-fix_nand_ecc_oob.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Add OOB and bad block table management to the V3 mxc_nand driver
-
-Signed-off-by: Nicolas Colombain <nic...@ar...>
-
-Index: linux-3.8-rc1/drivers/mtd/nand/mxc_nand.c
-===================================================================
---- linux-3.8-rc1.orig/drivers/mtd/nand/mxc_nand.c 2012-12-22 02:19:00.000000000 +0100
-+++ linux-3.8-rc1/drivers/mtd/nand/mxc_nand.c 2013-01-04 15:03:40.000000000 +0100
-@@ -266,6 +266,18 @@
- }
- };
-
-+/* OOB description for V3 and 2048 byte pages with 64 byte OOB */
-+static struct nand_ecclayout nandv3_hw_eccoob_largepage = {
-+ .eccbytes = 4 * 8,
-+ .eccpos = {
-+ 8, 9, 10, 11, 12, 13, 14, 15,
-+ 72, 73, 74, 75, 76, 77, 78, 79,
-+ 136, 137, 138, 139, 140, 141, 142, 143,
-+ 200, 201, 202, 203, 204, 205, 206, 207
-+ },
-+ .oobfree = { {2, 4}, {16, 56}, {80, 56}, {144, 56}, {208, 48} },
-+};
-+
- static const char const *part_probes[] = {
- "cmdlinepart", "RedBoot", "ofpart", NULL };
-
-@@ -1147,6 +1159,28 @@
- .pattern = mirror_pattern,
- };
-
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_main_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = bbt_pattern
-+};
-+
-+/* V3 BBT, use 4bit ECC */
-+static struct nand_bbt_descr v3bbt_mirror_descr = {
-+ .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
-+ | NAND_BBT_4BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
-+ .offs = 2,
-+ .len = 4,
-+ .veroffs = 6,
-+ .maxblocks = 4,
-+ .pattern = mirror_pattern
-+};
-+
- /* v1 + irqpending_quirk: i.MX21 */
- static const struct mxc_nand_devtype_data imx21_nand_devtype_data = {
- .preset = preset_v1,
-@@ -1236,7 +1270,7 @@
- .irq_control = irq_control_v3,
- .get_ecc_status = get_ecc_status_v3,
- .ecclayout_512 = &nandv2_hw_eccoob_smallpage,
-- .ecclayout_2k = &nandv2_hw_eccoob_largepage,
-+ .ecclayout_2k = &nandv3_hw_eccoob_largepage,
- .ecclayout_4k = &nandv2_hw_eccoob_smallpage, /* XXX: needs fix */
- .select_chip = mxc_nand_select_chip_v1_v3,
- .correct_data = mxc_nand_correct_data_v2_v3,
-@@ -1482,8 +1516,13 @@
- this->options |= NAND_BUSWIDTH_16;
-
- if (host->pdata.flash_bbt) {
-- this->bbt_td = &bbt_main_descr;
-- this->bbt_md = &bbt_mirror_descr;
-+ if (is_imx51_nfc(host)) {
-+ this->bbt_td = &v3bbt_main_descr;
-+ this->bbt_md = &v3bbt_mirror_descr;
-+ } else {
-+ this->bbt_td = &bbt_main_descr;
-+ this->bbt_md = &bbt_mirror_descr;
-+ }
- /* update flash based bbt */
- this->bbt_options |= NAND_BBT_USE_FLASH;
- }
hooks/post-receive
--
armadeus
|