1 /* 2 * Copyright (c) 2022-2024, 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 21 PLAT_OTP_ID_LCS, 22 23 PLAT_OTP_ID_IAK_LEN, 24 PLAT_OTP_ID_IAK_TYPE, 25 PLAT_OTP_ID_IAK_ID, 26 27 PLAT_OTP_ID_IMPLEMENTATION_ID, 28 PLAT_OTP_ID_VERIFICATION_SERVICE_URL, 29 PLAT_OTP_ID_PROFILE_DEFINITION, 30 31 /* BL2 ROTPK must be contiguous */ 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 PLAT_OTP_ID_BL2_ROTPK_4, 37 PLAT_OTP_ID_BL2_ROTPK_5, 38 PLAT_OTP_ID_BL2_ROTPK_6, 39 PLAT_OTP_ID_BL2_ROTPK_7, 40 PLAT_OTP_ID_BL2_ROTPK_8, 41 42 /* BL2 NV counters must be contiguous */ 43 PLAT_OTP_ID_NV_COUNTER_BL2_0, 44 PLAT_OTP_ID_NV_COUNTER_BL2_1, 45 PLAT_OTP_ID_NV_COUNTER_BL2_2, 46 PLAT_OTP_ID_NV_COUNTER_BL2_3, 47 PLAT_OTP_ID_NV_COUNTER_BL2_4, 48 PLAT_OTP_ID_NV_COUNTER_BL2_5, 49 PLAT_OTP_ID_NV_COUNTER_BL2_6, 50 PLAT_OTP_ID_NV_COUNTER_BL2_7, 51 PLAT_OTP_ID_NV_COUNTER_BL2_8, 52 53 #ifdef PLATFORM_HAS_PS_NV_OTP_COUNTERS 54 PLAT_OTP_ID_NV_COUNTER_PS_0, 55 PLAT_OTP_ID_NV_COUNTER_PS_1, 56 PLAT_OTP_ID_NV_COUNTER_PS_2, 57 #endif /* PLATFORM_HAS_PS_NV_OTP_COUNTERS */ 58 59 PLAT_OTP_ID_NV_COUNTER_NS_0, 60 PLAT_OTP_ID_NV_COUNTER_NS_1, 61 PLAT_OTP_ID_NV_COUNTER_NS_2, 62 63 PLAT_OTP_ID_KEY_BL2_ENCRYPTION, 64 PLAT_OTP_ID_KEY_SECURE_ENCRYPTION, 65 PLAT_OTP_ID_KEY_NON_SECURE_ENCRYPTION, 66 67 PLAT_OTP_ID_BL1_2_IMAGE, 68 PLAT_OTP_ID_BL1_2_IMAGE_LEN, 69 PLAT_OTP_ID_BL1_2_IMAGE_HASH, 70 PLAT_OTP_ID_BL1_ROTPK_0, 71 72 PLAT_OTP_ID_NV_COUNTER_BL1_0, 73 74 PLAT_OTP_ID_SECURE_DEBUG_PK, 75 76 PLAT_OTP_ID_HOST_ROTPK_S, 77 PLAT_OTP_ID_HOST_ROTPK_NS, 78 PLAT_OTP_ID_HOST_ROTPK_CCA, 79 80 PLAT_OTP_ID_CCA_SYSTEM_PROPERTIES, 81 82 PLAT_OTP_ID_REPROVISIONING_BITS, 83 PLAT_OTP_ID_RSE_ID, 84 85 PLAT_OTP_ID_CM_CONFIG_FLAGS, 86 PLAT_OTP_ID_DM_CONFIG_FLAGS, 87 88 PLAT_OTP_ID_DMA_ICS, 89 90 PLAT_OTP_ID_MANUFACTURING_DATA_LEN, 91 PLAT_OTP_ID_MANUFACTURING_DATA, 92 93 PLAT_OTP_ID_ROM_OTP_ENCRYPTION_KEY, 94 PLAT_OTP_ID_RUNTIME_OTP_ENCRYPTION_KEY, 95 96 PLAT_OTP_ID_RSE_TO_RSE_SENDER_ROUTING_TABLE, 97 PLAT_OTP_ID_RSE_TO_RSE_RECEIVER_ROUTING_TABLE, 98 99 PLAT_OTP_ID_MAX, 100 101 _PLAT_OTP_ID_PAD = UINT32_MAX, 102 }; 103 104 #ifdef __cplusplus 105 } 106 #endif 107 108 #endif /* __PLATFORM_OTP_IDS_H__ */ 109