AST2500 support questions

Xo Wang xow at google.com
Fri Jun 10 04:35:26 AEST 2016


Hi Shay,

Aside from confirming that AST2500 support is still a work-in-progress,
I wanted to answer your question about the current device-tree boot 
mechanism.

 > We tried to boot it with uImage and separate DTB image using the
 > command 'bootm <KERNEL_ADDR> - <DTB_ADDR>'

If I understand correctly, the configuration you tried is to load the 
DTB at 0x82000000 and pass that address to a CONFIG_OF_LIBFDT kernel in 
register r2. This should work and is probably considered the 
preferred/idiomatic ARM way, but not how the phosphor build is doing it.

 > Which u-boot command do you suggest for booting with DTB file?
 > How did you guys managed to boot?

The current OpenBMC boot mechanism for AST2400 that we ported to AST2500 
is to append the DTB to the zImage:

   # meta-phosphor/classes/kernel-cuimage.bbclass#L32
   cat linux.bin $dt > linux-dts.bin

The recipe will then run mkimage on this to create a u-boot container 
wrapped zImage+DTB file called cuImage. The kernel knows to look for the 
appended DTB if built with CONFIG_ARM_APPENDED_DTB.

 > ast# bootz 0x83000000

I think this will pass a pointer to ATAGS in r2 and bypass device-tree 
handling completely. ATAGS is considered legacy and isn't usefully 
populated by the OpenBMC u-boot, except to pass kernel boot arguments.

cheers
//xo


More information about the openbmc mailing list