summaryrefslogtreecommitdiff
path: root/common/spl/spl_nand.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-07-08 20:20:24 -0400
committerTom Rini <trini@konsulko.com>2020-07-08 20:20:24 -0400
commit61608f395e7dcb2be6060407a72a1149b046430a (patch)
tree387269e837a47126d5a7ccdef2b4d5af60598e16 /common/spl/spl_nand.c
parent186529953fd10a97e6343418095edd1c535aaeb2 (diff)
parentc89b41b4db4a746647c4f0e6d33c6f4edfe96e38 (diff)
Merge branch '2020-07-08-misc-features-and-fixes'
- mem cmd improvements - TPM fixes - SPL/NAND/FIT fixes - RSA improvements
Diffstat (limited to 'common/spl/spl_nand.c')
-rw-r--r--common/spl/spl_nand.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/common/spl/spl_nand.c b/common/spl/spl_nand.c
index 48c97549eb9..d13a5245974 100644
--- a/common/spl/spl_nand.c
+++ b/common/spl/spl_nand.c
@@ -42,13 +42,16 @@ static int spl_nand_load_image(struct spl_image_info *spl_image,
static ulong spl_nand_fit_read(struct spl_load_info *load, ulong offs,
ulong size, void *dst)
{
- int ret;
+ ulong sector;
+ int err;
- ret = nand_spl_load_image(offs, size, dst);
- if (!ret)
- return size;
- else
+ sector = *(int *)load->priv;
+ offs = sector + nand_spl_adjust_offset(sector, offs - sector);
+ err = nand_spl_load_image(offs, size, dst);
+ if (err)
return 0;
+
+ return size;
}
static int spl_nand_load_element(struct spl_image_info *spl_image,
@@ -66,7 +69,7 @@ static int spl_nand_load_element(struct spl_image_info *spl_image,
debug("Found FIT\n");
load.dev = NULL;
- load.priv = NULL;
+ load.priv = &offset;
load.filename = NULL;
load.bl_len = 1;
load.read = spl_nand_fit_read;