mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
spl: nand: support redundant u-boot image
On modern NAND it's more than recommended to have a backup copy of the u-boot binary to recover from corruption: bitflips are quite common on MLC NANDs, and the read-disturbance will corrupt your u-boot partitition more quickly than what you would see on an SLC NAND. Add an extra Kconfig option to specify the offset of the redundant u-boot image. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Hans de Goede <hdegoede@redhat.com> [scottwood: added ifdef to fix build break] Signed-off-by: Scott Wood <oss@buserror.net>
This commit is contained in:
parent
494e108651
commit
80ef700f8d
2 changed files with 15 additions and 0 deletions
|
@ -134,6 +134,13 @@ int spl_nand_load_image(void)
|
|||
#endif
|
||||
/* Load u-boot */
|
||||
err = spl_nand_load_element(CONFIG_SYS_NAND_U_BOOT_OFFS, header);
|
||||
#ifdef CONFIG_SYS_NAND_U_BOOT_OFFS_REDUND
|
||||
#if CONFIG_SYS_NAND_U_BOOT_OFFS != CONFIG_SYS_NAND_U_BOOT_OFFS_REDUND
|
||||
if (err)
|
||||
err = spl_nand_load_element(CONFIG_SYS_NAND_U_BOOT_OFFS_REDUND,
|
||||
header);
|
||||
#endif
|
||||
#endif
|
||||
nand_deselect();
|
||||
return err;
|
||||
}
|
||||
|
|
|
@ -117,6 +117,14 @@ config SYS_NAND_U_BOOT_OFFS
|
|||
Set the offset from the start of the nand where u-boot should be
|
||||
loaded from.
|
||||
|
||||
config SYS_NAND_U_BOOT_OFFS_REDUND
|
||||
hex "Location in NAND to read U-Boot from"
|
||||
default SYS_NAND_U_BOOT_OFFS
|
||||
depends on SYS_NAND_U_BOOT_LOCATIONS
|
||||
help
|
||||
Set the offset from the start of the nand where the redundant u-boot
|
||||
should be loaded from.
|
||||
|
||||
config SPL_NAND_DENALI
|
||||
bool "Support Denali NAND controller for SPL"
|
||||
help
|
||||
|
|
Loading…
Reference in a new issue