~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/u-boot/tools/gpimage.c

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * (C) Copyright 2014
 
3
 * Texas Instruments Incorporated
 
4
 * Add gpimage format for keystone devices to format spl image. This is
 
5
 * Based on omapimage.c
 
6
 *
 
7
 * (C) Copyright 2010
 
8
 * Linaro LTD, www.linaro.org
 
9
 * Author: John Rigby <john.rigby@linaro.org>
 
10
 * Based on TI's signGP.c
 
11
 *
 
12
 * (C) Copyright 2009
 
13
 * Stefano Babic, DENX Software Engineering, sbabic@denx.de.
 
14
 *
 
15
 * (C) Copyright 2008
 
16
 * Marvell Semiconductor <www.marvell.com>
 
17
 * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
 
18
 *
 
19
 * SPDX-License-Identifier:     GPL-2.0+
 
20
 */
 
21
 
 
22
#include "imagetool.h"
 
23
#include <compiler.h>
 
24
#include <image.h>
 
25
#include "gpheader.h"
 
26
 
 
27
static uint8_t gpimage_header[GPIMAGE_HDR_SIZE];
 
28
 
 
29
/* to be in keystone gpimage */
 
30
static int gpimage_check_image_types(uint8_t type)
 
31
{
 
32
        if (type == IH_TYPE_GPIMAGE)
 
33
                return EXIT_SUCCESS;
 
34
        return EXIT_FAILURE;
 
35
}
 
36
 
 
37
static int gpimage_verify_header(unsigned char *ptr, int image_size,
 
38
                        struct image_tool_params *params)
 
39
{
 
40
        struct gp_header *gph = (struct gp_header *)ptr;
 
41
 
 
42
        return gph_verify_header(gph, 1);
 
43
}
 
44
 
 
45
static void gpimage_print_header(const void *ptr)
 
46
{
 
47
        const struct gp_header *gph = (struct gp_header *)ptr;
 
48
 
 
49
        gph_print_header(gph, 1);
 
50
}
 
51
 
 
52
static void gpimage_set_header(void *ptr, struct stat *sbuf, int ifd,
 
53
                                struct image_tool_params *params)
 
54
{
 
55
        struct gp_header *gph = (struct gp_header *)ptr;
 
56
 
 
57
        gph_set_header(gph, sbuf->st_size - GPIMAGE_HDR_SIZE, params->addr, 1);
 
58
}
 
59
 
 
60
/*
 
61
 * gpimage parameters
 
62
 */
 
63
static struct image_type_params gpimage_params = {
 
64
        .name           = "TI KeyStone GP Image support",
 
65
        .header_size    = GPIMAGE_HDR_SIZE,
 
66
        .hdr            = (void *)&gpimage_header,
 
67
        .check_image_type = gpimage_check_image_types,
 
68
        .verify_header  = gpimage_verify_header,
 
69
        .print_header   = gpimage_print_header,
 
70
        .set_header     = gpimage_set_header,
 
71
        .check_params   = gpimage_check_params,
 
72
};
 
73
 
 
74
void init_gpimage_type(void)
 
75
{
 
76
        register_image_type(&gpimage_params);
 
77
}