1 /***************************************************************************//**
2 * \file cyip_efuse_data_fx3g2.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_FX3G2_H_
28 #define _CYIP_EFUSE_DATA_FX3G2_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     uint8_t RESERVED2[8];
243     cy_stc_customer_data_t CUSTOMER_DATA[46];
244 } cy_stc_efuse_data_t;
245 
246 
247 #endif /* _CYIP_EFUSE_DATA_FX3G2_H_ */
248 
249 
250 /* [] END OF FILE */
251