|
@@ -70,7 +70,18 @@ int spl_load_image_fat(struct spl_image_info *spl_image,
|
|
|
if (err <= 0)
|
|
|
goto end;
|
|
|
|
|
|
- if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
|
|
|
+ if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL) &&
|
|
|
+ image_get_magic(header) == FDT_MAGIC) {
|
|
|
+ err = file_fat_read(filename, (void *)CONFIG_SYS_LOAD_ADDR, 0);
|
|
|
+ if (err <= 0)
|
|
|
+ goto end;
|
|
|
+ err = spl_parse_image_header(spl_image,
|
|
|
+ (struct image_header *)CONFIG_SYS_LOAD_ADDR);
|
|
|
+ if (err == -EAGAIN)
|
|
|
+ return err;
|
|
|
+ if (err == 0)
|
|
|
+ err = 1;
|
|
|
+ } else if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
|
|
|
image_get_magic(header) == FDT_MAGIC) {
|
|
|
struct spl_load_info load;
|
|
|
|