1 /*
2  *  SPDX-License-Identifier: BSD-3-Clause
3  *  SPDX-FileCopyrightText: Copyright The TrustedFirmware-M Contributors
4  *
5  */
6 
7 #ifndef __PLATFORM_OTP_IDS_H__
8 #define __PLATFORM_OTP_IDS_H__
9 
10 #include <stdint.h>
11 
12 enum tfm_otp_element_id_t {
13     PLAT_OTP_ID_HUK = 0,
14     PLAT_OTP_ID_GUK,
15     PLAT_OTP_ID_IAK,
16     PLAT_OTP_ID_IAK_LEN,
17     PLAT_OTP_ID_IAK_TYPE,
18     PLAT_OTP_ID_IAK_ID,
19 
20     PLAT_OTP_ID_BOOT_SEED,
21     PLAT_OTP_ID_LCS,
22     PLAT_OTP_ID_IMPLEMENTATION_ID,
23     PLAT_OTP_ID_CERT_REF,
24     PLAT_OTP_ID_VERIFICATION_SERVICE_URL,
25     PLAT_OTP_ID_PROFILE_DEFINITION,
26 
27     /* BL2 ROTPK must be contiguous */
28     PLAT_OTP_ID_BL2_ROTPK_0,
29     PLAT_OTP_ID_BL2_ROTPK_1,
30     PLAT_OTP_ID_BL2_ROTPK_2,
31     PLAT_OTP_ID_BL2_ROTPK_3,
32 
33     /* BL2 NV counters must be contiguous */
34     PLAT_OTP_ID_NV_COUNTER_BL2_0,
35     PLAT_OTP_ID_NV_COUNTER_BL2_1,
36     PLAT_OTP_ID_NV_COUNTER_BL2_2,
37     PLAT_OTP_ID_NV_COUNTER_BL2_3,
38 
39     PLAT_OTP_ID_NV_COUNTER_NS_0,
40     PLAT_OTP_ID_NV_COUNTER_NS_1,
41     PLAT_OTP_ID_NV_COUNTER_NS_2,
42 
43     PLAT_OTP_ID_KEY_BL2_ENCRYPTION,
44     PLAT_OTP_ID_BL1_2_IMAGE,
45     PLAT_OTP_ID_BL1_2_IMAGE_HASH,
46     PLAT_OTP_ID_BL2_IMAGE_HASH,
47     PLAT_OTP_ID_BL1_ROTPK_0,
48 
49     PLAT_OTP_ID_NV_COUNTER_BL1_0,
50 
51     PLAT_OTP_ID_ENTROPY_SEED,
52 
53     PLAT_OTP_ID_SECURE_DEBUG_PK,
54 
55     PLAT_OTP_ID_NV_COUNTER_PS_0,
56     PLAT_OTP_ID_NV_COUNTER_PS_1,
57     PLAT_OTP_ID_NV_COUNTER_PS_2,
58 
59     PLAT_OTP_ID_MAX = UINT32_MAX,
60 };
61 
62 #endif /* __PLATFORM_OTP_IDS_H__ */
63