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