blob: f168f236ec42bb07a3547ecd85f6284c341e8645 [file] [log] [blame]
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02001/*
2 * Copyright (c) 2018, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef __FIRMWARE_IMAGE_PACKAGE_H__
8#define __FIRMWARE_IMAGE_PACKAGE_H__
9
10#include <stdint.h>
11#include <uuid.h>
12
13/* This is used as a signature to validate the blob header */
14#define TOC_HEADER_NAME 0xAA640001
15
16/* ToC Entry UUIDs */
17#define UUID_FIRMWARE_UPDATE_SCP_BL2U \
18 {0x03279265, 0x742f, 0x44e6, 0x8d, 0xff, {0x57, 0x9a, 0xc1, 0xff, 0x06, 0x10} }
19#define UUID_FIRMWARE_UPDATE_BL2U \
20 {0x37ebb360, 0xe5c1, 0x41ea, 0x9d, 0xf3, {0x19, 0xed, 0xa1, 0x1f, 0x68, 0x01} }
21#define UUID_FIRMWARE_UPDATE_NS_BL2U \
22 {0x111d514f, 0xe52b, 0x494e, 0xb4, 0xc5, {0x83, 0xc2, 0xf7, 0x15, 0x84, 0x0a} }
23#define UUID_FIRMWARE_UPDATE_FWU_CERT \
24 {0xb28a4071, 0xd618, 0x4c87, 0x8b, 0x2e, {0xc6, 0xdc, 0xcd, 0x50, 0xf0, 0x96} }
25
26typedef struct fip_toc_header {
27 uint32_t name;
28 uint32_t serial_number;
29 uint64_t flags;
30} fip_toc_header_t;
31
32typedef struct fip_toc_entry {
33 uuid_t uuid;
34 uint64_t offset_address;
35 uint64_t size;
36 uint64_t flags;
37} fip_toc_entry_t;
38
39#endif /* __FIRMWARE_IMAGE_PACKAGE_H__ */