1 /***************************************************************************//**
2 * \file cyip_efuse_data_v3_cyw20829.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_V3_CYW20829_H_
28 #define _CYIP_EFUSE_DATA_V3_CYW20829_H_
29 
30 #include "cyip_headers.h"
31 
32 /*******************************************************************************
33 *                                  EFUSE_DATA
34 *******************************************************************************/
35 
36 #define EFUSE_DATA_SECTION_SIZE                 0x00000200UL
37 
38 /**
39   * \brief eFUSE memory (EFUSE_DATA)
40   */
41 typedef struct {
42    __IM uint32_t RESERVED;
43   __IOM uint32_t NUM_ZEROS;                     /*!< 0x00000004 Number of zeros for 2 OEM Keys hash */
44   __IOM uint32_t ACCESS_RESTRICT;               /*!< 0x00000008 Access Restrictions for Secure/Normal_No_Secure and Dead */
45    __IM uint32_t RESERVED1[9];
46   __IOM uint32_t WOUNDING;                      /*!< 0x00000030 Wounding (CPUSS_RAM, LIN, CAN_FD), ICV Key Revocation, and
47                                                                 Number of Zeros (1,2,3) */
48   __IOM uint32_t BLE_RADIO_TRIM_0;              /*!< 0x00000034 BLE Radio Trim 0 (32 bits) */
49   __IOM uint32_t BLE_RADIO_TRIM_1;              /*!< 0x00000038 BLE Radio Trim 1 (32 bits) */
50   __IOM uint32_t BLE_RADIO_TRIM_2;              /*!< 0x0000003C BLE Radio Trim 2 (8 bits), BLE, BLE Access, HCI Mode, BLESS Key
51                                                                 Revocation */
52   __IOM uint32_t OEM_KEY_0_HASH[4];             /*!< 0x00000040 OEM Key 0 Hash (16 bytes Hash of OEM Public Key) */
53   __IOM uint32_t OEM_KEY_1_HASH[4];             /*!< 0x00000050 OEM Key 1 Hash (16 bytes Hash of OEM Public Key) */
54   __IOM uint32_t NV_COUNTER;                    /*!< 0x00000060 Anti-rollback (upto 32 updates) */
55   __IOM uint32_t OEM_CONFIG;                    /*!< 0x00000064 OEM Key Revocation and SMIF Configuration */
56    __IM uint32_t RESERVED2[2];
57   __IOM uint32_t DEVICE_ID;                     /*!< 0x00000070 Device ID (16-bit Silicon Id and 12-bit Family Id) */
58   __IOM uint32_t DIE_0;                         /*!< 0x00000074 Die Lot and Die Wafer */
59   __IOM uint32_t DIE_1;                         /*!< 0x00000078 Die X, Die Y, Die Sort, and Die Day */
60   __IOM uint32_t DIE_2;                         /*!< 0x0000007C Die Month, Die Year, and Silicon Revision Id */
61 } EFUSE_DATA_Type;                              /*!< Size = 128 (0x80) */
62 
63 
64 /* EFUSE_DATA.NUM_ZEROS */
65 #define EFUSE_DATA_NUM_ZEROS_KEY_0_HASH_Pos     0UL
66 #define EFUSE_DATA_NUM_ZEROS_KEY_0_HASH_Msk     0xFFUL
67 #define EFUSE_DATA_NUM_ZEROS_KEY_1_HASH_Pos     8UL
68 #define EFUSE_DATA_NUM_ZEROS_KEY_1_HASH_Msk     0xFF00UL
69 #define EFUSE_DATA_NUM_ZEROS_UNUSED_3_Pos       16UL
70 #define EFUSE_DATA_NUM_ZEROS_UNUSED_3_Msk       0xFFFF0000UL
71 /* EFUSE_DATA.ACCESS_RESTRICT */
72 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_AP_CTL_CM33_Pos 0UL
73 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_AP_CTL_CM33_Msk 0x3UL
74 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_AP_CTL_SYS_Pos 2UL
75 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_AP_CTL_SYS_Msk 0xCUL
76 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_AP_CTL_DBG_Pos 4UL
77 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_AP_CTL_DBG_Msk 0x30UL
78 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_AP_CTL_NID_Pos 6UL
79 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_AP_CTL_NID_Msk 0xC0UL
80 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_SYS_AP_MPC_PPC_ENABLE_Pos 8UL
81 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_SYS_AP_MPC_PPC_ENABLE_Msk 0x100UL
82 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_SRAM_Pos 9UL
83 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_SRAM_Msk 0xE00UL
84 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_MMIO_Pos 12UL
85 #define EFUSE_DATA_ACCESS_RESTRICT_S_NS_MMIO_Msk 0x3000UL
86 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_AP_CTL_CM33_Pos 14UL
87 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_AP_CTL_CM33_Msk 0xC000UL
88 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_AP_CTL_SYS_Pos 16UL
89 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_AP_CTL_SYS_Msk 0x30000UL
90 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_AP_CTL_DBG_Pos 18UL
91 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_AP_CTL_DBG_Msk 0xC0000UL
92 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_AP_CTL_NID_Pos 20UL
93 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_AP_CTL_NID_Msk 0x300000UL
94 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_SYS_AP_MPC_PPC_ENABLE_Pos 22UL
95 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_SYS_AP_MPC_PPC_ENABLE_Msk 0x400000UL
96 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_SRAM_Pos 23UL
97 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_SRAM_Msk 0x3800000UL
98 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_MMIO_Pos 26UL
99 #define EFUSE_DATA_ACCESS_RESTRICT_DEAD_MMIO_Msk 0xC000000UL
100 #define EFUSE_DATA_ACCESS_RESTRICT_UNUSED_4_Pos 28UL
101 #define EFUSE_DATA_ACCESS_RESTRICT_UNUSED_4_Msk 0xF0000000UL
102 /* EFUSE_DATA.WOUNDING */
103 #define EFUSE_DATA_WOUNDING_CPUSS_RAM_Pos       0UL
104 #define EFUSE_DATA_WOUNDING_CPUSS_RAM_Msk       0x1UL
105 #define EFUSE_DATA_WOUNDING_LIN_Pos             1UL
106 #define EFUSE_DATA_WOUNDING_LIN_Msk             0x2UL
107 #define EFUSE_DATA_WOUNDING_CAN_FD_Pos          2UL
108 #define EFUSE_DATA_WOUNDING_CAN_FD_Msk          0x4UL
109 #define EFUSE_DATA_WOUNDING_SRAM_REPAIRED_Pos   3UL
110 #define EFUSE_DATA_WOUNDING_SRAM_REPAIRED_Msk   0x8UL
111 #define EFUSE_DATA_WOUNDING_LISTEN_WINDOW_Pos   4UL
112 #define EFUSE_DATA_WOUNDING_LISTEN_WINDOW_Msk   0x30UL
113 #define EFUSE_DATA_WOUNDING_ICV_KEY_REVOCATION_Pos 6UL
114 #define EFUSE_DATA_WOUNDING_ICV_KEY_REVOCATION_Msk 0x40UL
115 #define EFUSE_DATA_WOUNDING_UNUSED_11_Pos       7UL
116 #define EFUSE_DATA_WOUNDING_UNUSED_11_Msk       0xF80UL
117 #define EFUSE_DATA_WOUNDING_NUM_ZEROS_1_Pos     12UL
118 #define EFUSE_DATA_WOUNDING_NUM_ZEROS_1_Msk     0x7F000UL
119 #define EFUSE_DATA_WOUNDING_NUM_ZEROS_2_Pos     19UL
120 #define EFUSE_DATA_WOUNDING_NUM_ZEROS_2_Msk     0x3F80000UL
121 #define EFUSE_DATA_WOUNDING_NUM_ZEROS_3_Pos     26UL
122 #define EFUSE_DATA_WOUNDING_NUM_ZEROS_3_Msk     0xFC000000UL
123 /* EFUSE_DATA.BLE_RADIO_TRIM_0 */
124 #define EFUSE_DATA_BLE_RADIO_TRIM_0_RCAL_Pos    0UL
125 #define EFUSE_DATA_BLE_RADIO_TRIM_0_RCAL_Msk    0xFUL
126 #define EFUSE_DATA_BLE_RADIO_TRIM_0_RCCAL_Pos   4UL
127 #define EFUSE_DATA_BLE_RADIO_TRIM_0_RCCAL_Msk   0xF0UL
128 #define EFUSE_DATA_BLE_RADIO_TRIM_0_TEMP_SENSOR_Pos 8UL
129 #define EFUSE_DATA_BLE_RADIO_TRIM_0_TEMP_SENSOR_Msk 0xFFF00UL
130 #define EFUSE_DATA_BLE_RADIO_TRIM_0_LOIQ_CAL_KAPPA_Pos 20UL
131 #define EFUSE_DATA_BLE_RADIO_TRIM_0_LOIQ_CAL_KAPPA_Msk 0x3F00000UL
132 #define EFUSE_DATA_BLE_RADIO_TRIM_0_LOIQ_CAL_THETA_Pos 26UL
133 #define EFUSE_DATA_BLE_RADIO_TRIM_0_LOIQ_CAL_THETA_Msk 0xFC000000UL
134 /* EFUSE_DATA.BLE_RADIO_TRIM_1 */
135 #define EFUSE_DATA_BLE_RADIO_TRIM_1_LOIQ_CAL_DCI_Pos 0UL
136 #define EFUSE_DATA_BLE_RADIO_TRIM_1_LOIQ_CAL_DCI_Msk 0x7FFUL
137 #define EFUSE_DATA_BLE_RADIO_TRIM_1_LOIQ_CAL_DCQ_Pos 11UL
138 #define EFUSE_DATA_BLE_RADIO_TRIM_1_LOIQ_CAL_DCQ_Msk 0x3FF800UL
139 #define EFUSE_DATA_BLE_RADIO_TRIM_1_OUTPUT_POWER_CAL_0_Pos 22UL
140 #define EFUSE_DATA_BLE_RADIO_TRIM_1_OUTPUT_POWER_CAL_0_Msk 0xFFC00000UL
141 /* EFUSE_DATA.BLE_RADIO_TRIM_2 */
142 #define EFUSE_DATA_BLE_RADIO_TRIM_2_OUTPUT_POWER_CAL_1_Pos 0UL
143 #define EFUSE_DATA_BLE_RADIO_TRIM_2_OUTPUT_POWER_CAL_1_Msk 0xFFUL
144 #define EFUSE_DATA_BLE_RADIO_TRIM_2_BLE_Pos     8UL
145 #define EFUSE_DATA_BLE_RADIO_TRIM_2_BLE_Msk     0x300UL
146 #define EFUSE_DATA_BLE_RADIO_TRIM_2_BLE_ACCESS_Pos 10UL
147 #define EFUSE_DATA_BLE_RADIO_TRIM_2_BLE_ACCESS_Msk 0x400UL
148 #define EFUSE_DATA_BLE_RADIO_TRIM_2_HCI_MODE_Pos 11UL
149 #define EFUSE_DATA_BLE_RADIO_TRIM_2_HCI_MODE_Msk 0x800UL
150 #define EFUSE_DATA_BLE_RADIO_TRIM_2_BLE_KEY_REVOCATION_Pos 12UL
151 #define EFUSE_DATA_BLE_RADIO_TRIM_2_BLE_KEY_REVOCATION_Msk 0x1000UL
152 #define EFUSE_DATA_BLE_RADIO_TRIM_2_OUTPUT_POWER_CAL_2_Pos 13UL
153 #define EFUSE_DATA_BLE_RADIO_TRIM_2_OUTPUT_POWER_CAL_2_Msk 0x6000UL
154 #define EFUSE_DATA_BLE_RADIO_TRIM_2_BLE_TRIM_VALID_Pos 15UL
155 #define EFUSE_DATA_BLE_RADIO_TRIM_2_BLE_TRIM_VALID_Msk 0x8000UL
156 #define EFUSE_DATA_BLE_RADIO_TRIM_2_UNUSED_12_Pos 16UL
157 #define EFUSE_DATA_BLE_RADIO_TRIM_2_UNUSED_12_Msk 0xFFFF0000UL
158 /* EFUSE_DATA.OEM_KEY_0_HASH */
159 #define EFUSE_DATA_OEM_KEY_0_HASH_DATA32_Pos    0UL
160 #define EFUSE_DATA_OEM_KEY_0_HASH_DATA32_Msk    0xFFFFFFFFUL
161 /* EFUSE_DATA.OEM_KEY_1_HASH */
162 #define EFUSE_DATA_OEM_KEY_1_HASH_DATA32_Pos    0UL
163 #define EFUSE_DATA_OEM_KEY_1_HASH_DATA32_Msk    0xFFFFFFFFUL
164 /* EFUSE_DATA.NV_COUNTER */
165 #define EFUSE_DATA_NV_COUNTER_ANTI_ROLLBACK_Pos 0UL
166 #define EFUSE_DATA_NV_COUNTER_ANTI_ROLLBACK_Msk 0xFFFFFFFFUL
167 /* EFUSE_DATA.OEM_CONFIG */
168 #define EFUSE_DATA_OEM_CONFIG_SMIF_CFG_Pos      0UL
169 #define EFUSE_DATA_OEM_CONFIG_SMIF_CFG_Msk      0xFFFUL
170 #define EFUSE_DATA_OEM_CONFIG_OEM_KEY_REVOCATION_Pos 12UL
171 #define EFUSE_DATA_OEM_CONFIG_OEM_KEY_REVOCATION_Msk 0x1000UL
172 #define EFUSE_DATA_OEM_CONFIG_UNUSED_13_Pos     13UL
173 #define EFUSE_DATA_OEM_CONFIG_UNUSED_13_Msk     0xFFFFE000UL
174 /* EFUSE_DATA.DEVICE_ID */
175 #define EFUSE_DATA_DEVICE_ID_SILICON_ID_Pos     0UL
176 #define EFUSE_DATA_DEVICE_ID_SILICON_ID_Msk     0xFFFFUL
177 #define EFUSE_DATA_DEVICE_ID_FAMILY_ID_Pos      16UL
178 #define EFUSE_DATA_DEVICE_ID_FAMILY_ID_Msk      0xFFF0000UL
179 #define EFUSE_DATA_DEVICE_ID_UNUSED_16_Pos      28UL
180 #define EFUSE_DATA_DEVICE_ID_UNUSED_16_Msk      0xF0000000UL
181 /* EFUSE_DATA.DIE_0 */
182 #define EFUSE_DATA_DIE_0_LOT_Pos                0UL
183 #define EFUSE_DATA_DIE_0_LOT_Msk                0xFFFFFFUL
184 #define EFUSE_DATA_DIE_0_WAFER_Pos              24UL
185 #define EFUSE_DATA_DIE_0_WAFER_Msk              0xFF000000UL
186 /* EFUSE_DATA.DIE_1 */
187 #define EFUSE_DATA_DIE_1_X_Pos                  0UL
188 #define EFUSE_DATA_DIE_1_X_Msk                  0xFFUL
189 #define EFUSE_DATA_DIE_1_Y_Pos                  8UL
190 #define EFUSE_DATA_DIE_1_Y_Msk                  0xFF00UL
191 #define EFUSE_DATA_DIE_1_SORT_Pos               16UL
192 #define EFUSE_DATA_DIE_1_SORT_Msk               0xFF0000UL
193 #define EFUSE_DATA_DIE_1_DAY_Pos                24UL
194 #define EFUSE_DATA_DIE_1_DAY_Msk                0xFF000000UL
195 /* EFUSE_DATA.DIE_2 */
196 #define EFUSE_DATA_DIE_2_MONTH_Pos              0UL
197 #define EFUSE_DATA_DIE_2_MONTH_Msk              0xFFUL
198 #define EFUSE_DATA_DIE_2_YEAR_Pos               8UL
199 #define EFUSE_DATA_DIE_2_YEAR_Msk               0xFF00UL
200 #define EFUSE_DATA_DIE_2_REVISION_ID_Pos        16UL
201 #define EFUSE_DATA_DIE_2_REVISION_ID_Msk        0xFF0000UL
202 #define EFUSE_DATA_DIE_2_UNUSED_17_Pos          24UL
203 #define EFUSE_DATA_DIE_2_UNUSED_17_Msk          0xFF000000UL
204 
205 
206 #endif /* _CYIP_EFUSE_DATA_V3_CYW20829_H_ */
207 
208 
209 /* [] END OF FILE */
210