NANDs with large page sizes are getting oob ares of 218 and 224
so the eccpos field needs to support these larger areas since
BCH ECC correction with 24-bit over 1024 bytes will use 168 bytes
of the oob for ECC and is required for current MLC NAND parts
circa 2012.

Signed-off-by: Charles Hardin <[email protected]>

diff --git a/include/linux/mtd/mtd-abi.h b/include/linux/mtd/mtd-abi.h
index 1e7a18f..c321d6b 100644
--- a/include/linux/mtd/mtd-abi.h
+++ b/include/linux/mtd/mtd-abi.h
@@ -116,16 +116,17 @@ struct nand_oobfree {
        uint32_t length;
 };
 
-#define MTD_MAX_OOBFREE_ENTRIES        8
+#define MTD_MAX_OOBFREE_ENTRIES_LARGE   32
+#define MTD_MAX_ECCPOS_ENTRIES_LARGE    448
 /*
  * ECC layout control structure. Exported to userspace for
  * diagnosis and to allow creation of raw images
  */
 struct nand_ecclayout {
        uint32_t eccbytes;
-       uint32_t eccpos[128];
+       uint32_t eccpos[MTD_MAX_ECCPOS_ENTRIES_LARGE];
        uint32_t oobavail;
-       struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES];
+       struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES_LARGE];
 };
 
 /**
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to