summaryrefslogtreecommitdiff
path: root/tools/rkcommon.h
diff options
context:
space:
mode:
authorPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2017-05-30 23:32:08 +0200
committerSimon Glass <sjg@chromium.org>2017-06-07 07:29:22 -0600
commit2fb371ff6483227f9be74cbce17c088bec96b411 (patch)
tree1364eeacfb8f0c3e01601f6837195e00c74ff1f9 /tools/rkcommon.h
parent37ffae7c5b24578e6c0d8f240e13b24326a3b1b4 (diff)
downloadu-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.h19
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.