From: Michal Simek <michal.simek@xilinx.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v5 3/3] spl: Support loading a FIT from FAT FS
Date: Wed, 4 May 2016 16:56:58 +0200 [thread overview]
Message-ID: <572A0DBA.3060800@xilinx.com> (raw)
In-Reply-To: <1462363477-20445-4-git-send-email-lokeshvutla@ti.com>
On 4.5.2016 14:04, Lokesh Vutla wrote:
> Detect a FIT when loading from a FAT File system and handle it using the
> new FIT SPL support.
>
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> ---
> common/spl/spl_fat.c | 31 +++++++++++++++++++++++++++++--
> 1 file changed, 29 insertions(+), 2 deletions(-)
>
> diff --git a/common/spl/spl_fat.c b/common/spl/spl_fat.c
> index d761b26..cdb9811 100644
> --- a/common/spl/spl_fat.c
> +++ b/common/spl/spl_fat.c
> @@ -15,6 +15,7 @@
> #include <fat.h>
> #include <errno.h>
> #include <image.h>
> +#include <libfdt.h>
>
> static int fat_registered;
>
> @@ -39,6 +40,20 @@ static int spl_register_fat_device(struct blk_desc *block_dev, int partition)
> return err;
> }
>
> +static ulong spl_fit_read(struct spl_load_info *load, ulong file_offset,
> + ulong size, void *buf)
> +{
> + loff_t actread;
> + int ret;
> + char *filename = (char *)load->priv;
> +
> + ret = fat_read_file(filename, buf, file_offset, size, &actread);
> + if (ret)
> + return ret;
> +
> + return actread;
> +}
> +
> int spl_load_image_fat(struct blk_desc *block_dev,
> int partition,
> const char *filename)
> @@ -57,9 +72,21 @@ int spl_load_image_fat(struct blk_desc *block_dev,
> if (err <= 0)
> goto end;
>
> - spl_parse_image_header(header);
> + if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
> + image_get_magic(header) == FDT_MAGIC) {
> + struct spl_load_info load;
> +
> + debug("Found FIT\n");
> + load.read = spl_fit_read;
> + load.bl_len = 1;
> + load.priv = (void *)filename;
>
> - err = file_fat_read(filename, (u8 *)spl_image.load_addr, 0);
> + return spl_load_simple_fit(&load, 0, header);
> + } else {
> + spl_parse_image_header(header);
> +
> + err = file_fat_read(filename, (u8 *)spl_image.load_addr, 0);
> + }
>
> end:
> #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Thanks,
Michal
next prev parent reply other threads:[~2016-05-04 14:56 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-04 12:04 [U-Boot] [PATCH v5 0/3] spl: Add support to load FIT from Filesystem Lokesh Vutla
2016-05-04 12:04 ` [U-Boot] [PATCH v5 1/3] spl: fit: Fix the number of bytes read when reading fdt from fit Lokesh Vutla
2016-05-04 13:56 ` Michal Simek
2016-05-06 17:47 ` Tom Rini
2016-05-19 3:59 ` Simon Glass
2016-05-04 12:04 ` [U-Boot] [PATCH v5 2/3] spl: Allow to load a FIT containing U-Boot from FS Lokesh Vutla
2016-05-04 14:56 ` Michal Simek
2016-05-06 17:47 ` Tom Rini
2016-05-19 3:59 ` Simon Glass
2016-05-04 12:04 ` [U-Boot] [PATCH v5 3/3] spl: Support loading a FIT from FAT FS Lokesh Vutla
2016-05-04 14:56 ` Michal Simek [this message]
2016-05-06 17:47 ` Tom Rini
2016-05-19 3:59 ` Simon Glass
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=572A0DBA.3060800@xilinx.com \
--to=michal.simek@xilinx.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.