[U-Boot] [U-boot] [Patch v2 3/3] k2hk: change default nand ecc layout

Scott Wood scottwood at freescale.com
Sat Jun 21 01:40:19 CEST 2014


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.khoronzhuk at 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?

Is it really OK to start with the wrong ECC layout and switch later?
Are you depending on lazy scanning of the 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




More information about the U-Boot mailing list