On 12/2/21 06:57, Jagan Teki wrote:
On Thu, Dec 2, 2021 at 11:19 AM Marek Vasut <ma...@denx.de> wrote:

On 12/2/21 06:47, Jagan Teki wrote:
On Tue, Sep 14, 2021 at 8:59 AM Marek Vasut <ma...@denx.de> wrote:

Set the SF page size, erase block size and total size as an environment
variable after "sf probe". This lets us discern boards with multiple
distinct SPI flash options and also e.g. set mtdparts accordingly.

Signed-off-by: Marek Vasut <ma...@denx.de>
Cc: Jagan Teki <ja...@amarulasolutions.com>
Cc: Vignesh R <vigne...@ti.com>
---
   drivers/mtd/spi/spi-nor-core.c | 4 ++++
   1 file changed, 4 insertions(+)

diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index d5d905fa5a1..448653b9931 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -15,6 +15,7 @@
   #include <dm.h>
   #include <dm/device_compat.h>
   #include <dm/devres.h>
+#include <env.h>
   #include <linux/bitops.h>
   #include <linux/err.h>
   #include <linux/errno.h>
@@ -3829,8 +3830,11 @@ int spi_nor_scan(struct spi_nor *nor)
   #ifndef CONFIG_SPL_BUILD
          printf("SF: Detected %s with page size ", nor->name);
          print_size(nor->page_size, ", erase size ");
+       env_set_hex("sf_pagesize", nor->page_size);
          print_size(nor->erase_size, ", total ");
+       env_set_hex("sf_erasesize", nor->erase_size);
          print_size(nor->size, "");
+       env_set_hex("sf_size", nor->size);
          puts("\n");

I feel this unnecessarily add env variables which are not needed for
those SF enabled boards, isn't it?

So, how do you determine current SPI NOR size from U-Boot shell ?

I think we need to know the size for those who enabled mtd command (or
mtdparts), any way to preserve it via mtd command or set the env via
mtd command side.

I need to know the size of SPI NOR flash to use it in an U-Boot script which handle different board population options. This has nothing to do with mtd command.

Reply via email to