On 4/2/2014 3:32 AM, Scott Wood wrote:
On Mon, 2014-03-31 at 15:34 +0530, Prabhakar Kushwaha wrote:
SPI driver perform its operation(read/write) on 64KB buffer chunk for data
greater than 64KB. This buffer chunk is allocated from system heap.

During SPL boot, 768KB of data is read from SPI flash.
Here, heap size may not be sufficient enough to full-fill 64KB buffer
requirement of SPI driver. So break down u-boot read operation at 8KB of chunk.

Also, fix a warning i.e. "unused variable buf" during CONFIG_FSL_CORENET

Signed-off-by: Prabhakar Kushwaha <prabha...@freescale.com>
---
  drivers/mtd/spi/fsl_espi_spl.c |   15 ++++++++++++---
  1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/spi/fsl_espi_spl.c b/drivers/mtd/spi/fsl_espi_spl.c
index e5ac79b..a55d741 100644
--- a/drivers/mtd/spi/fsl_espi_spl.c
+++ b/drivers/mtd/spi/fsl_espi_spl.c
@@ -20,8 +20,10 @@
  void spi_boot(void)
  {
        void (*uboot)(void) __noreturn;
-       u32 offset, code_len;
+       u32 offset, code_len, copy_len = 0;
+#ifndef CONFIG_FSL_CORENET
        unsigned char *buf = NULL;
+#endif
        struct spi_flash *flash;
flash = spi_flash_probe(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
@@ -56,8 +58,15 @@ void spi_boot(void)
        code_len = code_len - CONFIG_SPL_MAX_SIZE;
  #endif
        /* copy code to DDR */
-       spi_flash_read(flash, offset, code_len,
-                      (void *)CONFIG_SYS_SPI_FLASH_U_BOOT_DST);
+       printf("Loading second stage boot loader ");
+       while (copy_len <= code_len) {
+               spi_flash_read(flash, offset + copy_len, 0x2000,
+                              (void *)(CONFIG_SYS_SPI_FLASH_U_BOOT_DST
+                              + copy_len));
+               copy_len = copy_len + 0x2000;
+               putc('.');
+       }
How long does this take?  If it's long enough to warrant a progress
meter, that ought to be fixed first.


It take 20 sec to boot. it is long enough. This issue has already been reported.

Problem is reading 1 MB from SPI flash. It take almost 20s in on u-boot prompt from any boot.

I agree, we should first fix it.
But This patch should not be stopped to get apply because of issue somewhere else. That issue can be fixed separately in other patch.

Regards,
Prabhakar




_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to