[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