mirror of
https://github.com/u-boot/u-boot.git
synced 2025-01-14 14:53:25 +08:00
spl: nand: sunxi: stop guessing the redundant u-boot offset
Use CONFIG_SYS_NAND_U_BOOT_OFFS_REDUND value instead of trying to guess where the redundant u-boot image is based on simple (and most of the time erroneous) heuristics. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Hans de Goede <hdegoede@redhat.com> # Conflicts: # drivers/mtd/nand/sunxi_nand_spl.c
This commit is contained in:
parent
80ef700f8d
commit
fa30115878
@ -344,26 +344,6 @@ static int nand_read_buffer(uint32_t offs, unsigned int size, void *dest)
|
||||
|
||||
int nand_spl_load_image(uint32_t offs, unsigned int size, void *dest)
|
||||
{
|
||||
/*
|
||||
* u-boot partition sits after 2 eraseblocks (spl, spl-backup), look
|
||||
* for backup u-boot 1 erase block further.
|
||||
*/
|
||||
const uint32_t eraseblock_size = CONFIG_SYS_NAND_U_BOOT_OFFS / 2;
|
||||
const uint32_t boot_offsets[] = {
|
||||
CONFIG_SYS_NAND_U_BOOT_OFFS,
|
||||
CONFIG_SYS_NAND_U_BOOT_OFFS + eraseblock_size,
|
||||
};
|
||||
int i;
|
||||
|
||||
if (offs == CONFIG_SYS_NAND_U_BOOT_OFFS) {
|
||||
for (i = 0; i < ARRAY_SIZE(boot_offsets); i++) {
|
||||
if (nand_read_buffer(boot_offsets[i], size,
|
||||
dest) == 0)
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
return nand_read_buffer(offs, size, dest);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user