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