diff mbox series

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

Message ID 20240318134219.20040-1-mihai.sain@microchip.com
State Changes Requested
Delegated to: Sean Anderson
Headers show
Series [v2] cmd: nand: Add support to print the manufacturer, model and size | expand

Commit Message

Mihai Sain March 18, 2024, 1:42 p.m. UTC
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@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(+)

Comments

Sean Anderson March 18, 2024, 1:58 p.m. UTC | #1
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@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
diff mbox series

Patch

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);