[U-Boot] [PATCH] cmd/nand.c: Debug additional helpful NAND info

Scott Wood oss at buserror.net
Tue Nov 15 07:18:23 CET 2016


On Mon, 2016-10-10 at 06:08 +0200, Ahmed Samir Khalil wrote:
> While dealing with large chips (e.g. page: 4KB, OOB:224),
>  we found it helpful to get these additional NAND info by
>  enabling the DEBUG macro instead of full tracing every time
>  and consuming time. Especially about the currently in use
>  scheme for testing & development.
> 
> Signed-off-by: Ahmed Samir Khalil <engkhalil86 at gmail.com>
> ---
>  cmd/nand.c | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/cmd/nand.c b/cmd/nand.c
> index c16ec77..ec7f1df 100644
> --- a/cmd/nand.c
> +++ b/cmd/nand.c
> @@ -283,6 +283,9 @@ usage:
>  
>  static void nand_print_and_set_info(int idx)
>  {
> +#ifdef DEBUG
> +	unsigned int i;
> +#endif
>  	struct mtd_info *mtd = nand_info[idx];
>  	struct nand_chip *chip = mtd_to_nand(mtd);
>  
> @@ -298,6 +301,29 @@ static void nand_print_and_set_info(int idx)
>  	printf("  options     0x%8x\n", chip->options);
>  	printf("  bbt options 0x%8x\n", chip->bbt_options);
>  
> +#ifdef DEBUG
> +	printf("  Chip delay  %7d us\n", chip->chip_delay);
> +	printf("  ECC bytes   %8d b\n", nand->ecclayout->eccbytes);
> +	printf("  OOB available %6d b\n\n", nand->ecclayout->oobavail);
> +
> +	printf("  OOB free = {\n");
> +	for (i=0; i < nand->ecclayout->oobfree[i].length; i++) {
> +		if( !(nand->ecclayout->oobfree[i].offset<0) )
> +			printf("	{.offset=%d, ", nand->ecclayout-
> >oobfree[i].offset);
> +
> +		if( !(nand->ecclayout->oobfree[i].length<0) )
> +			printf(".length=%d}, \n", nand->ecclayout-
> >oobfree[i].length);
> +	}

Please use standard U-Boot coding style.

-Scott



More information about the U-Boot mailing list