1 /***************************************************************************//** 2 * \file cyip_efuse_data_psoc6_03.h 3 * 4 * \brief 5 * EFUSE_DATA IP definitions 6 * 7 ******************************************************************************** 8 * \copyright 9 * (c) (2016-2023), 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_PSOC6_03_H_ 28 #define _CYIP_EFUSE_DATA_PSOC6_03_H_ 29 30 #include "cyip_headers.h" 31 32 /** 33 * \brief Access restrictions for DEAD life cycle stage (DEAD_ACCESS_RESTRICT0) 34 */ 35 typedef struct { 36 uint8_t CM0_DISABLE; 37 uint8_t CM4_DISABLE; 38 uint8_t SYS_DISABLE; 39 uint8_t SYS_AP_MPU_ENABLE; 40 uint8_t SFLASH_ALLOWED[2]; 41 uint8_t MMIO_ALLOWED[2]; 42 } cy_stc_dead_access_restrict0_t; 43 44 /** 45 * \brief Access restrictions for DEAD life cycle stage (DEAD_ACCESS_RESTRICT1) 46 */ 47 typedef struct { 48 uint8_t FLASH_ALLOWED[3]; 49 uint8_t SRAM_ALLOWED[3]; 50 uint8_t UNUSED; 51 uint8_t DIRECT_EXECUTE_DISABLE; 52 } cy_stc_dead_access_restrict1_t; 53 54 /** 55 * \brief Access restrictions for SECURE life cycle stage (SECURE_ACCESS_RESTRICT0) 56 */ 57 typedef struct { 58 uint8_t CM0_DISABLE; 59 uint8_t CM4_DISABLE; 60 uint8_t SYS_DISABLE; 61 uint8_t SYS_AP_MPU_ENABLE; 62 uint8_t SFLASH_ALLOWED[2]; 63 uint8_t MMIO_ALLOWED[2]; 64 } cy_stc_secure_access_restrict0_t; 65 66 /** 67 * \brief Access restrictions for SECURE life cycle stage (SECURE_ACCESS_RESTRICT1) 68 */ 69 typedef struct { 70 uint8_t FLASH_ALLOWED[3]; 71 uint8_t SRAM_ALLOWED[3]; 72 uint8_t UNUSED; 73 uint8_t DIRECT_EXECUTE_DISABLE; 74 } cy_stc_secure_access_restrict1_t; 75 76 /** 77 * \brief NORMAL, SECURE_WITH_DEBUG, SECURE, and RMA fuse bits (LIFECYCLE_STAGE) 78 */ 79 typedef struct { 80 uint8_t NORMAL; 81 uint8_t SECURE_WITH_DEBUG; 82 uint8_t SECURE; 83 uint8_t RMA; 84 uint8_t RESERVED[4]; 85 } cy_stc_lifecycle_stage_t; 86 87 /** 88 * \brief Cypress asset hash byte 0 (CY_ASSET_HASH0) 89 */ 90 typedef struct { 91 uint8_t HASH_BYTE[8]; 92 } cy_stc_cy_asset_hash0_t; 93 94 /** 95 * \brief Cypress asset hash byte 1 (CY_ASSET_HASH1) 96 */ 97 typedef struct { 98 uint8_t HASH_BYTE[8]; 99 } cy_stc_cy_asset_hash1_t; 100 101 /** 102 * \brief Cypress asset hash byte 2 (CY_ASSET_HASH2) 103 */ 104 typedef struct { 105 uint8_t HASH_BYTE[8]; 106 } cy_stc_cy_asset_hash2_t; 107 108 /** 109 * \brief Cypress asset hash byte 3 (CY_ASSET_HASH3) 110 */ 111 typedef struct { 112 uint8_t HASH_BYTE[8]; 113 } cy_stc_cy_asset_hash3_t; 114 115 /** 116 * \brief Cypress asset hash byte 4 (CY_ASSET_HASH4) 117 */ 118 typedef struct { 119 uint8_t HASH_BYTE[8]; 120 } cy_stc_cy_asset_hash4_t; 121 122 /** 123 * \brief Cypress asset hash byte 5 (CY_ASSET_HASH5) 124 */ 125 typedef struct { 126 uint8_t HASH_BYTE[8]; 127 } cy_stc_cy_asset_hash5_t; 128 129 /** 130 * \brief Cypress asset hash byte 6 (CY_ASSET_HASH6) 131 */ 132 typedef struct { 133 uint8_t CY_ASSET_HASH[8]; 134 } cy_stc_cy_asset_hash6_t; 135 136 /** 137 * \brief Cypress asset hash byte 7 (CY_ASSET_HASH7) 138 */ 139 typedef struct { 140 uint8_t HASH_BYTE[8]; 141 } cy_stc_cy_asset_hash7_t; 142 143 /** 144 * \brief Cypress asset hash byte 8 (CY_ASSET_HASH8) 145 */ 146 typedef struct { 147 uint8_t HASH_BYTE[8]; 148 } cy_stc_cy_asset_hash8_t; 149 150 /** 151 * \brief Cypress asset hash byte 9 (CY_ASSET_HASH9) 152 */ 153 typedef struct { 154 uint8_t HASH_BYTE[8]; 155 } cy_stc_cy_asset_hash9_t; 156 157 /** 158 * \brief Cypress asset hash byte 10 (CY_ASSET_HASH10) 159 */ 160 typedef struct { 161 uint8_t HASH_BYTE[8]; 162 } cy_stc_cy_asset_hash10_t; 163 164 /** 165 * \brief Cypress asset hash byte 11 (CY_ASSET_HASH11) 166 */ 167 typedef struct { 168 uint8_t CY_ASSET_HASH[8]; 169 } cy_stc_cy_asset_hash11_t; 170 171 /** 172 * \brief Cypress asset hash byte 12 (CY_ASSET_HASH12) 173 */ 174 typedef struct { 175 uint8_t HASH_BYTE[8]; 176 } cy_stc_cy_asset_hash12_t; 177 178 /** 179 * \brief Cypress asset hash byte 13 (CY_ASSET_HASH13) 180 */ 181 typedef struct { 182 uint8_t CY_ASSET_HASH[8]; 183 } cy_stc_cy_asset_hash13_t; 184 185 /** 186 * \brief Cypress asset hash byte 14 (CY_ASSET_HASH14) 187 */ 188 typedef struct { 189 uint8_t HASH_BYTE[8]; 190 } cy_stc_cy_asset_hash14_t; 191 192 /** 193 * \brief Cypress asset hash byte 15 (CY_ASSET_HASH15) 194 */ 195 typedef struct { 196 uint8_t HASH_BYTE[8]; 197 } cy_stc_cy_asset_hash15_t; 198 199 /** 200 * \brief Number of zeros in Cypress asset hash (CY_ASSET_HASH_ZEROS) 201 */ 202 typedef struct { 203 uint8_t HASH_BYTE[8]; 204 } cy_stc_cy_asset_hash_zeros_t; 205 206 /** 207 * \brief Customer data (CUSTOMER_DATA) 208 */ 209 typedef struct { 210 uint8_t CUSTOMER_USE[8]; 211 } cy_stc_customer_data_t; 212 213 214 /** 215 * \brief eFUSE memory (EFUSE_DATA) 216 */ 217 typedef struct { 218 uint8_t RESERVED[312]; 219 cy_stc_dead_access_restrict0_t DEAD_ACCESS_RESTRICT0; 220 cy_stc_dead_access_restrict1_t DEAD_ACCESS_RESTRICT1; 221 cy_stc_secure_access_restrict0_t SECURE_ACCESS_RESTRICT0; 222 cy_stc_secure_access_restrict1_t SECURE_ACCESS_RESTRICT1; 223 cy_stc_lifecycle_stage_t LIFECYCLE_STAGE; 224 uint8_t RESERVED1[160]; 225 cy_stc_cy_asset_hash0_t CY_ASSET_HASH0; 226 cy_stc_cy_asset_hash1_t CY_ASSET_HASH1; 227 cy_stc_cy_asset_hash2_t CY_ASSET_HASH2; 228 cy_stc_cy_asset_hash3_t CY_ASSET_HASH3; 229 cy_stc_cy_asset_hash4_t CY_ASSET_HASH4; 230 cy_stc_cy_asset_hash5_t CY_ASSET_HASH5; 231 cy_stc_cy_asset_hash6_t CY_ASSET_HASH6; 232 cy_stc_cy_asset_hash7_t CY_ASSET_HASH7; 233 cy_stc_cy_asset_hash8_t CY_ASSET_HASH8; 234 cy_stc_cy_asset_hash9_t CY_ASSET_HASH9; 235 cy_stc_cy_asset_hash10_t CY_ASSET_HASH10; 236 cy_stc_cy_asset_hash11_t CY_ASSET_HASH11; 237 cy_stc_cy_asset_hash12_t CY_ASSET_HASH12; 238 cy_stc_cy_asset_hash13_t CY_ASSET_HASH13; 239 cy_stc_cy_asset_hash14_t CY_ASSET_HASH14; 240 cy_stc_cy_asset_hash15_t CY_ASSET_HASH15; 241 cy_stc_cy_asset_hash_zeros_t CY_ASSET_HASH_ZEROS; 242 cy_stc_customer_data_t CUSTOMER_DATA[47]; 243 } cy_stc_efuse_data_t; 244 245 246 #endif /* _CYIP_EFUSE_DATA_PSOC6_03_H_ */ 247 248 249 /* [] END OF FILE */ 250