aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/tools/rkimage.c
diff options
context:
space:
mode:
Diffstat (limited to 'roms/u-boot/tools/rkimage.c')
-rw-r--r--roms/u-boot/tools/rkimage.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/roms/u-boot/tools/rkimage.c b/roms/u-boot/tools/rkimage.c
new file mode 100644
index 000000000..1c5540b1c
--- /dev/null
+++ b/roms/u-boot/tools/rkimage.c
@@ -0,0 +1,48 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * (C) Copyright 2015 Google, Inc
+ * Written by Simon Glass <sjg@chromium.org>
+ *
+ * See README.rockchip for details of the rkimage format
+ */
+
+#include "imagetool.h"
+#include <image.h>
+#include "rkcommon.h"
+
+static uint32_t header;
+
+static void rkimage_set_header(void *buf, struct stat *sbuf, int ifd,
+ struct image_tool_params *params)
+{
+ memcpy(buf, rkcommon_get_spl_hdr(params), RK_SPL_HDR_SIZE);
+
+ if (rkcommon_need_rc4_spl(params))
+ rkcommon_rc4_encode_spl(buf, 0, params->file_size);
+}
+
+static int rkimage_check_image_type(uint8_t type)
+{
+ if (type == IH_TYPE_RKIMAGE)
+ return EXIT_SUCCESS;
+ else
+ return EXIT_FAILURE;
+}
+
+/*
+ * rk_image parameters
+ */
+U_BOOT_IMAGE_TYPE(
+ rkimage,
+ "Rockchip Boot Image support",
+ 0,
+ &header,
+ rkcommon_check_params,
+ NULL,
+ NULL,
+ rkimage_set_header,
+ NULL,
+ rkimage_check_image_type,
+ NULL,
+ NULL
+);