
On 07/01/11 12:17, Simon Schwarz wrote:
Ok, topic ATAGS: I see three ways doing ATAGS init for SPL:
- use bootm.c which means init bd correctly and add a bunch of #ifdef
CONFIG_PRELOADER to it - maybe also to some others i don't have on the radar yet.
While this is not clean, it might work good.
- Have ATAGS config in board config file and init it at compile time
This is a problematic approach, because memory size, board revision, serial number and may be some others are only known in runtime.
- Doing it like Heiko and copy the ATAGS config done by u-boot
This one is probably the most clean way.
My favourite here is number 2 because it would be faster than 1 and won't take so much work and won't clutter the standard u-boot code with #ifdefs. Also it is simpler to use than 3. the downside is that the section for ATAGS config would be huge and the code could diverge over time...
Regarding the device tree on ARM, it is still not fully functional. Nevertheless, currently there is an attempt ([1] and [2]) to make kernel work with both, device tree and ATAGS and if I understood correctly, the ATAGS will have precedence over the DT, so closed source boot loaders will still work.
[1] - http://www.spinics.net/lists/arm-kernel/msg128172.html [2] - http://www.spinics.net/lists/arm-kernel/msg129270.html