[U-Boot] [PATCH 4/5] nand: sunxi: Add multiimage preload option
Scott Wood
scottwood at freescale.com
Tue May 19 01:43:40 CEST 2015
On Wed, 2015-04-29 at 17:03 +0200, Daniel Kochmański wrote:
> Patch adds support in spl_nand for preloading multiimage before
> loading u-boot into memory. It might be used in example to put in
> memory single image containing boot script, kernel and device
> tree.
Why can't the main U-Boot load it?
> Behavior is triggered, if CONFIG_SPL_NAND_MULTI_PRELOAD is defined -
> multiimage is loaded from CONFIG_SYS_NAND_MULTI_OFFS to address
> specified on image creation.
>
> Additionally defines it in sunxi-common.h conditionally when
> CONFIG_SPL_NAND_SUPPORT is enabled. SPL tries to preload image from
> beginning of non-syndrome area.
>
> Signed-off-by: Daniel Kochmański <dkochmanski at turtle-solutions.eu>
> Cc: Ian Campbell <ijc at hellion.org.uk>
> Cc: Hans De Goede <hdegoede at redhat.com>
> ---
>
> README | 6 ++++++
> common/spl/spl_nand.c | 14 ++++++++++++++
> include/configs/sunxi-common.h | 2 ++
> 3 files changed, 22 insertions(+)
>
> diff --git a/README b/README
> index 4ccf3cb..444b02f 100644
> --- a/README
> +++ b/README
> @@ -3719,6 +3719,9 @@ FIT uImage format:
> CONFIG_SPL_NAND_BOOT
> Add support NAND boot
>
> + CONFIG_SPL_NAND_MULTI_PRELOAD
> + Preload multiimage from predefined offset in NAND.
Why is this not implied by CONFIG_SYS_NAND_MULTI_OFFS not being defined?
> +
> CONFIG_SYS_NAND_U_BOOT_OFFS
> Location in NAND to read U-Boot from
>
> @@ -3735,6 +3738,9 @@ FIT uImage format:
> CONFIG_SYS_NAND_U_BOOT_START
> Entry point in loaded image to jump to
>
> + CONFIG_SYS_NAND_MULTI_OFFS
> + Location in NAND to read multiimage from.
Why SYS and not SPL? Why not using kconfig?
> +
> CONFIG_SYS_NAND_HW_ECC_OOBFIRST
> Define this if you need to first read the OOB and then the
> data. This is used, for example, on davinci platforms.
> diff --git a/common/spl/spl_nand.c b/common/spl/spl_nand.c
> index 7c44de1..f87db0a 100644
> --- a/common/spl/spl_nand.c
> +++ b/common/spl/spl_nand.c
> @@ -89,6 +89,20 @@ void spl_nand_load_image(void)
> (void *)spl_image.load_addr);
> #endif
> #endif
> +#ifdef CONFIG_SPL_NAND_MULTI_PRELOAD
> + /* Load multiimage */
> + puts("Preloading multiimage.\n");
This function isn't this verbose for any of the other images...
-Scott
More information about the U-Boot
mailing list