[U-Boot] [PATCH] sunxi_nand_spl: Be smarter about where to look for backup u-boot.bin

Ian Campbell ijc+uboot at hellion.org.uk
Tue Sep 1 09:05:20 CEST 2015


On Mon, 2015-08-31 at 17:42 +0200, Hans de Goede wrote:
> We know when u-boot is written to its own partition, in this case the
> layout always is:
> 
> eb 0 spl
> eb 1 spl-backup
> eb 2 u-boot
> eb 3 u-boot-backup
> 
> eb: erase-block

These are all the same size on this particular chip/all known sunxi
SoCs, right?

> So if we cannot load u-boot from its primary offset we know exactly where
> to look for it.
> +#else
> +> 	> /*
> +> 	>  * u-boot-dtb.bin on its own partition, do not use syndrome, u-boot
> +> 	>  * partition sits after 2 eraseblocks (spl, spl-backup), look for
> +> 	>  * backup u-boot 1 erase block further.
> +> 	>  */
> +> 	> const uint32_t boot_offsets[] = {
> +> 	> 	> CONFIG_SYS_NAND_U_BOOT_OFFS,
> +> 	> 	> CONFIG_SYS_NAND_U_BOOT_OFFS + CONFIG_SYS_NAND_U_BOOT_OFFS / 2,
> +> 	> };
> +> 	> const int syndrome = 0;
> +#endif

The relationship between half of SYS_NAND_U_BOOT_OFFS and an erase
block here is a bit non-obvious in this context (the offset is 2 blocks
so one block is half that).

Is there no suitable #define for the eb size which could be used here
(and ideally in the definition of U_BOOT_OFFS too)? Could we add one?

Ian.


More information about the U-Boot mailing list