diff options
Diffstat (limited to 'roms/u-boot/tools/rkimage.c')
-rw-r--r-- | roms/u-boot/tools/rkimage.c | 48 |
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 +); |