Merge git://git.denx.de/u-boot-arc
[platform/kernel/u-boot.git] / tools / aisimage.h
1 /*
2  * (C) Copyright 2011
3  * Stefano Babic, DENX Software Engineering, sbabic@denx.de.
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 #ifndef _AISIMAGE_H_
9 #define _AISIMAGE_H_
10
11 /* all values are for little endian systems */
12 #define AIS_MAGIC_WORD  0x41504954
13 #define AIS_FCN_MAX     8
14
15 enum {
16         AIS_CMD_LOAD    = 0x58535901,
17         AIS_CMD_VALCRC  = 0x58535902,
18         AIS_CMD_ENCRC   = 0x58535903,
19         AIS_CMD_DISCRC  = 0x58535904,
20         AIS_CMD_JMP     = 0x58535905,
21         AIS_CMD_JMPCLOSE = 0x58535906,
22         AIS_CMD_BOOTTBL = 0x58535907,
23         AIS_CMD_FILL    = 0x5853590A,
24         AIS_CMD_FNLOAD  = 0x5853590D,
25         AIS_CMD_SEQREAD = 0x58535963,
26 };
27
28 struct ais_cmd_load {
29         uint32_t cmd;
30         uint32_t addr;
31         uint32_t size;
32         uint32_t data[1];
33 };
34
35 struct ais_cmd_func {
36         uint32_t cmd;
37         uint32_t func_args;
38         uint32_t parms[AIS_FCN_MAX];
39 };
40
41 struct ais_cmd_jmpclose {
42         uint32_t cmd;
43         uint32_t addr;
44 };
45
46 #define CMD_DATA_STR    "DATA"
47
48 enum ais_file_cmd {
49         CMD_INVALID,
50         CMD_FILL,
51         CMD_CRCON,
52         CMD_CRCOFF,
53         CMD_CRCCHECK,
54         CMD_JMPCLOSE,
55         CMD_JMP,
56         CMD_SEQREAD,
57         CMD_DATA,
58         CMD_PLL0,
59         CMD_PLL1,
60         CMD_CLK,
61         CMD_DDR2,
62         CMD_EMIFA,
63         CMD_EMIFA_ASYNC,
64         CMD_PLL,
65         CMD_PSC,
66         CMD_PINMUX,
67         CMD_BOOTTABLE
68 };
69
70 enum aisimage_fld_types {
71         CFG_INVALID = -1,
72         CFG_COMMAND,
73         CFG_VALUE,
74 };
75
76 struct ais_header {
77         uint32_t magic;
78         char data[1];
79 };
80
81 #endif /* _AISIMAGE_H_ */