Hi Simon,

Sorry if my response is late. I was not in office for couple of days.

On Tuesday 02 August 2011 09:29 PM, Simon Schwarz wrote:
> Add NAND support for the new SPL structure.
>
> Signed-off-by: Simon Schwarz<simonschwarz...@gmail.com>
> ---
> This patch didn't exist before V2!
>
> V2 changes:
> ADD Some define-barriers for OMAP3 to only use NAND
> ADD nand_load_image() - inits the OMAP gpmc, loads the images - parses the
>       header
> CHG cosmetic
> ADD do_reset() implementation for omap-common spl
> ADD nand_copy_image to nand.h
> ADD CPP barriers for mmc and nand support. The parts depending on library
>       support are only compiled if the respective library is included.
>
> V3 changes:
> ADD Comment why setup_clocks_for_console() isn't called for OMAP3
> CHG cosmetic (deleted empty line)
> CHG rename of NAND_MODE_HW to NAND_MODE_HW_ECC
> DEL NAND_MODE_SW. Not used.
>
> V4 changes:
> CHG cosmetic - style problems
>
> V5 changes:
> CHG renamed nand_copy_image to nand_spl_load_image
> CHG offs paramter of nand_spl_load_image is of type loff_t now
>
> V6 changes:
> ADD call to nand_deselect after loading the images
> ADD nand_deselect to nand.h
>
> V7 changes:
> DEL some CONFIG_SPL_* relying on garbage collection now
> ADD mmc_load_image and nand_load_image now have __attribute__((unused)) to
>       prevent warnings when the lib is not added to SPL
> DEL do_reset() isn't used anymore
> CHG header based loading in SPL
>
> V8 changes:
> DEL nand_spl_read_page is replaced by nand_spl_load_image with size=page size
>
> Transition from V1 to V2 also includes that this patch is now based on
>       - the new SPL layout by Aneesh V and Daniel Schwierzeck
>       - the OMAP4 SPL patches by Aneesh V
> ---
>   arch/arm/cpu/armv7/omap-common/spl.c |   46 
> +++++++++++++++++++++++++++++++++-
>   arch/arm/include/asm/omap_common.h   |    1 +
>   include/nand.h                       |    3 ++
>   3 files changed, 49 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/cpu/armv7/omap-common/spl.c 
> b/arch/arm/cpu/armv7/omap-common/spl.c
> index 1d301f4..53d10bf 100644
> --- a/arch/arm/cpu/armv7/omap-common/spl.c
> +++ b/arch/arm/cpu/armv7/omap-common/spl.c
> @@ -26,6 +26,7 @@
>   #include<asm/u-boot.h>
>   #include<asm/utils.h>
>   #include<asm/arch/sys_proto.h>
> +#include<nand.h>
>   #include<mmc.h>
>   #include<fat.h>
>   #include<timestamp_autogenerated.h>
> @@ -173,7 +174,7 @@ end:
>               hang();
>       }
>   }
> -
> +static void mmc_load_image(void) __attribute__((unused));
>   static void mmc_load_image(void)
>   {
>       struct mmc *mmc;
> @@ -207,12 +208,48 @@ static void mmc_load_image(void)
>       }
>   }
>
> +#ifdef CONFIG_SPL_NAND_SUPPORT
> +static void nand_load_image(void) __attribute__ ((unused));
> +static void nand_load_image(void)
> +{
> +     struct image_header *header;
> +
> +     gpmc_init();
> +     nand_init();
> +
> +     /*use CONFIG_SYS_TEXT_BASE as temporary storage area */
> +     header = (struct image_header *)(CONFIG_SYS_TEXT_BASE);
> +
> +#ifdef CONFIG_NAND_ENV_DST
> +     nand_spl_load_image(CONFIG_ENV_OFFSET,
> +             CONFIG_SYS_NAND_PAGE_SIZE, (void *)header);
> +     parse_image_header(header);
> +     nand_spl_load_image(CONFIG_ENV_OFFSET, image_size,
> +             (void *)image_load_addr);
> +#ifdef CONFIG_ENV_OFFSET_REDUND
> +     nand_spl_load_image(CONFIG_ENV_OFFSET_REDUND,
> +             CONFIG_SYS_NAND_PAGE_SIZE, (void *)header);
> +     parse_image_header(header);
> +     nand_spl_load_image(CONFIG_ENV_OFFSET_REDUND, image_size,
> +             (void *)image_load_addr);
> +#endif
> +#endif

Can you please explain the logic here. What are you loading here?

br,
Aneesh
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to