blob: aba5b57f08a3cc8582559c3510319cb49d414fde [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} }
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020025
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__ */