blob: 4d29a6d006ebc21ace5cf5307cf5047a7c7f6073 [file] [log] [blame]
Gilad Ben-Yossef033327a2019-05-15 09:24:04 +03001/*
2 * Copyright (c) 2017-2020 ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef _CC_BOOT_DEFS_H
8#define _CC_BOOT_DEFS_H
9
10/*!
11 @file
12 @brief This file contains general definitions of types and enums of Boot APIs.
13 */
14
15#ifdef __cplusplus
16extern "C"
17{
18#endif
19
20/*! Version counters value. */
21typedef enum {
22
23 CC_SW_VERSION_TRUSTED = 0, /*!< Trusted counter. */
24 CC_SW_VERSION_NON_TRUSTED, /*!< Non trusted counter. */
25 CC_SW_VERSION_MAX = 0x7FFFFFFF /*!< Reserved */
26} CCSbSwVersionId_t;
27
28/*! The hash boot key definition. */
29typedef enum {
30 CC_SB_HASH_BOOT_KEY_0_128B = 0, /*!< Hbk0: 128-bit truncated SHA-256 digest of PubKB0. Used by ICV */
31 CC_SB_HASH_BOOT_KEY_1_128B = 1, /*!< Hbk1: 128-bit truncated SHA-256 digest of PubKB1. Used by OEM */
32 CC_SB_HASH_BOOT_KEY_256B = 2, /*!< Hbk: 256-bit SHA-256 digest of public key. */
33 CC_SB_HASH_BOOT_NOT_USED = 0xF, /*!< Hbk is not used. */
34 CC_SB_HASH_MAX_NUM = 0x7FFFFFFF, /*!< Reserved. */
35} CCSbPubKeyIndexType_t;
36
37/*! Chip state. */
38typedef enum {
39 CHIP_STATE_NOT_INITIALIZED = 0, /*! Chip is not initialized. */
40 CHIP_STATE_TEST = 1, /*! Chip is in Production state. */
41 CHIP_STATE_PRODUCTION = 2, /*! Chip is in Production state. */
42 CHIP_STATE_ERROR = 3, /*! Chip is in Error state. */
43} CCBsvChipState_t;
44#ifdef __cplusplus
45}
46#endif
47
48#endif /*_CC_BOOT_DEFS_H */
49
50/**
51@}
52 */