1 /* 2 * SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #include "sdkconfig.h" 8 #include "esp_efuse.h" 9 #include <assert.h> 10 #include "esp_efuse_table.h" 11 12 // md5_digest_table 439495cbc35dc68d7566e05ac3dbb248 13 // This file was generated from the file esp_efuse_table.csv. DO NOT CHANGE THIS FILE MANUALLY. 14 // If you want to change some fields, you need to change esp_efuse_table.csv file 15 // then run `efuse_common_table` or `efuse_custom_table` command it will generate this file. 16 // To show efuse_table run the command 'show_efuse_table'. 17 18 static const esp_efuse_desc_t WR_DIS[] = { 19 {EFUSE_BLK0, 0, 8}, // [] Disable programming of individual eFuses, 20 }; 21 22 static const esp_efuse_desc_t WR_DIS_RD_DIS[] = { 23 {EFUSE_BLK0, 0, 1}, // [] wr_dis of RD_DIS, 24 }; 25 26 static const esp_efuse_desc_t WR_DIS_WDT_DELAY_SEL[] = { 27 {EFUSE_BLK0, 1, 1}, // [] wr_dis of WDT_DELAY_SEL, 28 }; 29 30 static const esp_efuse_desc_t WR_DIS_DIS_PAD_JTAG[] = { 31 {EFUSE_BLK0, 1, 1}, // [] wr_dis of DIS_PAD_JTAG, 32 }; 33 34 static const esp_efuse_desc_t WR_DIS_DIS_DOWNLOAD_ICACHE[] = { 35 {EFUSE_BLK0, 1, 1}, // [] wr_dis of DIS_DOWNLOAD_ICACHE, 36 }; 37 38 static const esp_efuse_desc_t WR_DIS_DIS_DOWNLOAD_MANUAL_ENCRYPT[] = { 39 {EFUSE_BLK0, 2, 1}, // [] wr_dis of DIS_DOWNLOAD_MANUAL_ENCRYPT, 40 }; 41 42 static const esp_efuse_desc_t WR_DIS_SPI_BOOT_CRYPT_CNT[] = { 43 {EFUSE_BLK0, 2, 1}, // [] wr_dis of SPI_BOOT_CRYPT_CNT, 44 }; 45 46 static const esp_efuse_desc_t WR_DIS_XTS_KEY_LENGTH_256[] = { 47 {EFUSE_BLK0, 2, 1}, // [] wr_dis of XTS_KEY_LENGTH_256, 48 }; 49 50 static const esp_efuse_desc_t WR_DIS_SECURE_BOOT_EN[] = { 51 {EFUSE_BLK0, 2, 1}, // [] wr_dis of SECURE_BOOT_EN, 52 }; 53 54 static const esp_efuse_desc_t WR_DIS_UART_PRINT_CONTROL[] = { 55 {EFUSE_BLK0, 3, 1}, // [] wr_dis of UART_PRINT_CONTROL, 56 }; 57 58 static const esp_efuse_desc_t WR_DIS_FORCE_SEND_RESUME[] = { 59 {EFUSE_BLK0, 3, 1}, // [] wr_dis of FORCE_SEND_RESUME, 60 }; 61 62 static const esp_efuse_desc_t WR_DIS_DIS_DOWNLOAD_MODE[] = { 63 {EFUSE_BLK0, 3, 1}, // [] wr_dis of DIS_DOWNLOAD_MODE, 64 }; 65 66 static const esp_efuse_desc_t WR_DIS_DIS_DIRECT_BOOT[] = { 67 {EFUSE_BLK0, 3, 1}, // [] wr_dis of DIS_DIRECT_BOOT, 68 }; 69 70 static const esp_efuse_desc_t WR_DIS_ENABLE_SECURITY_DOWNLOAD[] = { 71 {EFUSE_BLK0, 3, 1}, // [] wr_dis of ENABLE_SECURITY_DOWNLOAD, 72 }; 73 74 static const esp_efuse_desc_t WR_DIS_FLASH_TPUW[] = { 75 {EFUSE_BLK0, 3, 1}, // [] wr_dis of FLASH_TPUW, 76 }; 77 78 static const esp_efuse_desc_t WR_DIS_SECURE_VERSION[] = { 79 {EFUSE_BLK0, 4, 1}, // [] wr_dis of SECURE_VERSION, 80 }; 81 82 static const esp_efuse_desc_t WR_DIS_CUSTOM_MAC_USED[] = { 83 {EFUSE_BLK0, 4, 1}, // [WR_DIS.ENABLE_CUSTOM_MAC] wr_dis of CUSTOM_MAC_USED, 84 }; 85 86 static const esp_efuse_desc_t WR_DIS_DISABLE_WAFER_VERSION_MAJOR[] = { 87 {EFUSE_BLK0, 4, 1}, // [] wr_dis of DISABLE_WAFER_VERSION_MAJOR, 88 }; 89 90 static const esp_efuse_desc_t WR_DIS_DISABLE_BLK_VERSION_MAJOR[] = { 91 {EFUSE_BLK0, 4, 1}, // [] wr_dis of DISABLE_BLK_VERSION_MAJOR, 92 }; 93 94 static const esp_efuse_desc_t WR_DIS_CUSTOM_MAC[] = { 95 {EFUSE_BLK0, 5, 1}, // [WR_DIS.MAC_CUSTOM WR_DIS.USER_DATA_MAC_CUSTOM] wr_dis of CUSTOM_MAC, 96 }; 97 98 static const esp_efuse_desc_t WR_DIS_MAC[] = { 99 {EFUSE_BLK0, 6, 1}, // [WR_DIS.MAC_FACTORY] wr_dis of MAC, 100 }; 101 102 static const esp_efuse_desc_t WR_DIS_WAFER_VERSION_MINOR[] = { 103 {EFUSE_BLK0, 6, 1}, // [] wr_dis of WAFER_VERSION_MINOR, 104 }; 105 106 static const esp_efuse_desc_t WR_DIS_WAFER_VERSION_MAJOR[] = { 107 {EFUSE_BLK0, 6, 1}, // [] wr_dis of WAFER_VERSION_MAJOR, 108 }; 109 110 static const esp_efuse_desc_t WR_DIS_PKG_VERSION[] = { 111 {EFUSE_BLK0, 6, 1}, // [] wr_dis of PKG_VERSION, 112 }; 113 114 static const esp_efuse_desc_t WR_DIS_BLK_VERSION_MINOR[] = { 115 {EFUSE_BLK0, 6, 1}, // [] wr_dis of BLK_VERSION_MINOR, 116 }; 117 118 static const esp_efuse_desc_t WR_DIS_BLK_VERSION_MAJOR[] = { 119 {EFUSE_BLK0, 6, 1}, // [] wr_dis of BLK_VERSION_MAJOR, 120 }; 121 122 static const esp_efuse_desc_t WR_DIS_OCODE[] = { 123 {EFUSE_BLK0, 6, 1}, // [] wr_dis of OCODE, 124 }; 125 126 static const esp_efuse_desc_t WR_DIS_TEMP_CALIB[] = { 127 {EFUSE_BLK0, 6, 1}, // [] wr_dis of TEMP_CALIB, 128 }; 129 130 static const esp_efuse_desc_t WR_DIS_ADC1_INIT_CODE_ATTEN0[] = { 131 {EFUSE_BLK0, 6, 1}, // [] wr_dis of ADC1_INIT_CODE_ATTEN0, 132 }; 133 134 static const esp_efuse_desc_t WR_DIS_ADC1_INIT_CODE_ATTEN3[] = { 135 {EFUSE_BLK0, 6, 1}, // [] wr_dis of ADC1_INIT_CODE_ATTEN3, 136 }; 137 138 static const esp_efuse_desc_t WR_DIS_ADC1_CAL_VOL_ATTEN0[] = { 139 {EFUSE_BLK0, 6, 1}, // [] wr_dis of ADC1_CAL_VOL_ATTEN0, 140 }; 141 142 static const esp_efuse_desc_t WR_DIS_ADC1_CAL_VOL_ATTEN3[] = { 143 {EFUSE_BLK0, 6, 1}, // [] wr_dis of ADC1_CAL_VOL_ATTEN3, 144 }; 145 146 static const esp_efuse_desc_t WR_DIS_DIG_DBIAS_HVT[] = { 147 {EFUSE_BLK0, 6, 1}, // [] wr_dis of DIG_DBIAS_HVT, 148 }; 149 150 static const esp_efuse_desc_t WR_DIS_DIG_LDO_SLP_DBIAS2[] = { 151 {EFUSE_BLK0, 6, 1}, // [] wr_dis of DIG_LDO_SLP_DBIAS2, 152 }; 153 154 static const esp_efuse_desc_t WR_DIS_DIG_LDO_SLP_DBIAS26[] = { 155 {EFUSE_BLK0, 6, 1}, // [] wr_dis of DIG_LDO_SLP_DBIAS26, 156 }; 157 158 static const esp_efuse_desc_t WR_DIS_DIG_LDO_ACT_DBIAS26[] = { 159 {EFUSE_BLK0, 6, 1}, // [] wr_dis of DIG_LDO_ACT_DBIAS26, 160 }; 161 162 static const esp_efuse_desc_t WR_DIS_DIG_LDO_ACT_STEPD10[] = { 163 {EFUSE_BLK0, 6, 1}, // [] wr_dis of DIG_LDO_ACT_STEPD10, 164 }; 165 166 static const esp_efuse_desc_t WR_DIS_RTC_LDO_SLP_DBIAS13[] = { 167 {EFUSE_BLK0, 6, 1}, // [] wr_dis of RTC_LDO_SLP_DBIAS13, 168 }; 169 170 static const esp_efuse_desc_t WR_DIS_RTC_LDO_SLP_DBIAS29[] = { 171 {EFUSE_BLK0, 6, 1}, // [] wr_dis of RTC_LDO_SLP_DBIAS29, 172 }; 173 174 static const esp_efuse_desc_t WR_DIS_RTC_LDO_SLP_DBIAS31[] = { 175 {EFUSE_BLK0, 6, 1}, // [] wr_dis of RTC_LDO_SLP_DBIAS31, 176 }; 177 178 static const esp_efuse_desc_t WR_DIS_RTC_LDO_ACT_DBIAS31[] = { 179 {EFUSE_BLK0, 6, 1}, // [] wr_dis of RTC_LDO_ACT_DBIAS31, 180 }; 181 182 static const esp_efuse_desc_t WR_DIS_RTC_LDO_ACT_DBIAS13[] = { 183 {EFUSE_BLK0, 6, 1}, // [] wr_dis of RTC_LDO_ACT_DBIAS13, 184 }; 185 186 static const esp_efuse_desc_t WR_DIS_ADC_CALIBRATION_3[] = { 187 {EFUSE_BLK0, 6, 1}, // [] wr_dis of ADC_CALIBRATION_3, 188 }; 189 190 static const esp_efuse_desc_t WR_DIS_BLOCK_KEY0[] = { 191 {EFUSE_BLK0, 7, 1}, // [WR_DIS.KEY0] wr_dis of BLOCK_KEY0, 192 }; 193 194 static const esp_efuse_desc_t RD_DIS[] = { 195 {EFUSE_BLK0, 32, 2}, // [] Disable reading from BlOCK3, 196 }; 197 198 static const esp_efuse_desc_t RD_DIS_KEY0[] = { 199 {EFUSE_BLK0, 32, 2}, // [] Read protection for EFUSE_BLK3. KEY0, 200 }; 201 202 static const esp_efuse_desc_t RD_DIS_KEY0_LOW[] = { 203 {EFUSE_BLK0, 32, 1}, // [] Read protection for EFUSE_BLK3. KEY0 lower 128-bit key, 204 }; 205 206 static const esp_efuse_desc_t RD_DIS_KEY0_HI[] = { 207 {EFUSE_BLK0, 33, 1}, // [] Read protection for EFUSE_BLK3. KEY0 higher 128-bit key, 208 }; 209 210 static const esp_efuse_desc_t WDT_DELAY_SEL[] = { 211 {EFUSE_BLK0, 34, 2}, // [] RTC watchdog timeout threshold; in unit of slow clock cycle {0: "40000"; 1: "80000"; 2: "160000"; 3: "320000"}, 212 }; 213 214 static const esp_efuse_desc_t DIS_PAD_JTAG[] = { 215 {EFUSE_BLK0, 36, 1}, // [] Set this bit to disable pad jtag, 216 }; 217 218 static const esp_efuse_desc_t DIS_DOWNLOAD_ICACHE[] = { 219 {EFUSE_BLK0, 37, 1}, // [] The bit be set to disable icache in download mode, 220 }; 221 222 static const esp_efuse_desc_t DIS_DOWNLOAD_MANUAL_ENCRYPT[] = { 223 {EFUSE_BLK0, 38, 1}, // [] The bit be set to disable manual encryption, 224 }; 225 226 static const esp_efuse_desc_t SPI_BOOT_CRYPT_CNT[] = { 227 {EFUSE_BLK0, 39, 3}, // [] Enables flash encryption when 1 or 3 bits are set and disables otherwise {0: "Disable"; 1: "Enable"; 3: "Disable"; 7: "Enable"}, 228 }; 229 230 static const esp_efuse_desc_t XTS_KEY_LENGTH_256[] = { 231 {EFUSE_BLK0, 42, 1}, // [] Flash encryption key length {0: "128 bits key"; 1: "256 bits key"}, 232 }; 233 234 static const esp_efuse_desc_t UART_PRINT_CONTROL[] = { 235 {EFUSE_BLK0, 43, 2}, // [] Set the default UARTboot message output mode {0: "Enable"; 1: "Enable when GPIO8 is low at reset"; 2: "Enable when GPIO8 is high at reset"; 3: "Disable"}, 236 }; 237 238 static const esp_efuse_desc_t FORCE_SEND_RESUME[] = { 239 {EFUSE_BLK0, 45, 1}, // [] Set this bit to force ROM code to send a resume command during SPI boot, 240 }; 241 242 static const esp_efuse_desc_t DIS_DOWNLOAD_MODE[] = { 243 {EFUSE_BLK0, 46, 1}, // [] Set this bit to disable download mode (boot_mode[3:0] = 0; 1; 2; 4; 5; 6; 7), 244 }; 245 246 static const esp_efuse_desc_t DIS_DIRECT_BOOT[] = { 247 {EFUSE_BLK0, 47, 1}, // [] This bit set means disable direct_boot mode, 248 }; 249 250 static const esp_efuse_desc_t ENABLE_SECURITY_DOWNLOAD[] = { 251 {EFUSE_BLK0, 48, 1}, // [] Set this bit to enable secure UART download mode, 252 }; 253 254 static const esp_efuse_desc_t FLASH_TPUW[] = { 255 {EFUSE_BLK0, 49, 4}, // [] Configures flash waiting time after power-up; in unit of ms. If the value is less than 15; the waiting time is the configurable value. Otherwise; the waiting time is twice the configurable value, 256 }; 257 258 static const esp_efuse_desc_t SECURE_BOOT_EN[] = { 259 {EFUSE_BLK0, 53, 1}, // [] The bit be set to enable secure boot, 260 }; 261 262 static const esp_efuse_desc_t SECURE_VERSION[] = { 263 {EFUSE_BLK0, 54, 4}, // [] Secure version for anti-rollback, 264 }; 265 266 static const esp_efuse_desc_t CUSTOM_MAC_USED[] = { 267 {EFUSE_BLK0, 58, 1}, // [ENABLE_CUSTOM_MAC] True if MAC_CUSTOM is burned, 268 }; 269 270 static const esp_efuse_desc_t DISABLE_WAFER_VERSION_MAJOR[] = { 271 {EFUSE_BLK0, 59, 1}, // [] Disables check of wafer version major, 272 }; 273 274 static const esp_efuse_desc_t DISABLE_BLK_VERSION_MAJOR[] = { 275 {EFUSE_BLK0, 60, 1}, // [] Disables check of blk version major, 276 }; 277 278 static const esp_efuse_desc_t USER_DATA[] = { 279 {EFUSE_BLK1, 0, 88}, // [] User data block, 280 }; 281 282 static const esp_efuse_desc_t USER_DATA_MAC_CUSTOM[] = { 283 {EFUSE_BLK1, 0, 48}, // [MAC_CUSTOM CUSTOM_MAC] Custom MAC address, 284 }; 285 286 static const esp_efuse_desc_t MAC[] = { 287 {EFUSE_BLK2, 40, 8}, // [MAC_FACTORY] MAC address, 288 {EFUSE_BLK2, 32, 8}, // [MAC_FACTORY] MAC address, 289 {EFUSE_BLK2, 24, 8}, // [MAC_FACTORY] MAC address, 290 {EFUSE_BLK2, 16, 8}, // [MAC_FACTORY] MAC address, 291 {EFUSE_BLK2, 8, 8}, // [MAC_FACTORY] MAC address, 292 {EFUSE_BLK2, 0, 8}, // [MAC_FACTORY] MAC address, 293 }; 294 295 static const esp_efuse_desc_t WAFER_VERSION_MINOR[] = { 296 {EFUSE_BLK2, 48, 4}, // [] WAFER_VERSION_MINOR, 297 }; 298 299 static const esp_efuse_desc_t WAFER_VERSION_MAJOR[] = { 300 {EFUSE_BLK2, 52, 2}, // [] WAFER_VERSION_MAJOR, 301 }; 302 303 static const esp_efuse_desc_t PKG_VERSION[] = { 304 {EFUSE_BLK2, 54, 3}, // [] EFUSE_PKG_VERSION, 305 }; 306 307 static const esp_efuse_desc_t BLK_VERSION_MINOR[] = { 308 {EFUSE_BLK2, 57, 3}, // [] Minor version of BLOCK2 {0: "No calib"; 1: "With calib"}, 309 }; 310 311 static const esp_efuse_desc_t BLK_VERSION_MAJOR[] = { 312 {EFUSE_BLK2, 60, 2}, // [] Major version of BLOCK2, 313 }; 314 315 static const esp_efuse_desc_t OCODE[] = { 316 {EFUSE_BLK2, 62, 7}, // [] OCode, 317 }; 318 319 static const esp_efuse_desc_t TEMP_CALIB[] = { 320 {EFUSE_BLK2, 69, 9}, // [] Temperature calibration data, 321 }; 322 323 static const esp_efuse_desc_t ADC1_INIT_CODE_ATTEN0[] = { 324 {EFUSE_BLK2, 78, 8}, // [] ADC1 init code at atten0, 325 }; 326 327 static const esp_efuse_desc_t ADC1_INIT_CODE_ATTEN3[] = { 328 {EFUSE_BLK2, 86, 5}, // [] ADC1 init code at atten3, 329 }; 330 331 static const esp_efuse_desc_t ADC1_CAL_VOL_ATTEN0[] = { 332 {EFUSE_BLK2, 91, 8}, // [] ADC1 calibration voltage at atten0, 333 }; 334 335 static const esp_efuse_desc_t ADC1_CAL_VOL_ATTEN3[] = { 336 {EFUSE_BLK2, 99, 6}, // [] ADC1 calibration voltage at atten3, 337 }; 338 339 static const esp_efuse_desc_t DIG_DBIAS_HVT[] = { 340 {EFUSE_BLK2, 105, 5}, // [] BLOCK2 digital dbias when hvt, 341 }; 342 343 static const esp_efuse_desc_t DIG_LDO_SLP_DBIAS2[] = { 344 {EFUSE_BLK2, 110, 7}, // [] BLOCK2 DIG_LDO_DBG0_DBIAS2, 345 }; 346 347 static const esp_efuse_desc_t DIG_LDO_SLP_DBIAS26[] = { 348 {EFUSE_BLK2, 117, 8}, // [] BLOCK2 DIG_LDO_DBG0_DBIAS26, 349 }; 350 351 static const esp_efuse_desc_t DIG_LDO_ACT_DBIAS26[] = { 352 {EFUSE_BLK2, 125, 6}, // [] BLOCK2 DIG_LDO_ACT_DBIAS26, 353 }; 354 355 static const esp_efuse_desc_t DIG_LDO_ACT_STEPD10[] = { 356 {EFUSE_BLK2, 131, 4}, // [] BLOCK2 DIG_LDO_ACT_STEPD10, 357 }; 358 359 static const esp_efuse_desc_t RTC_LDO_SLP_DBIAS13[] = { 360 {EFUSE_BLK2, 135, 7}, // [] BLOCK2 DIG_LDO_SLP_DBIAS13, 361 }; 362 363 static const esp_efuse_desc_t RTC_LDO_SLP_DBIAS29[] = { 364 {EFUSE_BLK2, 142, 9}, // [] BLOCK2 DIG_LDO_SLP_DBIAS29, 365 }; 366 367 static const esp_efuse_desc_t RTC_LDO_SLP_DBIAS31[] = { 368 {EFUSE_BLK2, 151, 6}, // [] BLOCK2 DIG_LDO_SLP_DBIAS31, 369 }; 370 371 static const esp_efuse_desc_t RTC_LDO_ACT_DBIAS31[] = { 372 {EFUSE_BLK2, 157, 6}, // [] BLOCK2 DIG_LDO_ACT_DBIAS31, 373 }; 374 375 static const esp_efuse_desc_t RTC_LDO_ACT_DBIAS13[] = { 376 {EFUSE_BLK2, 163, 8}, // [] BLOCK2 DIG_LDO_ACT_DBIAS13, 377 }; 378 379 static const esp_efuse_desc_t ADC_CALIBRATION_3[] = { 380 {EFUSE_BLK2, 192, 11}, // [] Store the bit [86:96] of ADC calibration data, 381 }; 382 383 static const esp_efuse_desc_t KEY0[] = { 384 {EFUSE_BLK3, 0, 256}, // [BLOCK_KEY0] BLOCK_BLOCK_KEY0 - 256-bits. 256-bit key of Flash Encryption, 385 }; 386 387 static const esp_efuse_desc_t KEY0_FE_256BIT[] = { 388 {EFUSE_BLK3, 0, 256}, // [] 256bit FE key, 389 }; 390 391 static const esp_efuse_desc_t KEY0_FE_128BIT[] = { 392 {EFUSE_BLK3, 0, 128}, // [] 128bit FE key, 393 }; 394 395 static const esp_efuse_desc_t KEY0_SB_128BIT[] = { 396 {EFUSE_BLK3, 128, 128}, // [] 128bit SB key, 397 }; 398 399 400 401 402 403 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS[] = { 404 &WR_DIS[0], // [] Disable programming of individual eFuses 405 NULL 406 }; 407 408 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_RD_DIS[] = { 409 &WR_DIS_RD_DIS[0], // [] wr_dis of RD_DIS 410 NULL 411 }; 412 413 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_WDT_DELAY_SEL[] = { 414 &WR_DIS_WDT_DELAY_SEL[0], // [] wr_dis of WDT_DELAY_SEL 415 NULL 416 }; 417 418 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIS_PAD_JTAG[] = { 419 &WR_DIS_DIS_PAD_JTAG[0], // [] wr_dis of DIS_PAD_JTAG 420 NULL 421 }; 422 423 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIS_DOWNLOAD_ICACHE[] = { 424 &WR_DIS_DIS_DOWNLOAD_ICACHE[0], // [] wr_dis of DIS_DOWNLOAD_ICACHE 425 NULL 426 }; 427 428 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIS_DOWNLOAD_MANUAL_ENCRYPT[] = { 429 &WR_DIS_DIS_DOWNLOAD_MANUAL_ENCRYPT[0], // [] wr_dis of DIS_DOWNLOAD_MANUAL_ENCRYPT 430 NULL 431 }; 432 433 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SPI_BOOT_CRYPT_CNT[] = { 434 &WR_DIS_SPI_BOOT_CRYPT_CNT[0], // [] wr_dis of SPI_BOOT_CRYPT_CNT 435 NULL 436 }; 437 438 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_XTS_KEY_LENGTH_256[] = { 439 &WR_DIS_XTS_KEY_LENGTH_256[0], // [] wr_dis of XTS_KEY_LENGTH_256 440 NULL 441 }; 442 443 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SECURE_BOOT_EN[] = { 444 &WR_DIS_SECURE_BOOT_EN[0], // [] wr_dis of SECURE_BOOT_EN 445 NULL 446 }; 447 448 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_UART_PRINT_CONTROL[] = { 449 &WR_DIS_UART_PRINT_CONTROL[0], // [] wr_dis of UART_PRINT_CONTROL 450 NULL 451 }; 452 453 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FORCE_SEND_RESUME[] = { 454 &WR_DIS_FORCE_SEND_RESUME[0], // [] wr_dis of FORCE_SEND_RESUME 455 NULL 456 }; 457 458 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIS_DOWNLOAD_MODE[] = { 459 &WR_DIS_DIS_DOWNLOAD_MODE[0], // [] wr_dis of DIS_DOWNLOAD_MODE 460 NULL 461 }; 462 463 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIS_DIRECT_BOOT[] = { 464 &WR_DIS_DIS_DIRECT_BOOT[0], // [] wr_dis of DIS_DIRECT_BOOT 465 NULL 466 }; 467 468 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ENABLE_SECURITY_DOWNLOAD[] = { 469 &WR_DIS_ENABLE_SECURITY_DOWNLOAD[0], // [] wr_dis of ENABLE_SECURITY_DOWNLOAD 470 NULL 471 }; 472 473 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_TPUW[] = { 474 &WR_DIS_FLASH_TPUW[0], // [] wr_dis of FLASH_TPUW 475 NULL 476 }; 477 478 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SECURE_VERSION[] = { 479 &WR_DIS_SECURE_VERSION[0], // [] wr_dis of SECURE_VERSION 480 NULL 481 }; 482 483 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CUSTOM_MAC_USED[] = { 484 &WR_DIS_CUSTOM_MAC_USED[0], // [WR_DIS.ENABLE_CUSTOM_MAC] wr_dis of CUSTOM_MAC_USED 485 NULL 486 }; 487 488 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_WAFER_VERSION_MAJOR[] = { 489 &WR_DIS_DISABLE_WAFER_VERSION_MAJOR[0], // [] wr_dis of DISABLE_WAFER_VERSION_MAJOR 490 NULL 491 }; 492 493 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_BLK_VERSION_MAJOR[] = { 494 &WR_DIS_DISABLE_BLK_VERSION_MAJOR[0], // [] wr_dis of DISABLE_BLK_VERSION_MAJOR 495 NULL 496 }; 497 498 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CUSTOM_MAC[] = { 499 &WR_DIS_CUSTOM_MAC[0], // [WR_DIS.MAC_CUSTOM WR_DIS.USER_DATA_MAC_CUSTOM] wr_dis of CUSTOM_MAC 500 NULL 501 }; 502 503 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_MAC[] = { 504 &WR_DIS_MAC[0], // [WR_DIS.MAC_FACTORY] wr_dis of MAC 505 NULL 506 }; 507 508 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_WAFER_VERSION_MINOR[] = { 509 &WR_DIS_WAFER_VERSION_MINOR[0], // [] wr_dis of WAFER_VERSION_MINOR 510 NULL 511 }; 512 513 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_WAFER_VERSION_MAJOR[] = { 514 &WR_DIS_WAFER_VERSION_MAJOR[0], // [] wr_dis of WAFER_VERSION_MAJOR 515 NULL 516 }; 517 518 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_PKG_VERSION[] = { 519 &WR_DIS_PKG_VERSION[0], // [] wr_dis of PKG_VERSION 520 NULL 521 }; 522 523 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLK_VERSION_MINOR[] = { 524 &WR_DIS_BLK_VERSION_MINOR[0], // [] wr_dis of BLK_VERSION_MINOR 525 NULL 526 }; 527 528 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLK_VERSION_MAJOR[] = { 529 &WR_DIS_BLK_VERSION_MAJOR[0], // [] wr_dis of BLK_VERSION_MAJOR 530 NULL 531 }; 532 533 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_OCODE[] = { 534 &WR_DIS_OCODE[0], // [] wr_dis of OCODE 535 NULL 536 }; 537 538 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_TEMP_CALIB[] = { 539 &WR_DIS_TEMP_CALIB[0], // [] wr_dis of TEMP_CALIB 540 NULL 541 }; 542 543 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_INIT_CODE_ATTEN0[] = { 544 &WR_DIS_ADC1_INIT_CODE_ATTEN0[0], // [] wr_dis of ADC1_INIT_CODE_ATTEN0 545 NULL 546 }; 547 548 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_INIT_CODE_ATTEN3[] = { 549 &WR_DIS_ADC1_INIT_CODE_ATTEN3[0], // [] wr_dis of ADC1_INIT_CODE_ATTEN3 550 NULL 551 }; 552 553 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_CAL_VOL_ATTEN0[] = { 554 &WR_DIS_ADC1_CAL_VOL_ATTEN0[0], // [] wr_dis of ADC1_CAL_VOL_ATTEN0 555 NULL 556 }; 557 558 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_CAL_VOL_ATTEN3[] = { 559 &WR_DIS_ADC1_CAL_VOL_ATTEN3[0], // [] wr_dis of ADC1_CAL_VOL_ATTEN3 560 NULL 561 }; 562 563 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIG_DBIAS_HVT[] = { 564 &WR_DIS_DIG_DBIAS_HVT[0], // [] wr_dis of DIG_DBIAS_HVT 565 NULL 566 }; 567 568 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIG_LDO_SLP_DBIAS2[] = { 569 &WR_DIS_DIG_LDO_SLP_DBIAS2[0], // [] wr_dis of DIG_LDO_SLP_DBIAS2 570 NULL 571 }; 572 573 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIG_LDO_SLP_DBIAS26[] = { 574 &WR_DIS_DIG_LDO_SLP_DBIAS26[0], // [] wr_dis of DIG_LDO_SLP_DBIAS26 575 NULL 576 }; 577 578 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIG_LDO_ACT_DBIAS26[] = { 579 &WR_DIS_DIG_LDO_ACT_DBIAS26[0], // [] wr_dis of DIG_LDO_ACT_DBIAS26 580 NULL 581 }; 582 583 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIG_LDO_ACT_STEPD10[] = { 584 &WR_DIS_DIG_LDO_ACT_STEPD10[0], // [] wr_dis of DIG_LDO_ACT_STEPD10 585 NULL 586 }; 587 588 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_RTC_LDO_SLP_DBIAS13[] = { 589 &WR_DIS_RTC_LDO_SLP_DBIAS13[0], // [] wr_dis of RTC_LDO_SLP_DBIAS13 590 NULL 591 }; 592 593 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_RTC_LDO_SLP_DBIAS29[] = { 594 &WR_DIS_RTC_LDO_SLP_DBIAS29[0], // [] wr_dis of RTC_LDO_SLP_DBIAS29 595 NULL 596 }; 597 598 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_RTC_LDO_SLP_DBIAS31[] = { 599 &WR_DIS_RTC_LDO_SLP_DBIAS31[0], // [] wr_dis of RTC_LDO_SLP_DBIAS31 600 NULL 601 }; 602 603 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_RTC_LDO_ACT_DBIAS31[] = { 604 &WR_DIS_RTC_LDO_ACT_DBIAS31[0], // [] wr_dis of RTC_LDO_ACT_DBIAS31 605 NULL 606 }; 607 608 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_RTC_LDO_ACT_DBIAS13[] = { 609 &WR_DIS_RTC_LDO_ACT_DBIAS13[0], // [] wr_dis of RTC_LDO_ACT_DBIAS13 610 NULL 611 }; 612 613 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC_CALIBRATION_3[] = { 614 &WR_DIS_ADC_CALIBRATION_3[0], // [] wr_dis of ADC_CALIBRATION_3 615 NULL 616 }; 617 618 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK_KEY0[] = { 619 &WR_DIS_BLOCK_KEY0[0], // [WR_DIS.KEY0] wr_dis of BLOCK_KEY0 620 NULL 621 }; 622 623 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS[] = { 624 &RD_DIS[0], // [] Disable reading from BlOCK3 625 NULL 626 }; 627 628 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_KEY0[] = { 629 &RD_DIS_KEY0[0], // [] Read protection for EFUSE_BLK3. KEY0 630 NULL 631 }; 632 633 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_KEY0_LOW[] = { 634 &RD_DIS_KEY0_LOW[0], // [] Read protection for EFUSE_BLK3. KEY0 lower 128-bit key 635 NULL 636 }; 637 638 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_KEY0_HI[] = { 639 &RD_DIS_KEY0_HI[0], // [] Read protection for EFUSE_BLK3. KEY0 higher 128-bit key 640 NULL 641 }; 642 643 const esp_efuse_desc_t* ESP_EFUSE_WDT_DELAY_SEL[] = { 644 &WDT_DELAY_SEL[0], // [] RTC watchdog timeout threshold; in unit of slow clock cycle {0: "40000"; 1: "80000"; 2: "160000"; 3: "320000"} 645 NULL 646 }; 647 648 const esp_efuse_desc_t* ESP_EFUSE_DIS_PAD_JTAG[] = { 649 &DIS_PAD_JTAG[0], // [] Set this bit to disable pad jtag 650 NULL 651 }; 652 653 const esp_efuse_desc_t* ESP_EFUSE_DIS_DOWNLOAD_ICACHE[] = { 654 &DIS_DOWNLOAD_ICACHE[0], // [] The bit be set to disable icache in download mode 655 NULL 656 }; 657 658 const esp_efuse_desc_t* ESP_EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT[] = { 659 &DIS_DOWNLOAD_MANUAL_ENCRYPT[0], // [] The bit be set to disable manual encryption 660 NULL 661 }; 662 663 const esp_efuse_desc_t* ESP_EFUSE_SPI_BOOT_CRYPT_CNT[] = { 664 &SPI_BOOT_CRYPT_CNT[0], // [] Enables flash encryption when 1 or 3 bits are set and disables otherwise {0: "Disable"; 1: "Enable"; 3: "Disable"; 7: "Enable"} 665 NULL 666 }; 667 668 const esp_efuse_desc_t* ESP_EFUSE_XTS_KEY_LENGTH_256[] = { 669 &XTS_KEY_LENGTH_256[0], // [] Flash encryption key length {0: "128 bits key"; 1: "256 bits key"} 670 NULL 671 }; 672 673 const esp_efuse_desc_t* ESP_EFUSE_UART_PRINT_CONTROL[] = { 674 &UART_PRINT_CONTROL[0], // [] Set the default UARTboot message output mode {0: "Enable"; 1: "Enable when GPIO8 is low at reset"; 2: "Enable when GPIO8 is high at reset"; 3: "Disable"} 675 NULL 676 }; 677 678 const esp_efuse_desc_t* ESP_EFUSE_FORCE_SEND_RESUME[] = { 679 &FORCE_SEND_RESUME[0], // [] Set this bit to force ROM code to send a resume command during SPI boot 680 NULL 681 }; 682 683 const esp_efuse_desc_t* ESP_EFUSE_DIS_DOWNLOAD_MODE[] = { 684 &DIS_DOWNLOAD_MODE[0], // [] Set this bit to disable download mode (boot_mode[3:0] = 0; 1; 2; 4; 5; 6; 7) 685 NULL 686 }; 687 688 const esp_efuse_desc_t* ESP_EFUSE_DIS_DIRECT_BOOT[] = { 689 &DIS_DIRECT_BOOT[0], // [] This bit set means disable direct_boot mode 690 NULL 691 }; 692 693 const esp_efuse_desc_t* ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD[] = { 694 &ENABLE_SECURITY_DOWNLOAD[0], // [] Set this bit to enable secure UART download mode 695 NULL 696 }; 697 698 const esp_efuse_desc_t* ESP_EFUSE_FLASH_TPUW[] = { 699 &FLASH_TPUW[0], // [] Configures flash waiting time after power-up; in unit of ms. If the value is less than 15; the waiting time is the configurable value. Otherwise; the waiting time is twice the configurable value 700 NULL 701 }; 702 703 const esp_efuse_desc_t* ESP_EFUSE_SECURE_BOOT_EN[] = { 704 &SECURE_BOOT_EN[0], // [] The bit be set to enable secure boot 705 NULL 706 }; 707 708 const esp_efuse_desc_t* ESP_EFUSE_SECURE_VERSION[] = { 709 &SECURE_VERSION[0], // [] Secure version for anti-rollback 710 NULL 711 }; 712 713 const esp_efuse_desc_t* ESP_EFUSE_CUSTOM_MAC_USED[] = { 714 &CUSTOM_MAC_USED[0], // [ENABLE_CUSTOM_MAC] True if MAC_CUSTOM is burned 715 NULL 716 }; 717 718 const esp_efuse_desc_t* ESP_EFUSE_DISABLE_WAFER_VERSION_MAJOR[] = { 719 &DISABLE_WAFER_VERSION_MAJOR[0], // [] Disables check of wafer version major 720 NULL 721 }; 722 723 const esp_efuse_desc_t* ESP_EFUSE_DISABLE_BLK_VERSION_MAJOR[] = { 724 &DISABLE_BLK_VERSION_MAJOR[0], // [] Disables check of blk version major 725 NULL 726 }; 727 728 const esp_efuse_desc_t* ESP_EFUSE_USER_DATA[] = { 729 &USER_DATA[0], // [] User data block 730 NULL 731 }; 732 733 const esp_efuse_desc_t* ESP_EFUSE_USER_DATA_MAC_CUSTOM[] = { 734 &USER_DATA_MAC_CUSTOM[0], // [MAC_CUSTOM CUSTOM_MAC] Custom MAC address 735 NULL 736 }; 737 738 const esp_efuse_desc_t* ESP_EFUSE_MAC[] = { 739 &MAC[0], // [MAC_FACTORY] MAC address 740 &MAC[1], // [MAC_FACTORY] MAC address 741 &MAC[2], // [MAC_FACTORY] MAC address 742 &MAC[3], // [MAC_FACTORY] MAC address 743 &MAC[4], // [MAC_FACTORY] MAC address 744 &MAC[5], // [MAC_FACTORY] MAC address 745 NULL 746 }; 747 748 const esp_efuse_desc_t* ESP_EFUSE_WAFER_VERSION_MINOR[] = { 749 &WAFER_VERSION_MINOR[0], // [] WAFER_VERSION_MINOR 750 NULL 751 }; 752 753 const esp_efuse_desc_t* ESP_EFUSE_WAFER_VERSION_MAJOR[] = { 754 &WAFER_VERSION_MAJOR[0], // [] WAFER_VERSION_MAJOR 755 NULL 756 }; 757 758 const esp_efuse_desc_t* ESP_EFUSE_PKG_VERSION[] = { 759 &PKG_VERSION[0], // [] EFUSE_PKG_VERSION 760 NULL 761 }; 762 763 const esp_efuse_desc_t* ESP_EFUSE_BLK_VERSION_MINOR[] = { 764 &BLK_VERSION_MINOR[0], // [] Minor version of BLOCK2 {0: "No calib"; 1: "With calib"} 765 NULL 766 }; 767 768 const esp_efuse_desc_t* ESP_EFUSE_BLK_VERSION_MAJOR[] = { 769 &BLK_VERSION_MAJOR[0], // [] Major version of BLOCK2 770 NULL 771 }; 772 773 const esp_efuse_desc_t* ESP_EFUSE_OCODE[] = { 774 &OCODE[0], // [] OCode 775 NULL 776 }; 777 778 const esp_efuse_desc_t* ESP_EFUSE_TEMP_CALIB[] = { 779 &TEMP_CALIB[0], // [] Temperature calibration data 780 NULL 781 }; 782 783 const esp_efuse_desc_t* ESP_EFUSE_ADC1_INIT_CODE_ATTEN0[] = { 784 &ADC1_INIT_CODE_ATTEN0[0], // [] ADC1 init code at atten0 785 NULL 786 }; 787 788 const esp_efuse_desc_t* ESP_EFUSE_ADC1_INIT_CODE_ATTEN3[] = { 789 &ADC1_INIT_CODE_ATTEN3[0], // [] ADC1 init code at atten3 790 NULL 791 }; 792 793 const esp_efuse_desc_t* ESP_EFUSE_ADC1_CAL_VOL_ATTEN0[] = { 794 &ADC1_CAL_VOL_ATTEN0[0], // [] ADC1 calibration voltage at atten0 795 NULL 796 }; 797 798 const esp_efuse_desc_t* ESP_EFUSE_ADC1_CAL_VOL_ATTEN3[] = { 799 &ADC1_CAL_VOL_ATTEN3[0], // [] ADC1 calibration voltage at atten3 800 NULL 801 }; 802 803 const esp_efuse_desc_t* ESP_EFUSE_DIG_DBIAS_HVT[] = { 804 &DIG_DBIAS_HVT[0], // [] BLOCK2 digital dbias when hvt 805 NULL 806 }; 807 808 const esp_efuse_desc_t* ESP_EFUSE_DIG_LDO_SLP_DBIAS2[] = { 809 &DIG_LDO_SLP_DBIAS2[0], // [] BLOCK2 DIG_LDO_DBG0_DBIAS2 810 NULL 811 }; 812 813 const esp_efuse_desc_t* ESP_EFUSE_DIG_LDO_SLP_DBIAS26[] = { 814 &DIG_LDO_SLP_DBIAS26[0], // [] BLOCK2 DIG_LDO_DBG0_DBIAS26 815 NULL 816 }; 817 818 const esp_efuse_desc_t* ESP_EFUSE_DIG_LDO_ACT_DBIAS26[] = { 819 &DIG_LDO_ACT_DBIAS26[0], // [] BLOCK2 DIG_LDO_ACT_DBIAS26 820 NULL 821 }; 822 823 const esp_efuse_desc_t* ESP_EFUSE_DIG_LDO_ACT_STEPD10[] = { 824 &DIG_LDO_ACT_STEPD10[0], // [] BLOCK2 DIG_LDO_ACT_STEPD10 825 NULL 826 }; 827 828 const esp_efuse_desc_t* ESP_EFUSE_RTC_LDO_SLP_DBIAS13[] = { 829 &RTC_LDO_SLP_DBIAS13[0], // [] BLOCK2 DIG_LDO_SLP_DBIAS13 830 NULL 831 }; 832 833 const esp_efuse_desc_t* ESP_EFUSE_RTC_LDO_SLP_DBIAS29[] = { 834 &RTC_LDO_SLP_DBIAS29[0], // [] BLOCK2 DIG_LDO_SLP_DBIAS29 835 NULL 836 }; 837 838 const esp_efuse_desc_t* ESP_EFUSE_RTC_LDO_SLP_DBIAS31[] = { 839 &RTC_LDO_SLP_DBIAS31[0], // [] BLOCK2 DIG_LDO_SLP_DBIAS31 840 NULL 841 }; 842 843 const esp_efuse_desc_t* ESP_EFUSE_RTC_LDO_ACT_DBIAS31[] = { 844 &RTC_LDO_ACT_DBIAS31[0], // [] BLOCK2 DIG_LDO_ACT_DBIAS31 845 NULL 846 }; 847 848 const esp_efuse_desc_t* ESP_EFUSE_RTC_LDO_ACT_DBIAS13[] = { 849 &RTC_LDO_ACT_DBIAS13[0], // [] BLOCK2 DIG_LDO_ACT_DBIAS13 850 NULL 851 }; 852 853 const esp_efuse_desc_t* ESP_EFUSE_ADC_CALIBRATION_3[] = { 854 &ADC_CALIBRATION_3[0], // [] Store the bit [86:96] of ADC calibration data 855 NULL 856 }; 857 858 const esp_efuse_desc_t* ESP_EFUSE_KEY0[] = { 859 &KEY0[0], // [BLOCK_KEY0] BLOCK_BLOCK_KEY0 - 256-bits. 256-bit key of Flash Encryption 860 NULL 861 }; 862 863 const esp_efuse_desc_t* ESP_EFUSE_KEY0_FE_256BIT[] = { 864 &KEY0_FE_256BIT[0], // [] 256bit FE key 865 NULL 866 }; 867 868 const esp_efuse_desc_t* ESP_EFUSE_KEY0_FE_128BIT[] = { 869 &KEY0_FE_128BIT[0], // [] 128bit FE key 870 NULL 871 }; 872 873 const esp_efuse_desc_t* ESP_EFUSE_KEY0_SB_128BIT[] = { 874 &KEY0_SB_128BIT[0], // [] 128bit SB key 875 NULL 876 }; 877