1 /***************************************************************************//** 2 * \file cyip_efuse_data_v2_tviibe2m.h 3 * 4 * \brief 5 * EFUSE_DATA IP definitions 6 * 7 ******************************************************************************** 8 * \copyright 9 * (c) (2016-2024), Cypress Semiconductor Corporation (an Infineon company) or 10 * an affiliate of Cypress Semiconductor Corporation. 11 * 12 * SPDX-License-Identifier: Apache-2.0 13 * 14 * Licensed under the Apache License, Version 2.0 (the "License"); 15 * you may not use this file except in compliance with the License. 16 * You may obtain a copy of the License at 17 * 18 * http://www.apache.org/licenses/LICENSE-2.0 19 * 20 * Unless required by applicable law or agreed to in writing, software 21 * distributed under the License is distributed on an "AS IS" BASIS, 22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 23 * See the License for the specific language governing permissions and 24 * limitations under the License. 25 *******************************************************************************/ 26 27 #ifndef _CYIP_EFUSE_DATA_V2_TVIIBE2M_H_ 28 #define _CYIP_EFUSE_DATA_V2_TVIIBE2M_H_ 29 30 #include "cyip_headers.h" 31 32 /** 33 * \brief Secure 128 bits HASH word 0 that is used for authentication in SECURE protection state. (SECURE_HASH_WORD0) 34 */ 35 typedef struct { 36 uint8_t HASH_WORD0[32]; 37 } cy_stc_secure_hash_word0_t; 38 39 /** 40 * \brief Secure 128 bits HASH word 1 that is used for authentication in SECURE protection state. (SECURE_HASH_WORD1) 41 */ 42 typedef struct { 43 uint8_t HASH_WORD1[32]; 44 } cy_stc_secure_hash_word1_t; 45 46 /** 47 * \brief Secure 128 bits HASH word 2 that is used for authentication in SECURE protection state. (SECURE_HASH_WORD2) 48 */ 49 typedef struct { 50 uint8_t HASH_WORD2[32]; 51 } cy_stc_secure_hash_word2_t; 52 53 /** 54 * \brief Secure 128 bits HASH word 3 that is used for authentication in SECURE protection state. (SECURE_HASH_WORD3) 55 */ 56 typedef struct { 57 uint8_t HASH_WORD3[32]; 58 } cy_stc_secure_hash_word3_t; 59 60 /** 61 * \brief Access restrictions for SECURE protection state in SECURE lifecycle stage (SECURE_ACCESS_RESTRICT) 62 */ 63 typedef struct { 64 uint8_t AP_CTL_CM0_DISABLE[2]; 65 uint8_t AP_CTL_CMX_DISABLE[2]; 66 uint8_t AP_CTL_SYS_DISABLE[2]; 67 uint8_t SYS_AP_MPU_ENABLE; 68 uint8_t DIRECT_EXECUTE_DISABLE; 69 uint8_t FLASH_ALLOWED[3]; 70 uint8_t SRAM_ALLOWED[3]; 71 uint8_t WORK_FLASH_ALLOWED[2]; 72 uint8_t SFLASH_ALLOWED[2]; 73 uint8_t MMIO_ALLOWED[2]; 74 uint8_t SMIF_XIP_ENABLE; 75 uint8_t RESEREVED[11]; 76 } cy_stc_secure_access_restrict_t; 77 78 /** 79 * \brief Access restrictions for DEAD protection state in SECURE lifecycle stage and number of zeros for Secure fuse group (SECURE_DEAD_ACCESS_RESTRICT_ZEROS) 80 */ 81 typedef struct { 82 uint8_t AP_CTL_CM0_DISABLE[2]; 83 uint8_t AP_CTL_CMX_DISABLE[2]; 84 uint8_t AP_CTL_SYS_DISABLE[2]; 85 uint8_t SYS_AP_MPU_ENABLE; 86 uint8_t DIRECT_EXECUTE_DISABLE; 87 uint8_t FLASH_ALLOWED[3]; 88 uint8_t SRAM_ALLOWED[3]; 89 uint8_t WORK_FLASH_ALLOWED[2]; 90 uint8_t SFLASH_ALLOWED[2]; 91 uint8_t MMIO_ALLOWED[2]; 92 uint8_t SMIF_XIP_ENABLE; 93 uint8_t RESERVED[3]; 94 uint8_t SECURE_GROUP_ZEROS[8]; 95 } cy_stc_secure_dead_access_restrict_zeros_t; 96 97 /** 98 * \brief Available EFUSE bits for customer usage.They can be programmed in NORMAL protection state via CMx/DAP and in SECURE protection state via CMx. (CUSTOMER_DATA) 99 */ 100 typedef struct { 101 uint8_t DATA_BYTE[32]; 102 } cy_stc_customer_data_t; 103 104 105 /** 106 * \brief eFUSE memory (EFUSE_DATA) 107 */ 108 typedef struct { 109 uint8_t RESERVED[352]; 110 cy_stc_secure_hash_word0_t SECURE_HASH_WORD0; 111 cy_stc_secure_hash_word1_t SECURE_HASH_WORD1; 112 cy_stc_secure_hash_word2_t SECURE_HASH_WORD2; 113 cy_stc_secure_hash_word3_t SECURE_HASH_WORD3; 114 cy_stc_secure_access_restrict_t SECURE_ACCESS_RESTRICT; 115 cy_stc_secure_dead_access_restrict_zeros_t SECURE_DEAD_ACCESS_RESTRICT_ZEROS; 116 uint8_t RESERVED1[288]; 117 cy_stc_customer_data_t CUSTOMER_DATA[6]; 118 } cy_stc_efuse_data_t; 119 120 121 #endif /* _CYIP_EFUSE_DATA_V2_TVIIBE2M_H_ */ 122 123 124 /* [] END OF FILE */ 125