On 06/21/2014 02:40 AM, Scott Wood wrote:
On Sat, 2014-06-21 at 02:28 +0300, Ivan Khoronzhuk wrote:
For keystyone k2hk board the default nand layout is different
from davinci. So swich ecc layout at init in board file.

Signed-off-by: Ivan Khoronzhuk <ivan.khoronz...@ti.com>
---
  board/ti/k2hk_evm/board.c | 11 +++++++++++
  1 file changed, 11 insertions(+)

diff --git a/board/ti/k2hk_evm/board.c b/board/ti/k2hk_evm/board.c
index ef90f9d..baa6ab7 100644
--- a/board/ti/k2hk_evm/board.c
+++ b/board/ti/k2hk_evm/board.c
@@ -11,6 +11,7 @@
  #include <exports.h>
  #include <fdt_support.h>
  #include <libfdt.h>
+#include <nand.h>
#include <asm/arch/hardware.h>
  #include <asm/arch/clock.h>
@@ -19,6 +20,7 @@
  #include <asm/arch/emac_defs.h>
  #include <asm/arch/psc_defs.h>
  #include <asm/ti-common/ti-aemif.h>
+#include <asm/ti-common/davinci_nand.h>
DECLARE_GLOBAL_DATA_PTR; @@ -147,6 +149,15 @@ int cpu_to_bus(u32 *ptr, u32 length)
        return 0;
  }
+int board_nand_init(struct nand_chip *chip)
+{
+       davinci_nand_init(chip);
+       chip->ecc.layout =
+               board_nand_get_ecclayout(NAND_KEYSTONE_RBL_4BIT_LAYOUT);
+
+       return 0;
+}
Shouldn't you be calling board_nand_set_ecclayout()?  How will oobavail
get set?

There is no reason to set oobavail here, I suppose that's done while int nand_scan_tail().


Is it really OK to start with the wrong ECC layout and switch later?

It can be used to boot from nand.

Are you depending on lazy scanning of the BBT?

No, define CONFIG_SYS_NAND_USE_FLASH_BBT


For that matter, you also seem to be assuming that markbad will never be
called when the ECC is set to something other than what the BBT uses.

-Scott


I suppose that only ECC layout is different.

--
Regards,
Ivan Khoronzhuk

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to