On Wed, 2015-04-29 at 17:02 +0200, Daniel Kochmański wrote: > diff --git a/common/spl/spl_nand.c b/common/spl/spl_nand.c > index 9d59fbb..7c44de1 100644 > --- a/common/spl/spl_nand.c > +++ b/common/spl/spl_nand.c > @@ -2,6 +2,9 @@ > * Copyright (C) 2011 > * Corscience GmbH & Co. KG - Simon Schwarz <schw...@corscience.de> > * > + * Copyright (C) 2015 > + * Turtle Solutions - Daniel Kochmański <dkochman...@turtle-solutions.eu> > + * > * SPDX-License-Identifier: GPL-2.0+ > */ > #include <common.h> > @@ -90,9 +93,28 @@ void spl_nand_load_image(void) > nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS, > sizeof(*header), (void *)header); > spl_parse_image_header(header); > - nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS, > - spl_image.size, > - (void *)(unsigned long)spl_image.load_addr); > + if (header->ih_os == IH_OS_U_BOOT) { > + nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS, > + spl_image.size, > + (void *)(unsigned long)spl_image.load_addr); > + nand_deselect(); > + return; > + } > + puts("U-boot header didn't match.\n"); > +#ifdef CONFIG_SYS_NAND_U_BOOT_BACKUP_OFFS > + puts("Trying to start backup u-boot now...\n"); > + nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_BACKUP_OFFS, > + sizeof(*header), (void *)header); > + spl_parse_image_header(header); > + if (header->ih_os == IH_OS_U_BOOT) { > + nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_BACKUP_OFFS, > + spl_image.size, > + (void *)(unsigned long)spl_image.load_addr); > + nand_deselect(); > + return; > + } > +#endif
Factor this code into a function that is called twice rather than repeating everything. -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot