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