mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-08 05:43:53 +00:00

Update the links for accessing the FWU Multi Bank update specification to point to the latest revision of the specification. Change-Id: I25f35556a94ca81ca0a7463aebfcbc2d84595e8f Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
74 lines
1.6 KiB
C
74 lines
1.6 KiB
C
/*
|
||
* Copyright (c) 2021, Arm Limited. All rights reserved.
|
||
*
|
||
* SPDX-License-Identifier: BSD-3-Clause
|
||
*
|
||
* FWU metadata information as per the specification section 4.1:
|
||
* https://developer.arm.com/documentation/den0118/latest/
|
||
*
|
||
*/
|
||
|
||
#ifndef FWU_METADATA_H
|
||
#define FWU_METADATA_H
|
||
|
||
#include <stdint.h>
|
||
#include <tools_share/uuid.h>
|
||
|
||
/* Properties of image in a bank */
|
||
struct fwu_image_properties {
|
||
|
||
/* UUID of the image in this bank */
|
||
uuid_t img_uuid;
|
||
|
||
/* [0]: bit describing the image acceptance status –
|
||
* 1 means the image is accepted
|
||
* [31:1]: MBZ
|
||
*/
|
||
uint32_t accepted;
|
||
|
||
/* reserved (MBZ) */
|
||
uint32_t reserved;
|
||
|
||
} __packed;
|
||
|
||
/* Image entry information */
|
||
struct fwu_image_entry {
|
||
|
||
/* UUID identifying the image type */
|
||
uuid_t img_type_uuid;
|
||
|
||
/* UUID of the storage volume where the image is located */
|
||
uuid_t location_uuid;
|
||
|
||
/* Properties of images with img_type_uuid in the different FW banks */
|
||
struct fwu_image_properties img_props[NR_OF_FW_BANKS];
|
||
|
||
} __packed;
|
||
|
||
/*
|
||
* FWU metadata filled by the updater and consumed by TF-A for
|
||
* various purposes as below:
|
||
* 1. Get active FW bank.
|
||
* 2. Rollback to previous working FW bank.
|
||
* 3. Get properties of all images present in all banks.
|
||
*/
|
||
struct fwu_metadata {
|
||
|
||
/* Metadata CRC value */
|
||
uint32_t crc_32;
|
||
|
||
/* Metadata version */
|
||
uint32_t version;
|
||
|
||
/* Bank index with which device boots */
|
||
uint32_t active_index;
|
||
|
||
/* Previous bank index with which device booted successfully */
|
||
uint32_t previous_active_index;
|
||
|
||
/* Image entry information */
|
||
struct fwu_image_entry img_entry[NR_OF_IMAGES_IN_FW_BANK];
|
||
|
||
} __packed;
|
||
|
||
#endif /* FWU_METADATA_H */
|