tools: socfpga: Add socfpga preloader signing to mkimage
authorCharles Manning <cdhmanning@gmail.com>
Thu, 6 Mar 2014 02:40:50 +0000 (15:40 +1300)
committerMarek Vasut <marex@denx.de>
Mon, 6 Oct 2014 15:38:17 +0000 (17:38 +0200)
commit832472a94d1adb4f1f86e491a2387c43c960b4e2
treeeb2b1a2cbfe0be5918e832b135b0ea954950766f
parentbe9f643ae6aa9044c60fe80e3a2c10be8371c692
tools: socfpga: Add socfpga preloader signing to mkimage

Like many platforms, the Altera socfpga platform requires that the
preloader be "signed" in a certain way or the built-in boot ROM will
not boot the code.

This change automatically creates an appropriately signed preloader
from an SPL image.

The signed image includes a CRC which must, of course, be generated
with a CRC generator that the SoCFPGA boot ROM agrees with otherwise
the boot ROM will reject the image.

Unfortunately the CRC used in this boot ROM is not the same as the
Adler CRC in lib/crc32.c. Indeed the Adler code is not technically a
CRC but is more correctly described as a checksum.

Thus, the appropriate CRC generator is added to lib/ as crc32_alt.c.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chin Liang See <clsee@altera.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Tom Rini <trini@ti.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Pavel Machek <pavel@denx.de>
Acked-by: Pavel Machek <pavel@denx.de>
V2: - Zap unused constant
    - Explicitly print an error message in case of error
    - Rework the hdr_checksum() function to take the *header directly
      instead of a plan buffer pointer
common/image.c
include/image.h
tools/Makefile
tools/imagetool.c
tools/imagetool.h
tools/socfpgaimage.c [new file with mode: 0644]