From: Andrea Adami <[email protected]>

The collie used for development has unfortunately an hw flaw
and the CFI table is missing on one NOR chip.

Further testings on other models are giving normal readings.

Signed-off-by: Andrea Adami <[email protected]>
---
 .../linux/linux-yocto-3.10/collie/collie.scc       |  1 -
 .../patches/patches-mtd/collie-match-cfi-qry.patch | 47 ----------------------
 .../linux/linux-yocto-tiny-kexecboot_3.10.bbappend |  1 -
 3 files changed, 49 deletions(-)
 delete mode 100644 
recipes-kernel/linux/linux-yocto-3.10/patches/patches-mtd/collie-match-cfi-qry.patch

diff --git a/recipes-kernel/linux/linux-yocto-3.10/collie/collie.scc 
b/recipes-kernel/linux/linux-yocto-3.10/collie/collie.scc
index 9828877..e3f9c54 100644
--- a/recipes-kernel/linux/linux-yocto-3.10/collie/collie.scc
+++ b/recipes-kernel/linux/linux-yocto-3.10/collie/collie.scc
@@ -11,7 +11,6 @@ patch ../patches/patches-mtd/collie-eraseinfo.patch
 // for 3.12
 patch ../patches/patches-mtd/collie-cfi-probe-again.patch
 patch ../patches/patches-mtd/collie-mtd-resize.patch
-patch ../patches/patches-mtd/collie-match-cfi-qry.patch
 patch ../patches/patches-mtd/collie-LH28F640BF.patch
 patch ../patches/patches-sa1100/collie-irda.patch
 patch ../patches/patches-sa1100/collie-add-bootblock.patch
diff --git 
a/recipes-kernel/linux/linux-yocto-3.10/patches/patches-mtd/collie-match-cfi-qry.patch
 
b/recipes-kernel/linux/linux-yocto-3.10/patches/patches-mtd/collie-match-cfi-qry.patch
deleted file mode 100644
index a315d93..0000000
--- 
a/recipes-kernel/linux/linux-yocto-3.10/patches/patches-mtd/collie-match-cfi-qry.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 66ec11df6561d5ba7cdf41977af828a53ba6b99f Mon Sep 17 00:00:00 2001
-From: Andrea Adami <[email protected]>
-Date: Sat, 1 Feb 2014 13:17:24 +0100
-Subject: [PATCH] mtd: cfi_util.c: force CFI detection of 2x LH28F640BF
-
-Signed-off-by: Andrea Adami <[email protected]>
----
- drivers/mtd/chips/cfi_util.c | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/drivers/mtd/chips/cfi_util.c b/drivers/mtd/chips/cfi_util.c
-index f992418..2c7a13d 100644
---- a/drivers/mtd/chips/cfi_util.c
-+++ b/drivers/mtd/chips/cfi_util.c
-@@ -29,6 +29,7 @@ int __xipram cfi_qry_present(struct map_info *map, __u32 
base,
-       int osf = cfi->interleave * cfi->device_type;   /* scale factor */
-       map_word val[3];
-       map_word qry[3];
-+      unsigned long mask = (1 << (cfi->device_type * 8)) - 1;
- 
-       qry[0] = cfi_build_cmd('Q', map, cfi);
-       qry[1] = cfi_build_cmd('R', map, cfi);
-@@ -38,6 +39,21 @@ int __xipram cfi_qry_present(struct map_info *map, __u32 
base,
-       val[1] = map_read(map, base + osf*0x11);
-       val[2] = map_read(map, base + osf*0x12);
- 
-+      /* Apparently only one of the 2 interleaved LH28F640BF 16 bit chips on
-+       * a 32 bit wide bus is answering to the CFI Query.
-+       * Using the expected map bankwidth=4 and chip interleave=2 we get wrong
-+       * readings like 0xffff0051 instead of 0x00510051 etc.
-+       * We take the valid bytes and recreate the expected answer as 
workaround.
-+       */
-+      if (((val[0].x[0] >> (cfi->device_type * 8)) == mask) &&
-+          ((val[1].x[0] >> (cfi->device_type * 8)) == mask) &&
-+          ((val[2].x[0] >> (cfi->device_type * 8)) == mask))
-+      {
-+      val[0].x[0] = (val[0].x[0] & mask) + ((val[0].x[0] & mask) << 
(cfi->device_type * 8));
-+      val[1].x[0] = (val[1].x[0] & mask) + ((val[1].x[0] & mask) << 
(cfi->device_type * 8));
-+      val[2].x[0] = (val[2].x[0] & mask) + ((val[2].x[0] & mask) << 
(cfi->device_type * 8));
-+      }
-+
-       if (!map_word_equal(map, qry[0], val[0]))
-               return 0;
- 
--- 
-1.8.1.5
-
diff --git a/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bbappend 
b/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bbappend
index a6a7741..70d8a4a 100644
--- a/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bbappend
+++ b/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bbappend
@@ -50,7 +50,6 @@ SRC_URI_append_collie = " \
            file://patches/patches-mtd/collie-eraseinfo.patch \
            file://patches/patches-mtd/collie-cfi-probe-again.patch \
            file://patches/patches-mtd/collie-mtd-resize.patch \
-           file://patches/patches-mtd/collie-match-cfi-qry.patch \
            file://patches/patches-mtd/collie-LH28F640BF.patch \
            file://patches/patches-sa1100/collie-irda.patch \
            file://patches/patches-sa1100/collie-add-bootblock.patch \
-- 
1.9.1

-- 
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to