
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.