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