blob: 2a144ba8eabf113e5fe12506521783f0044179b0 [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 \
Oliver Swede35d824e2019-10-01 13:50:36 +010018 {{0x65, 0x92, 0x27, 0x03}, {0x2f, 0x74}, {0xe6, 0x44}, 0x8d, 0xff, {0x57, 0x9a, 0xc1, 0xff, 0x06, 0x10} }
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020019#define UUID_FIRMWARE_UPDATE_BL2U \
Oliver Swede35d824e2019-10-01 13:50:36 +010020 {{0x60, 0xb3, 0xeb, 0x37}, {0xc1, 0xe5}, {0xea, 0x41}, 0x9d, 0xf3, {0x19, 0xed, 0xa1, 0x1f, 0x68, 0x01} }
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020021#define UUID_FIRMWARE_UPDATE_NS_BL2U \
Oliver Swede35d824e2019-10-01 13:50:36 +010022 {{0x4f, 0x51, 0x1d, 0x11}, {0x2b, 0xe5}, {0x4e, 0x49}, 0xb4, 0xc5, {0x83, 0xc2, 0xf7, 0x15, 0x84, 0x0a} }
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020023#define UUID_FIRMWARE_UPDATE_FWU_CERT \
Oliver Swede35d824e2019-10-01 13:50:36 +010024 {{0x71, 0x40, 0x8a, 0xb2}, {0x18, 0xd6}, {0x87, 0x4c}, 0x8b, 0x2e, {0xc6, 0xdc, 0xcd, 0x50, 0xf0, 0x96} }
Jimmy Brisson16de8102023-08-18 08:50:30 -050025#define UUID_TRUSTED_KEY_CERT \
26 {{0x82, 0x7e, 0xe8, 0x90}, {0xf8, 0x60}, {0xe4, 0x11}, 0xa1, 0xb4, {0x77, 0x7a, 0x21, 0xb4, 0xf9, 0x4c} }
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020027
28typedef struct fip_toc_header {
29 uint32_t name;
30 uint32_t serial_number;
31 uint64_t flags;
32} fip_toc_header_t;
33
34typedef struct fip_toc_entry {
35 uuid_t uuid;
36 uint64_t offset_address;
37 uint64_t size;
38 uint64_t flags;
39} fip_toc_entry_t;
40
41#endif /* __FIRMWARE_IMAGE_PACKAGE_H__ */