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 2e197b7b14eec62fa5bdf94c6d71e87a 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 #define MAX_BLK_LEN 256 19 20 // The last free bit in the block is counted over the entire file. 21 #define LAST_FREE_BIT_BLK1 MAX_BLK_LEN 22 #define LAST_FREE_BIT_BLK2 MAX_BLK_LEN 23 #define LAST_FREE_BIT_BLK3 192 24 25 _Static_assert(LAST_FREE_BIT_BLK1 <= MAX_BLK_LEN, "The eFuse table does not match the coding scheme. Edit the table and restart the efuse_common_table or efuse_custom_table command to regenerate the new files."); 26 _Static_assert(LAST_FREE_BIT_BLK2 <= MAX_BLK_LEN, "The eFuse table does not match the coding scheme. Edit the table and restart the efuse_common_table or efuse_custom_table command to regenerate the new files."); 27 _Static_assert(LAST_FREE_BIT_BLK3 <= MAX_BLK_LEN, "The eFuse table does not match the coding scheme. Edit the table and restart the efuse_common_table or efuse_custom_table command to regenerate the new files."); 28 29 static const esp_efuse_desc_t WR_DIS[] = { 30 {EFUSE_BLK0, 0, 16}, // [] Efuse write disable mask, 31 }; 32 33 static const esp_efuse_desc_t WR_DIS_RD_DIS[] = { 34 {EFUSE_BLK0, 0, 1}, // [WR_DIS.EFUSE_RD_DISABLE] wr_dis of RD_DIS, 35 }; 36 37 static const esp_efuse_desc_t WR_DIS_WR_DIS[] = { 38 {EFUSE_BLK0, 1, 1}, // [] wr_dis of WR_DIS, 39 }; 40 41 static const esp_efuse_desc_t WR_DIS_FLASH_CRYPT_CNT[] = { 42 {EFUSE_BLK0, 2, 1}, // [] wr_dis of FLASH_CRYPT_CNT, 43 }; 44 45 static const esp_efuse_desc_t WR_DIS_UART_DOWNLOAD_DIS[] = { 46 {EFUSE_BLK0, 2, 1}, // [] wr_dis of UART_DOWNLOAD_DIS, 47 }; 48 49 static const esp_efuse_desc_t WR_DIS_MAC[] = { 50 {EFUSE_BLK0, 3, 1}, // [WR_DIS.MAC_FACTORY] wr_dis of MAC, 51 }; 52 53 static const esp_efuse_desc_t WR_DIS_MAC_CRC[] = { 54 {EFUSE_BLK0, 3, 1}, // [WR_DIS.MAC_FACTORY_CRC] wr_dis of MAC_CRC, 55 }; 56 57 static const esp_efuse_desc_t WR_DIS_DISABLE_APP_CPU[] = { 58 {EFUSE_BLK0, 3, 1}, // [WR_DIS.CHIP_VER_DIS_APP_CPU] wr_dis of DISABLE_APP_CPU, 59 }; 60 61 static const esp_efuse_desc_t WR_DIS_DISABLE_BT[] = { 62 {EFUSE_BLK0, 3, 1}, // [WR_DIS.CHIP_VER_DIS_BT] wr_dis of DISABLE_BT, 63 }; 64 65 static const esp_efuse_desc_t WR_DIS_DIS_CACHE[] = { 66 {EFUSE_BLK0, 3, 1}, // [WR_DIS.CHIP_VER_DIS_CACHE] wr_dis of DIS_CACHE, 67 }; 68 69 static const esp_efuse_desc_t WR_DIS_VOL_LEVEL_HP_INV[] = { 70 {EFUSE_BLK0, 3, 1}, // [] wr_dis of VOL_LEVEL_HP_INV, 71 }; 72 73 static const esp_efuse_desc_t WR_DIS_CLK8M_FREQ[] = { 74 {EFUSE_BLK0, 4, 1}, // [WR_DIS.CK8M_FREQ] wr_dis of CLK8M_FREQ, 75 }; 76 77 static const esp_efuse_desc_t WR_DIS_ADC_VREF[] = { 78 {EFUSE_BLK0, 4, 1}, // [] wr_dis of ADC_VREF, 79 }; 80 81 static const esp_efuse_desc_t WR_DIS_XPD_SDIO_REG[] = { 82 {EFUSE_BLK0, 5, 1}, // [] wr_dis of XPD_SDIO_REG, 83 }; 84 85 static const esp_efuse_desc_t WR_DIS_XPD_SDIO_TIEH[] = { 86 {EFUSE_BLK0, 5, 1}, // [WR_DIS.SDIO_TIEH] wr_dis of XPD_SDIO_TIEH, 87 }; 88 89 static const esp_efuse_desc_t WR_DIS_XPD_SDIO_FORCE[] = { 90 {EFUSE_BLK0, 5, 1}, // [WR_DIS.SDIO_FORCE] wr_dis of XPD_SDIO_FORCE, 91 }; 92 93 static const esp_efuse_desc_t WR_DIS_SPI_PAD_CONFIG_CLK[] = { 94 {EFUSE_BLK0, 6, 1}, // [] wr_dis of SPI_PAD_CONFIG_CLK, 95 }; 96 97 static const esp_efuse_desc_t WR_DIS_SPI_PAD_CONFIG_Q[] = { 98 {EFUSE_BLK0, 6, 1}, // [] wr_dis of SPI_PAD_CONFIG_Q, 99 }; 100 101 static const esp_efuse_desc_t WR_DIS_SPI_PAD_CONFIG_D[] = { 102 {EFUSE_BLK0, 6, 1}, // [] wr_dis of SPI_PAD_CONFIG_D, 103 }; 104 105 static const esp_efuse_desc_t WR_DIS_SPI_PAD_CONFIG_CS0[] = { 106 {EFUSE_BLK0, 6, 1}, // [] wr_dis of SPI_PAD_CONFIG_CS0, 107 }; 108 109 static const esp_efuse_desc_t WR_DIS_BLOCK1[] = { 110 {EFUSE_BLK0, 7, 1}, // [WR_DIS.ENCRYPT_FLASH_KEY WR_DIS.BLK1] wr_dis of BLOCK1, 111 }; 112 113 static const esp_efuse_desc_t WR_DIS_BLOCK2[] = { 114 {EFUSE_BLK0, 8, 1}, // [WR_DIS.SECURE_BOOT_KEY WR_DIS.BLK2] wr_dis of BLOCK2, 115 }; 116 117 static const esp_efuse_desc_t WR_DIS_BLOCK3[] = { 118 {EFUSE_BLK0, 9, 1}, // [WR_DIS.BLK3] wr_dis of BLOCK3, 119 }; 120 121 static const esp_efuse_desc_t WR_DIS_CUSTOM_MAC_CRC[] = { 122 {EFUSE_BLK0, 9, 1}, // [WR_DIS.MAC_CUSTOM_CRC] wr_dis of CUSTOM_MAC_CRC, 123 }; 124 125 static const esp_efuse_desc_t WR_DIS_CUSTOM_MAC[] = { 126 {EFUSE_BLK0, 9, 1}, // [WR_DIS.MAC_CUSTOM] wr_dis of CUSTOM_MAC, 127 }; 128 129 static const esp_efuse_desc_t WR_DIS_ADC1_TP_LOW[] = { 130 {EFUSE_BLK0, 9, 1}, // [] wr_dis of ADC1_TP_LOW, 131 }; 132 133 static const esp_efuse_desc_t WR_DIS_ADC1_TP_HIGH[] = { 134 {EFUSE_BLK0, 9, 1}, // [] wr_dis of ADC1_TP_HIGH, 135 }; 136 137 static const esp_efuse_desc_t WR_DIS_ADC2_TP_LOW[] = { 138 {EFUSE_BLK0, 9, 1}, // [] wr_dis of ADC2_TP_LOW, 139 }; 140 141 static const esp_efuse_desc_t WR_DIS_ADC2_TP_HIGH[] = { 142 {EFUSE_BLK0, 9, 1}, // [] wr_dis of ADC2_TP_HIGH, 143 }; 144 145 static const esp_efuse_desc_t WR_DIS_SECURE_VERSION[] = { 146 {EFUSE_BLK0, 9, 1}, // [] wr_dis of SECURE_VERSION, 147 }; 148 149 static const esp_efuse_desc_t WR_DIS_MAC_VERSION[] = { 150 {EFUSE_BLK0, 9, 1}, // [WR_DIS.MAC_CUSTOM_VER] wr_dis of MAC_VERSION, 151 }; 152 153 static const esp_efuse_desc_t WR_DIS_BLK3_PART_RESERVE[] = { 154 {EFUSE_BLK0, 10, 1}, // [] wr_dis of BLK3_PART_RESERVE, 155 }; 156 157 static const esp_efuse_desc_t WR_DIS_FLASH_CRYPT_CONFIG[] = { 158 {EFUSE_BLK0, 10, 1}, // [WR_DIS.ENCRYPT_CONFIG] wr_dis of FLASH_CRYPT_CONFIG, 159 }; 160 161 static const esp_efuse_desc_t WR_DIS_CODING_SCHEME[] = { 162 {EFUSE_BLK0, 10, 1}, // [] wr_dis of CODING_SCHEME, 163 }; 164 165 static const esp_efuse_desc_t WR_DIS_KEY_STATUS[] = { 166 {EFUSE_BLK0, 10, 1}, // [] wr_dis of KEY_STATUS, 167 }; 168 169 static const esp_efuse_desc_t WR_DIS_ABS_DONE_0[] = { 170 {EFUSE_BLK0, 12, 1}, // [] wr_dis of ABS_DONE_0, 171 }; 172 173 static const esp_efuse_desc_t WR_DIS_ABS_DONE_1[] = { 174 {EFUSE_BLK0, 13, 1}, // [] wr_dis of ABS_DONE_1, 175 }; 176 177 static const esp_efuse_desc_t WR_DIS_JTAG_DISABLE[] = { 178 {EFUSE_BLK0, 14, 1}, // [WR_DIS.DISABLE_JTAG] wr_dis of JTAG_DISABLE, 179 }; 180 181 static const esp_efuse_desc_t WR_DIS_CONSOLE_DEBUG_DISABLE[] = { 182 {EFUSE_BLK0, 15, 1}, // [] wr_dis of CONSOLE_DEBUG_DISABLE, 183 }; 184 185 static const esp_efuse_desc_t WR_DIS_DISABLE_DL_ENCRYPT[] = { 186 {EFUSE_BLK0, 15, 1}, // [] wr_dis of DISABLE_DL_ENCRYPT, 187 }; 188 189 static const esp_efuse_desc_t WR_DIS_DISABLE_DL_DECRYPT[] = { 190 {EFUSE_BLK0, 15, 1}, // [] wr_dis of DISABLE_DL_DECRYPT, 191 }; 192 193 static const esp_efuse_desc_t WR_DIS_DISABLE_DL_CACHE[] = { 194 {EFUSE_BLK0, 15, 1}, // [] wr_dis of DISABLE_DL_CACHE, 195 }; 196 197 static const esp_efuse_desc_t RD_DIS[] = { 198 {EFUSE_BLK0, 16, 4}, // [] Disable reading from BlOCK1-3, 199 }; 200 201 static const esp_efuse_desc_t RD_DIS_BLOCK1[] = { 202 {EFUSE_BLK0, 16, 1}, // [RD_DIS.ENCRYPT_FLASH_KEY RD_DIS.BLK1] rd_dis of BLOCK1, 203 }; 204 205 static const esp_efuse_desc_t RD_DIS_BLOCK2[] = { 206 {EFUSE_BLK0, 17, 1}, // [RD_DIS.SECURE_BOOT_KEY RD_DIS.BLK2] rd_dis of BLOCK2, 207 }; 208 209 static const esp_efuse_desc_t RD_DIS_BLOCK3[] = { 210 {EFUSE_BLK0, 18, 1}, // [RD_DIS.BLK3] rd_dis of BLOCK3, 211 }; 212 213 static const esp_efuse_desc_t RD_DIS_CUSTOM_MAC_CRC[] = { 214 {EFUSE_BLK0, 18, 1}, // [RD_DIS.MAC_CUSTOM_CRC] rd_dis of CUSTOM_MAC_CRC, 215 }; 216 217 static const esp_efuse_desc_t RD_DIS_CUSTOM_MAC[] = { 218 {EFUSE_BLK0, 18, 1}, // [RD_DIS.MAC_CUSTOM] rd_dis of CUSTOM_MAC, 219 }; 220 221 static const esp_efuse_desc_t RD_DIS_ADC1_TP_LOW[] = { 222 {EFUSE_BLK0, 18, 1}, // [] rd_dis of ADC1_TP_LOW, 223 }; 224 225 static const esp_efuse_desc_t RD_DIS_ADC1_TP_HIGH[] = { 226 {EFUSE_BLK0, 18, 1}, // [] rd_dis of ADC1_TP_HIGH, 227 }; 228 229 static const esp_efuse_desc_t RD_DIS_ADC2_TP_LOW[] = { 230 {EFUSE_BLK0, 18, 1}, // [] rd_dis of ADC2_TP_LOW, 231 }; 232 233 static const esp_efuse_desc_t RD_DIS_ADC2_TP_HIGH[] = { 234 {EFUSE_BLK0, 18, 1}, // [] rd_dis of ADC2_TP_HIGH, 235 }; 236 237 static const esp_efuse_desc_t RD_DIS_SECURE_VERSION[] = { 238 {EFUSE_BLK0, 18, 1}, // [] rd_dis of SECURE_VERSION, 239 }; 240 241 static const esp_efuse_desc_t RD_DIS_MAC_VERSION[] = { 242 {EFUSE_BLK0, 18, 1}, // [RD_DIS.MAC_CUSTOM_VER] rd_dis of MAC_VERSION, 243 }; 244 245 static const esp_efuse_desc_t RD_DIS_BLK3_PART_RESERVE[] = { 246 {EFUSE_BLK0, 19, 1}, // [] rd_dis of BLK3_PART_RESERVE, 247 }; 248 249 static const esp_efuse_desc_t RD_DIS_FLASH_CRYPT_CONFIG[] = { 250 {EFUSE_BLK0, 19, 1}, // [RD_DIS.ENCRYPT_CONFIG] rd_dis of FLASH_CRYPT_CONFIG, 251 }; 252 253 static const esp_efuse_desc_t RD_DIS_CODING_SCHEME[] = { 254 {EFUSE_BLK0, 19, 1}, // [] rd_dis of CODING_SCHEME, 255 }; 256 257 static const esp_efuse_desc_t RD_DIS_KEY_STATUS[] = { 258 {EFUSE_BLK0, 19, 1}, // [] rd_dis of KEY_STATUS, 259 }; 260 261 static const esp_efuse_desc_t FLASH_CRYPT_CNT[] = { 262 {EFUSE_BLK0, 20, 7}, // [] Flash encryption is enabled if this field has an odd number of bits set, 263 }; 264 265 static const esp_efuse_desc_t UART_DOWNLOAD_DIS[] = { 266 {EFUSE_BLK0, 27, 1}, // [] Disable UART download mode. Valid for ESP32 V3 and newer; only, 267 }; 268 269 static const esp_efuse_desc_t MAC[] = { 270 {EFUSE_BLK0, 72, 8}, // [MAC_FACTORY] MAC address, 271 {EFUSE_BLK0, 64, 8}, // [MAC_FACTORY] MAC address, 272 {EFUSE_BLK0, 56, 8}, // [MAC_FACTORY] MAC address, 273 {EFUSE_BLK0, 48, 8}, // [MAC_FACTORY] MAC address, 274 {EFUSE_BLK0, 40, 8}, // [MAC_FACTORY] MAC address, 275 {EFUSE_BLK0, 32, 8}, // [MAC_FACTORY] MAC address, 276 }; 277 278 static const esp_efuse_desc_t MAC_CRC[] = { 279 {EFUSE_BLK0, 80, 8}, // [MAC_FACTORY_CRC] CRC8 for MAC address, 280 }; 281 282 static const esp_efuse_desc_t DISABLE_APP_CPU[] = { 283 {EFUSE_BLK0, 96, 1}, // [CHIP_VER_DIS_APP_CPU] Disables APP CPU, 284 }; 285 286 static const esp_efuse_desc_t DISABLE_BT[] = { 287 {EFUSE_BLK0, 97, 1}, // [CHIP_VER_DIS_BT] Disables Bluetooth, 288 }; 289 290 static const esp_efuse_desc_t CHIP_PACKAGE_4BIT[] = { 291 {EFUSE_BLK0, 98, 1}, // [CHIP_VER_PKG_4BIT] Chip package identifier #4bit, 292 }; 293 294 static const esp_efuse_desc_t DIS_CACHE[] = { 295 {EFUSE_BLK0, 99, 1}, // [CHIP_VER_DIS_CACHE] Disables cache, 296 }; 297 298 static const esp_efuse_desc_t SPI_PAD_CONFIG_HD[] = { 299 {EFUSE_BLK0, 100, 5}, // [] read for SPI_pad_config_hd, 300 }; 301 302 static const esp_efuse_desc_t CHIP_PACKAGE[] = { 303 {EFUSE_BLK0, 105, 3}, // [CHIP_VER_PKG] Chip package identifier, 304 }; 305 306 static const esp_efuse_desc_t CHIP_CPU_FREQ_LOW[] = { 307 {EFUSE_BLK0, 108, 1}, // [] If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the ESP32's max CPU frequency is rated for 160MHz. 240MHz otherwise, 308 }; 309 310 static const esp_efuse_desc_t CHIP_CPU_FREQ_RATED[] = { 311 {EFUSE_BLK0, 109, 1}, // [] If set; the ESP32's maximum CPU frequency has been rated, 312 }; 313 314 static const esp_efuse_desc_t BLK3_PART_RESERVE[] = { 315 {EFUSE_BLK0, 110, 1}, // [] BLOCK3 partially served for ADC calibration data, 316 }; 317 318 static const esp_efuse_desc_t CHIP_VER_REV1[] = { 319 {EFUSE_BLK0, 111, 1}, // [] bit is set to 1 for rev1 silicon, 320 }; 321 322 static const esp_efuse_desc_t CLK8M_FREQ[] = { 323 {EFUSE_BLK0, 128, 8}, // [CK8M_FREQ] 8MHz clock freq override, 324 }; 325 326 static const esp_efuse_desc_t ADC_VREF[] = { 327 {EFUSE_BLK0, 136, 5}, // [] True ADC reference voltage, 328 }; 329 330 static const esp_efuse_desc_t XPD_SDIO_REG[] = { 331 {EFUSE_BLK0, 142, 1}, // [] read for XPD_SDIO_REG, 332 }; 333 334 static const esp_efuse_desc_t XPD_SDIO_TIEH[] = { 335 {EFUSE_BLK0, 143, 1}, // [SDIO_TIEH] If XPD_SDIO_FORCE & XPD_SDIO_REG {1: "3.3V"; 0: "1.8V"}, 336 }; 337 338 static const esp_efuse_desc_t XPD_SDIO_FORCE[] = { 339 {EFUSE_BLK0, 144, 1}, // [SDIO_FORCE] Ignore MTDI pin (GPIO12) for VDD_SDIO on reset, 340 }; 341 342 static const esp_efuse_desc_t SPI_PAD_CONFIG_CLK[] = { 343 {EFUSE_BLK0, 160, 5}, // [] Override SD_CLK pad (GPIO6/SPICLK), 344 }; 345 346 static const esp_efuse_desc_t SPI_PAD_CONFIG_Q[] = { 347 {EFUSE_BLK0, 165, 5}, // [] Override SD_DATA_0 pad (GPIO7/SPIQ), 348 }; 349 350 static const esp_efuse_desc_t SPI_PAD_CONFIG_D[] = { 351 {EFUSE_BLK0, 170, 5}, // [] Override SD_DATA_1 pad (GPIO8/SPID), 352 }; 353 354 static const esp_efuse_desc_t SPI_PAD_CONFIG_CS0[] = { 355 {EFUSE_BLK0, 175, 5}, // [] Override SD_CMD pad (GPIO11/SPICS0), 356 }; 357 358 static const esp_efuse_desc_t CHIP_VER_REV2[] = { 359 {EFUSE_BLK0, 180, 1}, // [], 360 }; 361 362 static const esp_efuse_desc_t VOL_LEVEL_HP_INV[] = { 363 {EFUSE_BLK0, 182, 2}, // [] This field stores the voltage level for CPU to run at 240 MHz; or for flash/PSRAM to run at 80 MHz.0x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: level 4. (RO), 364 }; 365 366 static const esp_efuse_desc_t WAFER_VERSION_MINOR[] = { 367 {EFUSE_BLK0, 184, 2}, // [], 368 }; 369 370 static const esp_efuse_desc_t FLASH_CRYPT_CONFIG[] = { 371 {EFUSE_BLK0, 188, 4}, // [ENCRYPT_CONFIG] Flash encryption config (key tweak bits), 372 }; 373 374 static const esp_efuse_desc_t CODING_SCHEME[] = { 375 {EFUSE_BLK0, 192, 2}, // [] Efuse variable block length scheme {0: "NONE (BLK1-3 len=256 bits)"; 1: "3/4 (BLK1-3 len=192 bits)"; 2: "REPEAT (BLK1-3 len=128 bits) not supported"; 3: "NONE (BLK1-3 len=256 bits)"}, 376 }; 377 378 static const esp_efuse_desc_t CONSOLE_DEBUG_DISABLE[] = { 379 {EFUSE_BLK0, 194, 1}, // [] Disable ROM BASIC interpreter fallback, 380 }; 381 382 static const esp_efuse_desc_t DISABLE_SDIO_HOST[] = { 383 {EFUSE_BLK0, 195, 1}, // [], 384 }; 385 386 static const esp_efuse_desc_t ABS_DONE_0[] = { 387 {EFUSE_BLK0, 196, 1}, // [] Secure boot V1 is enabled for bootloader image, 388 }; 389 390 static const esp_efuse_desc_t ABS_DONE_1[] = { 391 {EFUSE_BLK0, 197, 1}, // [] Secure boot V2 is enabled for bootloader image, 392 }; 393 394 static const esp_efuse_desc_t JTAG_DISABLE[] = { 395 {EFUSE_BLK0, 198, 1}, // [DISABLE_JTAG] Disable JTAG, 396 }; 397 398 static const esp_efuse_desc_t DISABLE_DL_ENCRYPT[] = { 399 {EFUSE_BLK0, 199, 1}, // [] Disable flash encryption in UART bootloader, 400 }; 401 402 static const esp_efuse_desc_t DISABLE_DL_DECRYPT[] = { 403 {EFUSE_BLK0, 200, 1}, // [] Disable flash decryption in UART bootloader, 404 }; 405 406 static const esp_efuse_desc_t DISABLE_DL_CACHE[] = { 407 {EFUSE_BLK0, 201, 1}, // [] Disable flash cache in UART bootloader, 408 }; 409 410 static const esp_efuse_desc_t KEY_STATUS[] = { 411 {EFUSE_BLK0, 202, 1}, // [] Usage of efuse block 3 (reserved), 412 }; 413 414 static const esp_efuse_desc_t BLOCK1[] = { 415 {EFUSE_BLK1, 0, MAX_BLK_LEN}, // [ENCRYPT_FLASH_KEY] Flash encryption key, 416 }; 417 418 static const esp_efuse_desc_t BLOCK2[] = { 419 {EFUSE_BLK2, 0, MAX_BLK_LEN}, // [SECURE_BOOT_KEY] Security boot key, 420 }; 421 422 static const esp_efuse_desc_t CUSTOM_MAC_CRC[] = { 423 {EFUSE_BLK3, 0, 8}, // [MAC_CUSTOM_CRC] CRC8 for custom MAC address, 424 }; 425 426 static const esp_efuse_desc_t MAC_CUSTOM[] = { 427 {EFUSE_BLK3, 8, 48}, // [MAC_CUSTOM] Custom MAC address, 428 }; 429 430 static const esp_efuse_desc_t ADC1_TP_LOW[] = { 431 {EFUSE_BLK3, 96, 7}, // [] ADC1 Two Point calibration low point. Only valid if EFUSE_RD_BLK3_PART_RESERVE, 432 }; 433 434 static const esp_efuse_desc_t ADC1_TP_HIGH[] = { 435 {EFUSE_BLK3, 103, 9}, // [] ADC1 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE, 436 }; 437 438 static const esp_efuse_desc_t ADC2_TP_LOW[] = { 439 {EFUSE_BLK3, 112, 7}, // [] ADC2 Two Point calibration low point. Only valid if EFUSE_RD_BLK3_PART_RESERVE, 440 }; 441 442 static const esp_efuse_desc_t ADC2_TP_HIGH[] = { 443 {EFUSE_BLK3, 119, 9}, // [] ADC2 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE, 444 }; 445 446 static const esp_efuse_desc_t SECURE_VERSION[] = { 447 {EFUSE_BLK3, 128, 32}, // [] Secure version for anti-rollback, 448 }; 449 450 static const esp_efuse_desc_t MAC_VERSION[] = { 451 {EFUSE_BLK3, 184, 8}, // [MAC_CUSTOM_VER] Version of the MAC field {1: "Custom MAC in BLOCK3"}, 452 }; 453 454 455 456 457 458 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS[] = { 459 &WR_DIS[0], // [] Efuse write disable mask 460 NULL 461 }; 462 463 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_RD_DIS[] = { 464 &WR_DIS_RD_DIS[0], // [WR_DIS.EFUSE_RD_DISABLE] wr_dis of RD_DIS 465 NULL 466 }; 467 468 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_WR_DIS[] = { 469 &WR_DIS_WR_DIS[0], // [] wr_dis of WR_DIS 470 NULL 471 }; 472 473 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_CRYPT_CNT[] = { 474 &WR_DIS_FLASH_CRYPT_CNT[0], // [] wr_dis of FLASH_CRYPT_CNT 475 NULL 476 }; 477 478 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_UART_DOWNLOAD_DIS[] = { 479 &WR_DIS_UART_DOWNLOAD_DIS[0], // [] wr_dis of UART_DOWNLOAD_DIS 480 NULL 481 }; 482 483 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_MAC[] = { 484 &WR_DIS_MAC[0], // [WR_DIS.MAC_FACTORY] wr_dis of MAC 485 NULL 486 }; 487 488 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_MAC_CRC[] = { 489 &WR_DIS_MAC_CRC[0], // [WR_DIS.MAC_FACTORY_CRC] wr_dis of MAC_CRC 490 NULL 491 }; 492 493 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_APP_CPU[] = { 494 &WR_DIS_DISABLE_APP_CPU[0], // [WR_DIS.CHIP_VER_DIS_APP_CPU] wr_dis of DISABLE_APP_CPU 495 NULL 496 }; 497 498 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_BT[] = { 499 &WR_DIS_DISABLE_BT[0], // [WR_DIS.CHIP_VER_DIS_BT] wr_dis of DISABLE_BT 500 NULL 501 }; 502 503 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIS_CACHE[] = { 504 &WR_DIS_DIS_CACHE[0], // [WR_DIS.CHIP_VER_DIS_CACHE] wr_dis of DIS_CACHE 505 NULL 506 }; 507 508 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_VOL_LEVEL_HP_INV[] = { 509 &WR_DIS_VOL_LEVEL_HP_INV[0], // [] wr_dis of VOL_LEVEL_HP_INV 510 NULL 511 }; 512 513 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CLK8M_FREQ[] = { 514 &WR_DIS_CLK8M_FREQ[0], // [WR_DIS.CK8M_FREQ] wr_dis of CLK8M_FREQ 515 NULL 516 }; 517 518 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC_VREF[] = { 519 &WR_DIS_ADC_VREF[0], // [] wr_dis of ADC_VREF 520 NULL 521 }; 522 523 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_XPD_SDIO_REG[] = { 524 &WR_DIS_XPD_SDIO_REG[0], // [] wr_dis of XPD_SDIO_REG 525 NULL 526 }; 527 528 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_XPD_SDIO_TIEH[] = { 529 &WR_DIS_XPD_SDIO_TIEH[0], // [WR_DIS.SDIO_TIEH] wr_dis of XPD_SDIO_TIEH 530 NULL 531 }; 532 533 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_XPD_SDIO_FORCE[] = { 534 &WR_DIS_XPD_SDIO_FORCE[0], // [WR_DIS.SDIO_FORCE] wr_dis of XPD_SDIO_FORCE 535 NULL 536 }; 537 538 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_CLK[] = { 539 &WR_DIS_SPI_PAD_CONFIG_CLK[0], // [] wr_dis of SPI_PAD_CONFIG_CLK 540 NULL 541 }; 542 543 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_Q[] = { 544 &WR_DIS_SPI_PAD_CONFIG_Q[0], // [] wr_dis of SPI_PAD_CONFIG_Q 545 NULL 546 }; 547 548 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_D[] = { 549 &WR_DIS_SPI_PAD_CONFIG_D[0], // [] wr_dis of SPI_PAD_CONFIG_D 550 NULL 551 }; 552 553 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_CS0[] = { 554 &WR_DIS_SPI_PAD_CONFIG_CS0[0], // [] wr_dis of SPI_PAD_CONFIG_CS0 555 NULL 556 }; 557 558 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK1[] = { 559 &WR_DIS_BLOCK1[0], // [WR_DIS.ENCRYPT_FLASH_KEY WR_DIS.BLK1] wr_dis of BLOCK1 560 NULL 561 }; 562 563 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK2[] = { 564 &WR_DIS_BLOCK2[0], // [WR_DIS.SECURE_BOOT_KEY WR_DIS.BLK2] wr_dis of BLOCK2 565 NULL 566 }; 567 568 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK3[] = { 569 &WR_DIS_BLOCK3[0], // [WR_DIS.BLK3] wr_dis of BLOCK3 570 NULL 571 }; 572 573 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CUSTOM_MAC_CRC[] = { 574 &WR_DIS_CUSTOM_MAC_CRC[0], // [WR_DIS.MAC_CUSTOM_CRC] wr_dis of CUSTOM_MAC_CRC 575 NULL 576 }; 577 578 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CUSTOM_MAC[] = { 579 &WR_DIS_CUSTOM_MAC[0], // [WR_DIS.MAC_CUSTOM] wr_dis of CUSTOM_MAC 580 NULL 581 }; 582 583 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_TP_LOW[] = { 584 &WR_DIS_ADC1_TP_LOW[0], // [] wr_dis of ADC1_TP_LOW 585 NULL 586 }; 587 588 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_TP_HIGH[] = { 589 &WR_DIS_ADC1_TP_HIGH[0], // [] wr_dis of ADC1_TP_HIGH 590 NULL 591 }; 592 593 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_TP_LOW[] = { 594 &WR_DIS_ADC2_TP_LOW[0], // [] wr_dis of ADC2_TP_LOW 595 NULL 596 }; 597 598 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_TP_HIGH[] = { 599 &WR_DIS_ADC2_TP_HIGH[0], // [] wr_dis of ADC2_TP_HIGH 600 NULL 601 }; 602 603 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SECURE_VERSION[] = { 604 &WR_DIS_SECURE_VERSION[0], // [] wr_dis of SECURE_VERSION 605 NULL 606 }; 607 608 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_MAC_VERSION[] = { 609 &WR_DIS_MAC_VERSION[0], // [WR_DIS.MAC_CUSTOM_VER] wr_dis of MAC_VERSION 610 NULL 611 }; 612 613 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLK3_PART_RESERVE[] = { 614 &WR_DIS_BLK3_PART_RESERVE[0], // [] wr_dis of BLK3_PART_RESERVE 615 NULL 616 }; 617 618 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_CRYPT_CONFIG[] = { 619 &WR_DIS_FLASH_CRYPT_CONFIG[0], // [WR_DIS.ENCRYPT_CONFIG] wr_dis of FLASH_CRYPT_CONFIG 620 NULL 621 }; 622 623 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CODING_SCHEME[] = { 624 &WR_DIS_CODING_SCHEME[0], // [] wr_dis of CODING_SCHEME 625 NULL 626 }; 627 628 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_KEY_STATUS[] = { 629 &WR_DIS_KEY_STATUS[0], // [] wr_dis of KEY_STATUS 630 NULL 631 }; 632 633 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ABS_DONE_0[] = { 634 &WR_DIS_ABS_DONE_0[0], // [] wr_dis of ABS_DONE_0 635 NULL 636 }; 637 638 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ABS_DONE_1[] = { 639 &WR_DIS_ABS_DONE_1[0], // [] wr_dis of ABS_DONE_1 640 NULL 641 }; 642 643 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_JTAG_DISABLE[] = { 644 &WR_DIS_JTAG_DISABLE[0], // [WR_DIS.DISABLE_JTAG] wr_dis of JTAG_DISABLE 645 NULL 646 }; 647 648 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CONSOLE_DEBUG_DISABLE[] = { 649 &WR_DIS_CONSOLE_DEBUG_DISABLE[0], // [] wr_dis of CONSOLE_DEBUG_DISABLE 650 NULL 651 }; 652 653 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_DL_ENCRYPT[] = { 654 &WR_DIS_DISABLE_DL_ENCRYPT[0], // [] wr_dis of DISABLE_DL_ENCRYPT 655 NULL 656 }; 657 658 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_DL_DECRYPT[] = { 659 &WR_DIS_DISABLE_DL_DECRYPT[0], // [] wr_dis of DISABLE_DL_DECRYPT 660 NULL 661 }; 662 663 const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_DL_CACHE[] = { 664 &WR_DIS_DISABLE_DL_CACHE[0], // [] wr_dis of DISABLE_DL_CACHE 665 NULL 666 }; 667 668 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS[] = { 669 &RD_DIS[0], // [] Disable reading from BlOCK1-3 670 NULL 671 }; 672 673 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLOCK1[] = { 674 &RD_DIS_BLOCK1[0], // [RD_DIS.ENCRYPT_FLASH_KEY RD_DIS.BLK1] rd_dis of BLOCK1 675 NULL 676 }; 677 678 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLOCK2[] = { 679 &RD_DIS_BLOCK2[0], // [RD_DIS.SECURE_BOOT_KEY RD_DIS.BLK2] rd_dis of BLOCK2 680 NULL 681 }; 682 683 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLOCK3[] = { 684 &RD_DIS_BLOCK3[0], // [RD_DIS.BLK3] rd_dis of BLOCK3 685 NULL 686 }; 687 688 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_CUSTOM_MAC_CRC[] = { 689 &RD_DIS_CUSTOM_MAC_CRC[0], // [RD_DIS.MAC_CUSTOM_CRC] rd_dis of CUSTOM_MAC_CRC 690 NULL 691 }; 692 693 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_CUSTOM_MAC[] = { 694 &RD_DIS_CUSTOM_MAC[0], // [RD_DIS.MAC_CUSTOM] rd_dis of CUSTOM_MAC 695 NULL 696 }; 697 698 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_TP_LOW[] = { 699 &RD_DIS_ADC1_TP_LOW[0], // [] rd_dis of ADC1_TP_LOW 700 NULL 701 }; 702 703 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_TP_HIGH[] = { 704 &RD_DIS_ADC1_TP_HIGH[0], // [] rd_dis of ADC1_TP_HIGH 705 NULL 706 }; 707 708 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_TP_LOW[] = { 709 &RD_DIS_ADC2_TP_LOW[0], // [] rd_dis of ADC2_TP_LOW 710 NULL 711 }; 712 713 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_TP_HIGH[] = { 714 &RD_DIS_ADC2_TP_HIGH[0], // [] rd_dis of ADC2_TP_HIGH 715 NULL 716 }; 717 718 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_SECURE_VERSION[] = { 719 &RD_DIS_SECURE_VERSION[0], // [] rd_dis of SECURE_VERSION 720 NULL 721 }; 722 723 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_MAC_VERSION[] = { 724 &RD_DIS_MAC_VERSION[0], // [RD_DIS.MAC_CUSTOM_VER] rd_dis of MAC_VERSION 725 NULL 726 }; 727 728 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLK3_PART_RESERVE[] = { 729 &RD_DIS_BLK3_PART_RESERVE[0], // [] rd_dis of BLK3_PART_RESERVE 730 NULL 731 }; 732 733 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_FLASH_CRYPT_CONFIG[] = { 734 &RD_DIS_FLASH_CRYPT_CONFIG[0], // [RD_DIS.ENCRYPT_CONFIG] rd_dis of FLASH_CRYPT_CONFIG 735 NULL 736 }; 737 738 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_CODING_SCHEME[] = { 739 &RD_DIS_CODING_SCHEME[0], // [] rd_dis of CODING_SCHEME 740 NULL 741 }; 742 743 const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_KEY_STATUS[] = { 744 &RD_DIS_KEY_STATUS[0], // [] rd_dis of KEY_STATUS 745 NULL 746 }; 747 748 const esp_efuse_desc_t* ESP_EFUSE_FLASH_CRYPT_CNT[] = { 749 &FLASH_CRYPT_CNT[0], // [] Flash encryption is enabled if this field has an odd number of bits set 750 NULL 751 }; 752 753 const esp_efuse_desc_t* ESP_EFUSE_UART_DOWNLOAD_DIS[] = { 754 &UART_DOWNLOAD_DIS[0], // [] Disable UART download mode. Valid for ESP32 V3 and newer; only 755 NULL 756 }; 757 758 const esp_efuse_desc_t* ESP_EFUSE_MAC[] = { 759 &MAC[0], // [MAC_FACTORY] MAC address 760 &MAC[1], // [MAC_FACTORY] MAC address 761 &MAC[2], // [MAC_FACTORY] MAC address 762 &MAC[3], // [MAC_FACTORY] MAC address 763 &MAC[4], // [MAC_FACTORY] MAC address 764 &MAC[5], // [MAC_FACTORY] MAC address 765 NULL 766 }; 767 768 const esp_efuse_desc_t* ESP_EFUSE_MAC_CRC[] = { 769 &MAC_CRC[0], // [MAC_FACTORY_CRC] CRC8 for MAC address 770 NULL 771 }; 772 773 const esp_efuse_desc_t* ESP_EFUSE_DISABLE_APP_CPU[] = { 774 &DISABLE_APP_CPU[0], // [CHIP_VER_DIS_APP_CPU] Disables APP CPU 775 NULL 776 }; 777 778 const esp_efuse_desc_t* ESP_EFUSE_DISABLE_BT[] = { 779 &DISABLE_BT[0], // [CHIP_VER_DIS_BT] Disables Bluetooth 780 NULL 781 }; 782 783 const esp_efuse_desc_t* ESP_EFUSE_CHIP_PACKAGE_4BIT[] = { 784 &CHIP_PACKAGE_4BIT[0], // [CHIP_VER_PKG_4BIT] Chip package identifier #4bit 785 NULL 786 }; 787 788 const esp_efuse_desc_t* ESP_EFUSE_DIS_CACHE[] = { 789 &DIS_CACHE[0], // [CHIP_VER_DIS_CACHE] Disables cache 790 NULL 791 }; 792 793 const esp_efuse_desc_t* ESP_EFUSE_SPI_PAD_CONFIG_HD[] = { 794 &SPI_PAD_CONFIG_HD[0], // [] read for SPI_pad_config_hd 795 NULL 796 }; 797 798 const esp_efuse_desc_t* ESP_EFUSE_CHIP_PACKAGE[] = { 799 &CHIP_PACKAGE[0], // [CHIP_VER_PKG] Chip package identifier 800 NULL 801 }; 802 803 const esp_efuse_desc_t* ESP_EFUSE_CHIP_CPU_FREQ_LOW[] = { 804 &CHIP_CPU_FREQ_LOW[0], // [] If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the ESP32's max CPU frequency is rated for 160MHz. 240MHz otherwise 805 NULL 806 }; 807 808 const esp_efuse_desc_t* ESP_EFUSE_CHIP_CPU_FREQ_RATED[] = { 809 &CHIP_CPU_FREQ_RATED[0], // [] If set; the ESP32's maximum CPU frequency has been rated 810 NULL 811 }; 812 813 const esp_efuse_desc_t* ESP_EFUSE_BLK3_PART_RESERVE[] = { 814 &BLK3_PART_RESERVE[0], // [] BLOCK3 partially served for ADC calibration data 815 NULL 816 }; 817 818 const esp_efuse_desc_t* ESP_EFUSE_CHIP_VER_REV1[] = { 819 &CHIP_VER_REV1[0], // [] bit is set to 1 for rev1 silicon 820 NULL 821 }; 822 823 const esp_efuse_desc_t* ESP_EFUSE_CLK8M_FREQ[] = { 824 &CLK8M_FREQ[0], // [CK8M_FREQ] 8MHz clock freq override 825 NULL 826 }; 827 828 const esp_efuse_desc_t* ESP_EFUSE_ADC_VREF[] = { 829 &ADC_VREF[0], // [] True ADC reference voltage 830 NULL 831 }; 832 833 const esp_efuse_desc_t* ESP_EFUSE_XPD_SDIO_REG[] = { 834 &XPD_SDIO_REG[0], // [] read for XPD_SDIO_REG 835 NULL 836 }; 837 838 const esp_efuse_desc_t* ESP_EFUSE_XPD_SDIO_TIEH[] = { 839 &XPD_SDIO_TIEH[0], // [SDIO_TIEH] If XPD_SDIO_FORCE & XPD_SDIO_REG {1: "3.3V"; 0: "1.8V"} 840 NULL 841 }; 842 843 const esp_efuse_desc_t* ESP_EFUSE_XPD_SDIO_FORCE[] = { 844 &XPD_SDIO_FORCE[0], // [SDIO_FORCE] Ignore MTDI pin (GPIO12) for VDD_SDIO on reset 845 NULL 846 }; 847 848 const esp_efuse_desc_t* ESP_EFUSE_SPI_PAD_CONFIG_CLK[] = { 849 &SPI_PAD_CONFIG_CLK[0], // [] Override SD_CLK pad (GPIO6/SPICLK) 850 NULL 851 }; 852 853 const esp_efuse_desc_t* ESP_EFUSE_SPI_PAD_CONFIG_Q[] = { 854 &SPI_PAD_CONFIG_Q[0], // [] Override SD_DATA_0 pad (GPIO7/SPIQ) 855 NULL 856 }; 857 858 const esp_efuse_desc_t* ESP_EFUSE_SPI_PAD_CONFIG_D[] = { 859 &SPI_PAD_CONFIG_D[0], // [] Override SD_DATA_1 pad (GPIO8/SPID) 860 NULL 861 }; 862 863 const esp_efuse_desc_t* ESP_EFUSE_SPI_PAD_CONFIG_CS0[] = { 864 &SPI_PAD_CONFIG_CS0[0], // [] Override SD_CMD pad (GPIO11/SPICS0) 865 NULL 866 }; 867 868 const esp_efuse_desc_t* ESP_EFUSE_CHIP_VER_REV2[] = { 869 &CHIP_VER_REV2[0], // [] 870 NULL 871 }; 872 873 const esp_efuse_desc_t* ESP_EFUSE_VOL_LEVEL_HP_INV[] = { 874 &VOL_LEVEL_HP_INV[0], // [] This field stores the voltage level for CPU to run at 240 MHz; or for flash/PSRAM to run at 80 MHz.0x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: level 4. (RO) 875 NULL 876 }; 877 878 const esp_efuse_desc_t* ESP_EFUSE_WAFER_VERSION_MINOR[] = { 879 &WAFER_VERSION_MINOR[0], // [] 880 NULL 881 }; 882 883 const esp_efuse_desc_t* ESP_EFUSE_FLASH_CRYPT_CONFIG[] = { 884 &FLASH_CRYPT_CONFIG[0], // [ENCRYPT_CONFIG] Flash encryption config (key tweak bits) 885 NULL 886 }; 887 888 const esp_efuse_desc_t* ESP_EFUSE_CODING_SCHEME[] = { 889 &CODING_SCHEME[0], // [] Efuse variable block length scheme {0: "NONE (BLK1-3 len=256 bits)"; 1: "3/4 (BLK1-3 len=192 bits)"; 2: "REPEAT (BLK1-3 len=128 bits) not supported"; 3: "NONE (BLK1-3 len=256 bits)"} 890 NULL 891 }; 892 893 const esp_efuse_desc_t* ESP_EFUSE_CONSOLE_DEBUG_DISABLE[] = { 894 &CONSOLE_DEBUG_DISABLE[0], // [] Disable ROM BASIC interpreter fallback 895 NULL 896 }; 897 898 const esp_efuse_desc_t* ESP_EFUSE_DISABLE_SDIO_HOST[] = { 899 &DISABLE_SDIO_HOST[0], // [] 900 NULL 901 }; 902 903 const esp_efuse_desc_t* ESP_EFUSE_ABS_DONE_0[] = { 904 &ABS_DONE_0[0], // [] Secure boot V1 is enabled for bootloader image 905 NULL 906 }; 907 908 const esp_efuse_desc_t* ESP_EFUSE_ABS_DONE_1[] = { 909 &ABS_DONE_1[0], // [] Secure boot V2 is enabled for bootloader image 910 NULL 911 }; 912 913 const esp_efuse_desc_t* ESP_EFUSE_JTAG_DISABLE[] = { 914 &JTAG_DISABLE[0], // [DISABLE_JTAG] Disable JTAG 915 NULL 916 }; 917 918 const esp_efuse_desc_t* ESP_EFUSE_DISABLE_DL_ENCRYPT[] = { 919 &DISABLE_DL_ENCRYPT[0], // [] Disable flash encryption in UART bootloader 920 NULL 921 }; 922 923 const esp_efuse_desc_t* ESP_EFUSE_DISABLE_DL_DECRYPT[] = { 924 &DISABLE_DL_DECRYPT[0], // [] Disable flash decryption in UART bootloader 925 NULL 926 }; 927 928 const esp_efuse_desc_t* ESP_EFUSE_DISABLE_DL_CACHE[] = { 929 &DISABLE_DL_CACHE[0], // [] Disable flash cache in UART bootloader 930 NULL 931 }; 932 933 const esp_efuse_desc_t* ESP_EFUSE_KEY_STATUS[] = { 934 &KEY_STATUS[0], // [] Usage of efuse block 3 (reserved) 935 NULL 936 }; 937 938 const esp_efuse_desc_t* ESP_EFUSE_BLOCK1[] = { 939 &BLOCK1[0], // [ENCRYPT_FLASH_KEY] Flash encryption key 940 NULL 941 }; 942 943 const esp_efuse_desc_t* ESP_EFUSE_BLOCK2[] = { 944 &BLOCK2[0], // [SECURE_BOOT_KEY] Security boot key 945 NULL 946 }; 947 948 const esp_efuse_desc_t* ESP_EFUSE_CUSTOM_MAC_CRC[] = { 949 &CUSTOM_MAC_CRC[0], // [MAC_CUSTOM_CRC] CRC8 for custom MAC address 950 NULL 951 }; 952 953 const esp_efuse_desc_t* ESP_EFUSE_MAC_CUSTOM[] = { 954 &MAC_CUSTOM[0], // [MAC_CUSTOM] Custom MAC address 955 NULL 956 }; 957 958 const esp_efuse_desc_t* ESP_EFUSE_ADC1_TP_LOW[] = { 959 &ADC1_TP_LOW[0], // [] ADC1 Two Point calibration low point. Only valid if EFUSE_RD_BLK3_PART_RESERVE 960 NULL 961 }; 962 963 const esp_efuse_desc_t* ESP_EFUSE_ADC1_TP_HIGH[] = { 964 &ADC1_TP_HIGH[0], // [] ADC1 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE 965 NULL 966 }; 967 968 const esp_efuse_desc_t* ESP_EFUSE_ADC2_TP_LOW[] = { 969 &ADC2_TP_LOW[0], // [] ADC2 Two Point calibration low point. Only valid if EFUSE_RD_BLK3_PART_RESERVE 970 NULL 971 }; 972 973 const esp_efuse_desc_t* ESP_EFUSE_ADC2_TP_HIGH[] = { 974 &ADC2_TP_HIGH[0], // [] ADC2 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE 975 NULL 976 }; 977 978 const esp_efuse_desc_t* ESP_EFUSE_SECURE_VERSION[] = { 979 &SECURE_VERSION[0], // [] Secure version for anti-rollback 980 NULL 981 }; 982 983 const esp_efuse_desc_t* ESP_EFUSE_MAC_VERSION[] = { 984 &MAC_VERSION[0], // [MAC_CUSTOM_VER] Version of the MAC field {1: "Custom MAC in BLOCK3"} 985 NULL 986 }; 987