[PATCH v2] cmd: nand: Add support to print the manufacturer, model and size

Sean Anderson seanga2 at gmail.com
Mon Mar 18 14:58:35 CET 2024


On 3/18/24 09:42, Mihai Sain wrote:
> Add support to nand info for printing the manufacturer,model and size.
> The manufacturer and model are printed only for ONFI flashes.
> 
> U-Boot> nand info
> 
> Device 0: nand0, sector size 256 KiB
>    Manufacturer  MACRONIX
>    Model         MX30LF4G28AD
>    Device size        512 MiB
>    Page size         4096 b
>    OOB size           256 b
>    Erase size      262144 b
>    ecc strength         8 bits
>    ecc step size      512 b
>    subpagesize       4096 b
>    options       0x00004200
>    bbt options   0x00028000
> 
> Signed-off-by: Mihai Sain <mihai.sain at microchip.com>
> 
> Changes in v2:
> --------------
> * use #ifdef directive for ONFI flashes.
> * use unsigned int for chipsize.
> ---
>   cmd/nand.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/cmd/nand.c b/cmd/nand.c
> index fe834c4ac5..5773246d64 100644
> --- a/cmd/nand.c
> +++ b/cmd/nand.c
> @@ -418,6 +418,11 @@ static void nand_print_and_set_info(int idx)
>   		printf("%dx ", chip->numchips);
>   	printf("%s, sector size %u KiB\n",
>   	       mtd->name, mtd->erasesize >> 10);
> +#ifdef CONFIG_SYS_NAND_ONFI_DETECTION
> +	printf("  Manufacturer  %s \n", chip->onfi_params.manufacturer);
> +	printf("  Model         %s \n", chip->onfi_params.model);
> +#endif
> +	printf("  Device size   %8u MiB\n", (unsigned int)(chip->chipsize >> 20));
>   	printf("  Page size     %8d b\n", mtd->writesize);
>   	printf("  OOB size      %8d b\n", mtd->oobsize);
>   	printf("  Erase size    %8d b\n", mtd->erasesize);

Can you refactor the logic out of the end of nand_detect as a separate
function and use that instead? That will cover more cases (e.g. JEDEC).

--Sean


More information about the U-Boot mailing list