On 10/30/2011 11:53 PM, Heiko Schocher wrote: > diff --git a/arch/arm/cpu/arm926ejs/davinci/spl_nand.c > b/arch/arm/cpu/arm926ejs/davinci/spl_nand.c > new file mode 100644 > index 0000000..efc0521 > --- /dev/null > +++ b/arch/arm/cpu/arm926ejs/davinci/spl_nand.c > @@ -0,0 +1,57 @@ > +/* > + * Copyright (C) 2011 > + * Heiko Schocher, DENX Software Engineering, h...@denx.de. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of > + * the License, or (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, > + * MA 02111-1307 USA > + */ > + > +#include <common.h> > +#include <nand.h> > +#include <asm/io.h>
Does this file use anything from asm/io.h? > +/* > + * The main entry for NAND booting. It's necessary that SDRAM is already > + * configured and available since this code loads the main U-Boot image > + * from NAND into SDRAM and starts it from there. > + */ > +void nand_boot(void) > +{ > + int ret; > + __attribute__((noreturn)) void (*uboot)(void); > + > + /* > + * Load U-Boot image from NAND into RAM > + */ > + ret = nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS, > + CONFIG_SYS_NAND_U_BOOT_SIZE, > + (void *)CONFIG_SYS_NAND_U_BOOT_DST); > + > +#ifdef CONFIG_NAND_ENV_DST > + ret = nand_spl_load_image(CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE, > + (void *)CONFIG_NAND_ENV_DST); > + > +#ifdef CONFIG_ENV_OFFSET_REDUND > + ret = nand_spl_load_image(CONFIG_ENV_OFFSET_REDUND, CONFIG_ENV_SIZE, > + (void *)CONFIG_NAND_ENV_DST + CONFIG_ENV_SIZE); > +#endif > +#endif > + > + /* > + * Jump to U-Boot image > + */ > + uboot = (void *)CONFIG_SYS_NAND_U_BOOT_START; > + (*uboot)(); > +} This is common to most NAND SPLs. It would be nice to stick this in a common place (at least the loading part, maybe not the jump). Not nand_spl_simple.c, as it's utility is not limited to the simple driver. Maybe drivers/mtd/nand/nand_spl_load.c? -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot