diff options
author | Charles Manning <cdhmanning@gmail.com> | 2014-03-06 15:40:50 +1300 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2014-10-06 17:38:17 +0200 |
commit | 832472a94d1adb4f1f86e491a2387c43c960b4e2 (patch) | |
tree | eb2b1a2cbfe0be5918e832b135b0ea954950766f /tools/imagetool.h | |
parent | be9f643ae6aa9044c60fe80e3a2c10be8371c692 (diff) |
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
Diffstat (limited to 'tools/imagetool.h')
-rw-r--r-- | tools/imagetool.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/imagetool.h b/tools/imagetool.h index c8af0e82f8b..8bce0594827 100644 --- a/tools/imagetool.h +++ b/tools/imagetool.h @@ -168,6 +168,7 @@ void init_mxs_image_type(void); void init_fit_image_type(void); void init_ubl_image_type(void); void init_omap_image_type(void); +void init_socfpga_image_type(void); void init_gpimage_type(void); void pbl_load_uboot(int fd, struct image_tool_params *mparams); |