xref: /rk3399_ARM-atf/tools/fiptool/fiptool.h (revision 5ac92813885137e9e06061084dcf039a45a74837)
1819281eeSdp-arm /*
22a6c1a8fSMasahiro Yamada  * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
3819281eeSdp-arm  *
482cb2c1aSdp-arm  * SPDX-License-Identifier: BSD-3-Clause
5819281eeSdp-arm  */
6819281eeSdp-arm 
7c3cf06f1SAntonio Nino Diaz #ifndef FIPTOOL_H
8c3cf06f1SAntonio Nino Diaz #define FIPTOOL_H
9819281eeSdp-arm 
10819281eeSdp-arm #include <stddef.h>
11819281eeSdp-arm #include <stdint.h>
12819281eeSdp-arm 
13769fb6b6SIsla Mitchell #include <firmware_image_package.h>
142a6c1a8fSMasahiro Yamada #include <uuid.h>
15819281eeSdp-arm 
1696851114SEvan Lloyd #include "fiptool_platform.h"
1796851114SEvan Lloyd 
18819281eeSdp-arm #define NELEM(x) (sizeof (x) / sizeof *(x))
19819281eeSdp-arm 
20819281eeSdp-arm enum {
21e0f083a0Sdp-arm 	DO_UNSPEC = 0,
22819281eeSdp-arm 	DO_PACK   = 1,
23819281eeSdp-arm 	DO_UNPACK = 2,
24819281eeSdp-arm 	DO_REMOVE = 3
25819281eeSdp-arm };
26819281eeSdp-arm 
27819281eeSdp-arm enum {
28819281eeSdp-arm 	LOG_DBG,
29819281eeSdp-arm 	LOG_WARN,
30819281eeSdp-arm 	LOG_ERR
31819281eeSdp-arm };
32819281eeSdp-arm 
33e0f083a0Sdp-arm typedef struct image_desc {
34e0f083a0Sdp-arm 	uuid_t             uuid;
35e0f083a0Sdp-arm 	char              *name;
36e0f083a0Sdp-arm 	char              *cmdline_name;
37e0f083a0Sdp-arm 	int                action;
38e0f083a0Sdp-arm 	char              *action_arg;
39b9589fe5Sdp-arm 	struct image      *image;
40e0f083a0Sdp-arm 	struct image_desc *next;
41e0f083a0Sdp-arm } image_desc_t;
42e0f083a0Sdp-arm 
43819281eeSdp-arm typedef struct image {
4465caa3d0SMasahiro Yamada 	struct fip_toc_entry toc_e;
45819281eeSdp-arm 	void                *buffer;
46819281eeSdp-arm } image_t;
47819281eeSdp-arm 
48819281eeSdp-arm typedef struct cmd {
49819281eeSdp-arm 	char              *name;
50819281eeSdp-arm 	int              (*handler)(int, char **);
51*4e500525SLeonardo Sandoval 	void             (*usage)(int);
52819281eeSdp-arm } cmd_t;
53819281eeSdp-arm 
54c3cf06f1SAntonio Nino Diaz #endif /* FIPTOOL_H */
55