1 /***************************************************************************//** 2 * \file cyip_efuse_data_psoc6_01.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_01_H_ 28 #define _CYIP_EFUSE_DATA_PSOC6_01_H_ 29 30 #include "cyip_headers.h" 31 32 /** 33 * \brief DEAD access restrictions (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 DEAD access restrictions (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 SECURE access restrictions (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 SECURE access restrictions (SECURE_ACCESS_RESTRICT1) 68 */ 69 typedef struct { 70 uint8_t FLASH_ALLOWED[3]; 71 uint8_t SRAM_ALLOWED[3]; 72 uint8_t SMIF_XIP_ALLOWED; 73 uint8_t DIRECT_EXECUTE_DISABLE; 74 } cy_stc_secure_access_restrict1_t; 75 76 /** 77 * \brief NORMAL, SECURE_WITH_DEBUG, and SECURE 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 Customer data (CUSTOMER_DATA) 89 */ 90 typedef struct { 91 uint8_t CUSTOMER_USE[8]; 92 } cy_stc_customer_data_t; 93 94 95 /** 96 * \brief eFUSE memory (EFUSE_DATA) 97 */ 98 typedef struct { 99 uint8_t RESERVED[312]; 100 cy_stc_dead_access_restrict0_t DEAD_ACCESS_RESTRICT0; 101 cy_stc_dead_access_restrict1_t DEAD_ACCESS_RESTRICT1; 102 cy_stc_secure_access_restrict0_t SECURE_ACCESS_RESTRICT0; 103 cy_stc_secure_access_restrict1_t SECURE_ACCESS_RESTRICT1; 104 cy_stc_lifecycle_stage_t LIFECYCLE_STAGE; 105 uint8_t RESERVED1[160]; 106 cy_stc_customer_data_t CUSTOMER_DATA[64]; 107 } cy_stc_efuse_data_t; 108 109 110 #endif /* _CYIP_EFUSE_DATA_PSOC6_01_H_ */ 111 112 113 /* [] END OF FILE */ 114