blob: 7da380c5c8b68382686dbf171810b874c89498b5 [file] [log] [blame]
/********************************************************************************
* Marvell GPL License Option
*
* If you received this File from Marvell, you may opt to use, redistribute and/or
* modify this File in accordance with the terms and conditions of the General
* Public License Version 2, June 1991 (the "GPL License"), a copy of which is
* available along with the File in the license.txt file or by writing to the Free
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
* on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
*
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
* WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
* DISCLAIMED. The GPL License provides additional details about this warranty
* disclaimer.
******************************************************************************/
#ifndef _IMAGE2_HEADER_H_
#define _IMAGE2_HEADER_H_
#include "version_table.h"
/*
* bootloader block layout:
* 0 : Im2-part1
* 12K : VERSION TABLE
* 16K : cust figo
* 20K : cust key
* 24K : Im2-part2
*/
#define IMG2_PART1_SIZE 12<<10
#define VT_OFFSET (IMG2_PART1_SIZE)
#define VT_SIZE 4096
#define FIGO_OFFSET ((VT_OFFSET) + (VT_SIZE))
#define FIGO_SIZE 4096
#define KEY_OFFSET ((FIGO_OFFSET) + (FIGO_SIZE))
#define KEY_SIZE 4096
#define IMG2_PART2_OFFSET ((KEY_OFFSET) + (KEY_SIZE))
typedef struct _gen_header_t_ {
unsigned int magic;
unsigned int offset;
unsigned int length;
unsigned int exe_addr;
unsigned int crc;
unsigned int flag;
} gen_header_t;
typedef struct _image2_header_t {
char part1[IMG2_PART1_SIZE];
union{
version_table_t vt;
char vt_pad[VT_SIZE];
};
union{
gen_header_t figo;
char figo_pad[FIGO_SIZE];
};
union{
gen_header_t cust_key;
char cust_key_pad[KEY_SIZE];
};
char part2[];
} image2_header_t;
#endif