1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * (C) Copyright 2015 Google, Inc 4 * Written by Simon Glass <sjg@chromium.org> 5 * 6 * See README.rockchip for details of the rkimage format 7 */ 8 9 #include "imagetool.h" 10 #include <image.h> 11 #include "rkcommon.h" 12 13 static uint32_t header; 14 15 static void rkimage_set_header(void *buf, struct stat *sbuf, int ifd, 16 struct image_tool_params *params) 17 { 18 memcpy(buf, rkcommon_get_spl_hdr(params), RK_SPL_HDR_SIZE); 19 20 if (rkcommon_need_rc4_spl(params)) 21 rkcommon_rc4_encode_spl(buf, 4, params->file_size); 22 } 23 24 static int rkimage_check_image_type(uint8_t type) 25 { 26 if (type == IH_TYPE_RKIMAGE) 27 return EXIT_SUCCESS; 28 else 29 return EXIT_FAILURE; 30 } 31 32 /* 33 * rk_image parameters 34 */ 35 U_BOOT_IMAGE_TYPE( 36 rkimage, 37 "Rockchip Boot Image support", 38 0, 39 &header, 40 rkcommon_check_params, 41 NULL, 42 NULL, 43 rkimage_set_header, 44 NULL, 45 rkimage_check_image_type, 46 NULL, 47 NULL 48 ); 49