[U-Boot] ARM relocation, board_init() now called AFTER relocation

Reinhard Meyer u-boot at emk-elektronik.de
Mon Oct 4 18:44:32 CEST 2010


Hello,

before the relocation patches, and if relocation is disabled
(CONFIG_SYS_ARM_WITHOUT_RELOC)
board_init() is called _very_ early, before relocation.

With relocation enabled, board_init() is called after relocation and
when BSS is available.

--->> Board maintainers should look at their board_init() and check that
they do not do "early init" stuff there.
Most AT91 boards, as I can see do high level inits (requiring bss),
which is NOW ok to do (with relocation) and actually was WRONG before that.
(Or you might say, board_init() was until now called in the wrong place)

Reinhard

PS: realizing that solved my ENV READ CRC issue ;) - the GPIO pins
were initialized in board_init() which is too late now.



More information about the U-Boot mailing list