1 /*
2  * Copyright (c) 2022, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef __PLATFORM_OTP_IDS_H__
9 #define __PLATFORM_OTP_IDS_H__
10 
11 #include <stdint.h>
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 enum tfm_otp_element_id_t {
18     PLAT_OTP_ID_HUK = 0,
19     PLAT_OTP_ID_GUK,
20     PLAT_OTP_ID_IAK,
21     PLAT_OTP_ID_IAK_LEN,
22     PLAT_OTP_ID_IAK_TYPE,
23     PLAT_OTP_ID_IAK_ID,
24 
25     PLAT_OTP_ID_BOOT_SEED,
26     PLAT_OTP_ID_LCS,
27     PLAT_OTP_ID_IMPLEMENTATION_ID,
28     PLAT_OTP_ID_CERT_REF,
29     PLAT_OTP_ID_VERIFICATION_SERVICE_URL,
30     PLAT_OTP_ID_PROFILE_DEFINITION,
31 
32     PLAT_OTP_ID_BL2_ROTPK_0,
33     PLAT_OTP_ID_BL2_ROTPK_1,
34     PLAT_OTP_ID_BL2_ROTPK_2,
35     PLAT_OTP_ID_BL2_ROTPK_3,
36 
37     PLAT_OTP_ID_NV_COUNTER_BL2_0,
38     PLAT_OTP_ID_NV_COUNTER_BL2_1,
39     PLAT_OTP_ID_NV_COUNTER_BL2_2,
40     PLAT_OTP_ID_NV_COUNTER_BL2_3,
41 
42     PLAT_OTP_ID_NV_COUNTER_NS_0,
43     PLAT_OTP_ID_NV_COUNTER_NS_1,
44     PLAT_OTP_ID_NV_COUNTER_NS_2,
45 
46     PLAT_OTP_ID_KEY_BL2_ENCRYPTION,
47     PLAT_OTP_ID_BL1_2_IMAGE,
48     PLAT_OTP_ID_BL1_2_IMAGE_HASH,
49     PLAT_OTP_ID_BL2_IMAGE_HASH,
50     PLAT_OTP_ID_BL1_ROTPK_0,
51 
52     PLAT_OTP_ID_NV_COUNTER_BL1_0,
53 
54     PLAT_OTP_ID_ENTROPY_SEED,
55 
56     PLAT_OTP_ID_SECURE_DEBUG_PK,
57 
58     PLAT_OTP_ID_HOST_ROTPK_S,
59     PLAT_OTP_ID_HOST_ROTPK_NS,
60     PLAT_OTP_ID_HOST_ROTPK_CCA,
61 
62     PLAT_OTP_ID_CCA_SYSTEM_PROPERTIES,
63 
64     PLAT_OTP_ID_MAX = UINT32_MAX,
65 };
66 
67 #ifdef __cplusplus
68 }
69 #endif
70 
71 #endif /* __PLATFORM_OTP_IDS_H__ */
72