Files
u-boot/tools/gpimage.c
Simon Glass 1a9f81779e mkimage: Use a consistent parameter for struct imgtool *
Use the same 'itl' (for image-tool) whenever this parameter is passed
around. This makes it easier to recognise. Move away from using the word
'parameters', since it contains essentially all of the info about the
tool, not just parameters. Use 'info' instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
2025-08-01 13:20:42 +12:00

76 lines
1.6 KiB
C

// SPDX-License-Identifier: GPL-2.0+
/*
* (C) Copyright 2014
* Texas Instruments Incorporated
* Add gpimage format for keystone devices to format spl image. This is
* Based on omapimage.c
*
* (C) Copyright 2010
* Linaro LTD, www.linaro.org
* Author: John Rigby <john.rigby@linaro.org>
* Based on TI's signGP.c
*
* (C) Copyright 2009
* Stefano Babic, DENX Software Engineering, sbabic@denx.de.
*
* (C) Copyright 2008
* Marvell Semiconductor <www.marvell.com>
* Written-by: Prafulla Wadaskar <prafulla@marvell.com>
*/
#include "imagetool.h"
#include <compiler.h>
#include <image.h>
#include "gpheader.h"
static uint8_t gpimage_header[GPIMAGE_HDR_SIZE];
/* to be in keystone gpimage */
static int gpimage_check_image_types(uint8_t type)
{
if (type == IH_TYPE_GPIMAGE)
return EXIT_SUCCESS;
return EXIT_FAILURE;
}
static int gpimage_verify_header(unsigned char *ptr, int image_size,
struct imgtool *itl)
{
struct gp_header *gph = (struct gp_header *)ptr;
return gph_verify_header(gph, 1);
}
static void gpimage_print_header(const void *ptr, struct imgtool *itl)
{
const struct gp_header *gph = (struct gp_header *)ptr;
gph_print_header(gph, 1);
}
static void gpimage_set_header(void *ptr, struct stat *sbuf, int ifd,
struct imgtool *itl)
{
struct gp_header *gph = (struct gp_header *)ptr;
gph_set_header(gph, sbuf->st_size - GPIMAGE_HDR_SIZE, itl->addr, 1);
}
/*
* gpimage parameters
*/
U_BOOT_IMAGE_TYPE(
gpimage,
"TI KeyStone GP Image support",
GPIMAGE_HDR_SIZE,
(void *)&gpimage_header,
gpimage_check_params,
gpimage_verify_header,
gpimage_print_header,
gpimage_set_header,
NULL,
gpimage_check_image_types,
NULL,
NULL
);