[U-Boot-Users] NAND driver updates

ksi at koi8.net ksi at koi8.net
Tue Jan 8 23:06:26 CET 2008


On Sat, 5 Jan 2008, Stefan Roese wrote:

Here comes a trivial patch to cpu/arm926ejs/davinci/nand.c. Unfortunately I
don't have hardware handy so I can not test it at the moment but changes are
rather trivial so it should work. It would be nice if somebody with a
hardware checked it anyways.

Signed-off-by: Sergey Kubushyn <ksi at koi8.net>

--
diff --git a/cpu/arm926ejs/davinci/nand.c b/cpu/arm926ejs/davinci/nand.c
index 0a612de..0f11f55 100644
--- a/cpu/arm926ejs/davinci/nand.c
+++ b/cpu/arm926ejs/davinci/nand.c
@@ -89,18 +89,25 @@ static void nand_davinci_select_chip(struct mtd_info *mtd, int chip)

  #ifdef CFG_NAND_HW_ECC
  #ifdef CFG_NAND_LARGEPAGE
-static struct nand_oobinfo davinci_nand_oobinfo = {
-	.useecc = MTD_NANDECC_AUTOPLACE,
+static struct nand_ecclayout davinci_nand_ecclayout = {
  	.eccbytes = 12,
  	.eccpos = {8, 9, 10, 24, 25, 26, 40, 41, 42, 56, 57, 58},
-	.oobfree = { {2, 6}, {12, 12}, {28, 12}, {44, 12}, {60, 4} }
+	.oobfree = {
+		{.offset = 2, .length = 6},
+		{.offset = 12, .length = 12},
+		{.offset = 28, .length = 12},
+		{.offset = 44, .length = 12},
+		{.offset = 60, .length = 4}
+	}
  };
  #elif defined(CFG_NAND_SMALLPAGE)
-static struct nand_oobinfo davinci_nand_oobinfo = {
-	.useecc = MTD_NANDECC_AUTOPLACE,
+static struct nand_ecclayout davinci_nand_ecclayout = {
  	.eccbytes = 3,
  	.eccpos = {0, 1, 2},
-	.oobfree = { {6, 2}, {8, 8} }
+	.oobfree = {
+		{.offset = 6, .length = 2},
+		{.offset = 8, .length = 8}
+	}
  };
  #else
  #error "Either CFG_NAND_LARGEPAGE or CFG_NAND_SMALLPAGE must be defined!"
@@ -369,7 +376,7 @@ int board_nand_init(struct nand_chip *nand)
  #else
  #error "Either CFG_NAND_LARGEPAGE or CFG_NAND_SMALLPAGE must be defined!"
  #endif
-/*	nand->autooob	  = &davinci_nand_oobinfo; */
+	nand->ecc.layout  = &davinci_nand_ecclayout;
  	nand->ecc.calculate = nand_davinci_calculate_ecc;
  	nand->ecc.correct  = nand_davinci_correct_data;
  	nand->ecc.hwctl  = nand_davinci_enable_hwecc;


---
******************************************************************
*  KSI at home    KOI8 Net  < >  The impossible we do immediately.  *
*  Las Vegas   NV, USA   < >  Miracles require 24-hour notice.   *
******************************************************************




More information about the U-Boot mailing list