[PATCH 2/7] scripts: new kwbimage manipulation tool for Marvell SoC boot images

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Mon May 6 17:03:37 EDT 2013


Dear Sascha Hauer,

On Mon, 6 May 2013 22:56:31 +0200, Sascha Hauer wrote:

> > > Barebox update will generate the correct image for the storagemedia at
> > > runtime
> > 
> > What is "Barebox update" ?
> 
> barebox_update is a command that you can call during runtime to update
> barebox. Over writing images directly to the storage it has the
> advantage that you can do additional sanity checks on the images.
> 
> Also for example on i.MX a board specific poke table is all you need
> to bring up SDRAM. As long as you have this poke table and a devicetree
> you could use the same binary on different boards.

Ok, makes sense. On Marvell Kirkwood, the SDRAM bring up is also done
using a set of (address, value) pairs that are part of the image
header. This mechanism is also available for Armada 370/XP, but
apparently, DDR3 requires a more dynamic tuning to find optimal
timings, so having static values in a table is no longer appropriate.

In our case, how would barebox_update work? Would it overwrite just the
barebox.bin payload (which would require updating the 32 bits checksum
and the payload size in the header, otherwise the Marvell SoC would not
boot the image at the next reboot), or should it overwrite the whole
image (in which case it would have to re-extract the configuration and
the binary blob, and reconstruct the image at runtime) ? Probably the
first solution is the easiest one.

> For initial bring up you would still need a SoC specific image though
> (at least when not using JTAG), so you still need a tool to generate it.

Indeed.

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com



More information about the barebox mailing list