From 26ad648ff4fcca2f5676a0690902be54a94f243d Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Thu, 31 May 2018 17:59:29 +0200 Subject: [PATCH] spl: spi: Support full fitImage handling Handle the case where the full fitImage support is enabled. In this case, the whole fitImage must be loaded up front as some parts of the fitImage code require memory-mapped access to the entire fitImage. Signed-off-by: Marek Vasut Cc: Pantelis Antoniou Cc: Simon Glass --- common/spl/spl_spi.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/common/spl/spl_spi.c b/common/spl/spl_spi.c index df46046729..ba60a3a3c5 100644 --- a/common/spl/spl_spi.c +++ b/common/spl/spl_spi.c @@ -110,8 +110,17 @@ static int spl_spi_load_image(struct spl_image_info *spl_image, return err; } - if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && - image_get_magic(header) == FDT_MAGIC) { + if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL) && + image_get_magic(header) == FDT_MAGIC) { + err = spi_flash_read(flash, payload_offs, + roundup(fdt_totalsize(header), 4), + (void *)CONFIG_SYS_LOAD_ADDR); + if (err) + return err; + err = spl_parse_image_header(spl_image, + (struct image_header *)CONFIG_SYS_LOAD_ADDR); + } else if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && + image_get_magic(header) == FDT_MAGIC) { struct spl_load_info load; debug("Found FIT\n"); -- 2.39.2