diff options
author | Philipp Tomsich <philipp.tomsich@theobroma-systems.com> | 2017-05-30 23:32:08 +0200 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2017-06-07 07:29:22 -0600 |
commit | 2fb371ff6483227f9be74cbce17c088bec96b411 (patch) | |
tree | 1364eeacfb8f0c3e01601f6837195e00c74ff1f9 /tools/rkcommon.h | |
parent | 37ffae7c5b24578e6c0d8f240e13b24326a3b1b4 (diff) | |
download | u-boot-2fb371ff6483227f9be74cbce17c088bec96b411.tar.gz u-boot-2fb371ff6483227f9be74cbce17c088bec96b411.tar.bz2 u-boot-2fb371ff6483227f9be74cbce17c088bec96b411.zip |
rockchip: mkimage: add support for verify_header/print_header
The rockchip image generation was previously missing the ability to
verify the generated header (and dump the image-type) without having
to resort to hexdump or od. Experience in our testing has showed it
to be very easy to get the rkspi and rksd images mixed up and the
lab... so we add the necessary support to have dumpimage tell us
what image type we're dealing with.
This change set adds the verify_header and print_header capability
to the rksd/rkspi image drivers (through shared code in rkcommon).
As of now, we only support images fully that are not RC4-encoded for
the SPL payload (i.e. header1 and payload). For RC4-encoded payloads,
the outer header (header0) is checked, but no detection of whether
this is a SD/MMC or SPI formatted payload takes place.
The output of dumpsys now prints the image type (spl_hdr), whether it
is a SD/MMC or SPI image, and the (padded) size of the image:
$ ./tools/dumpimage -l ./spl.img
Image Type: Rockchip RK33 (SD/MMC) boot image
^^^^^^ SD/MMC vs. SPI indication
^^^^ spl_hdr indicated by the image
Data Size: 79872 bytes
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/rkcommon.h')
-rw-r--r-- | tools/rkcommon.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/rkcommon.h b/tools/rkcommon.h index a21321fe83..75a4ed653f 100644 --- a/tools/rkcommon.h +++ b/tools/rkcommon.h @@ -56,6 +56,25 @@ int rkcommon_set_header(void *buf, uint file_size, struct image_tool_params *params); /** + * rkcommon_verify_header() - verify the header for a Rockchip boot image + * + * @buf: Pointer to the image file + * @file_size: Size of entire bootable image file (incl. all padding) + * @return 0 if OK + */ +int rkcommon_verify_header(unsigned char *buf, int size, + struct image_tool_params *params); + +/** + * rkcommon_print_header() - print the header for a Rockchip boot image + * + * This prints the header, spl_name and whether this is a SD/MMC or SPI image. + * + * @buf: Pointer to the image (can be a read-only file-mapping) + */ +void rkcommon_print_header(const void *buf); + +/** * rkcommon_need_rc4_spl() - check if rc4 encoded spl is required * * Some socs cannot disable the rc4-encryption of the spl binary. |