From cdc5597d91c16424aaca080145290b307a4ba229 Mon Sep 17 00:00:00 2001 From: Konstantin Kondrashov Date: Fri, 31 May 2024 13:30:56 +0300 Subject: [PATCH] feat(doc): Update efuse doc for C5 --- docs/docs_not_updated/esp32c5.txt | 4 - .../system/inc/espefuse_summary_ESP32-C5.rst | 176 +++++++++++++++++- .../system/inc/show-efuse-table_ESP32-C5.rst | 168 ++++++++++++++++- 3 files changed, 342 insertions(+), 6 deletions(-) diff --git a/docs/docs_not_updated/esp32c5.txt b/docs/docs_not_updated/esp32c5.txt index cfbc143a57..44649c80f4 100644 --- a/docs/docs_not_updated/esp32c5.txt +++ b/docs/docs_not_updated/esp32c5.txt @@ -151,7 +151,6 @@ api-reference/system/mm_sync.rst api-reference/system/ota.rst api-reference/system/perfmon.rst api-reference/system/esp_function_with_shared_stack.rst -api-reference/system/efuse.rst api-reference/system/chip_revision.rst api-reference/system/async_memcpy.rst api-reference/system/random.rst @@ -168,9 +167,6 @@ api-reference/system/mem_alloc.rst api-reference/system/wdts.rst api-reference/system/misc_system_api.rst api-reference/system/bootloader_image_format.rst -api-reference/system/inc/show-efuse-table_ESP32-C5.rst -api-reference/system/inc/revisions_ESP32-C5.rst -api-reference/system/inc/espefuse_summary_ESP32-C5.rst api-reference/system/inc/power_management_esp32c5.rst api-reference/system/heap_debug.rst api-reference/system/mm.rst diff --git a/docs/en/api-reference/system/inc/espefuse_summary_ESP32-C5.rst b/docs/en/api-reference/system/inc/espefuse_summary_ESP32-C5.rst index f1070d8a43..c1acf3cf6b 100644 --- a/docs/en/api-reference/system/inc/espefuse_summary_ESP32-C5.rst +++ b/docs/en/api-reference/system/inc/espefuse_summary_ESP32-C5.rst @@ -1,3 +1,177 @@ .. code-block:: none - To be updated for C5 + espefuse.py -p PORT summary + + espefuse.py v4.8.dev4 + + === Run "summary" command === + EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) + ---------------------------------------------------------------------------------------- + Config fuses: + WR_DIS (BLOCK0) Disable programming of individual eFuses = 0 R/W (0x00000000) + RD_DIS (BLOCK0) Disable reading from BlOCK4-10 = 0 R/W (0b0000000) + DIS_ICACHE (BLOCK0) Represents whether icache is disabled or enabled.\ = False R/W (0b0) + \ 1: disabled\\ 0: enabled\\ + DIS_TWAI (BLOCK0) Represents whether TWAI function is disabled or en = False R/W (0b0) + abled.\\ 1: disabled\\ 0: enabled\\ + KM_DISABLE_DEPLOY_MODE (BLOCK0) Represents whether the deploy mode of key manager = 0 R/W (0x0) + is disable or not. \\ 1: disabled \\ 0: enabled.\\ + KM_RND_SWITCH_CYCLE (BLOCK0) Set the bits to control key manager random number = 0 R/W (0b00) + switch cycle. 0: control by register. 1: 8 km clk + cycles. 2: 16 km cycles. 3: 32 km cycles + KM_DEPLOY_ONLY_ONCE (BLOCK0) Set each bit to control whether corresponding key = 0 R/W (0x0) + can only be deployed once. 1 is true; 0 is false. + bit 0: ecsda; bit 1: xts; bit2: hmac; bit3: ds + DIS_DIRECT_BOOT (BLOCK0) Represents whether direct boot mode is disabled or = False R/W (0b0) + enabled.\\ 1: disabled\\ 0: enabled + UART_PRINT_CONTROL (BLOCK0) Set the default UARTboot message output mode = Enable R/W (0b00) + HYS_EN_PAD (BLOCK0) Represents whether the hysteresis function of = False R/W (0b0) + corresponding PAD is enabled.\\ 1: enabled\\ 0:disabled + HUK_GEN_STATE (BLOCK0) Set the bits to control validation of HUK generate = 0 R/W (0b000000000) + mode.\\ Odd of 1 is invalid.\\ Even of 1 is valid + XTAL_48M_SEL (BLOCK0) Represents whether XTAL frequency is 48MHz or not. = 0 R/W (0b000) + If not; 40MHz XTAL will be used. If this field co + ntains Odd number bit 1: Enable 48MHz XTAL\ Even n + umber bit 1: Enable 40MHz XTAL + XTAL_48M_SEL_MODE (BLOCK0) Specify the XTAL frequency selection is decided by = False R/W (0b0) + eFuse or strapping-PAD-state. 1: eFuse\\ 0: strap + ping-PAD-state + ECC_FORCE_CONST_TIME (BLOCK0) Represents whether to force ecc to use const-time = False R/W (0b0) + calculation mode. \\ 1: Enable. \\ 0: Disable + BLOCK_SYS_DATA1 (BLOCK2) System data part 1 (reserved) + = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W + BLOCK_USR_DATA (BLOCK3) User data + = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W + BLOCK_SYS_DATA2 (BLOCK10) System data part 2 (reserved) + = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W + + Flash fuses: + FLASH_TPUW (BLOCK0) Represents the flash waiting time after power-up; = 0 R/W (0x0) + in unit of ms. When the value less than 15; the wa + iting time is the programmed value. Otherwise; the + waiting time is 2 times the programmed value + FORCE_SEND_RESUME (BLOCK0) Represents whether ROM code is forced to send a re = False R/W (0b0) + sume command during SPI boot.\\ 1: forced\\ 0:not + forced\\ + + Jtag fuses: + JTAG_SEL_ENABLE (BLOCK0) Represents whether the selection between usb_to_jt = False R/W (0b0) + ag and pad_to_jtag through strapping gpio15 when b + oth EFUSE_DIS_PAD_JTAG and EFUSE_DIS_USB_JTAG are + equal to 0 is enabled or disabled.\\ 1: enabled\\ + 0: disabled\\ + SOFT_DIS_JTAG (BLOCK0) Represents whether JTAG is disabled in soft way.\\ = 0 R/W (0b000) + Odd number: disabled\\ Even number: enabled\\ + DIS_PAD_JTAG (BLOCK0) Represents whether JTAG is disabled in the hard wa = False R/W (0b0) + y(permanently).\\ 1: disabled\\ 0: enabled\\ + + Mac fuses: + MAC (BLOCK1) MAC address + = 00:00:00:00:00:00 (OK) R/W + MAC_EXT (BLOCK1) Represents the extended bits of MAC address = 00:00 (OK) R/W + CUSTOM_MAC (BLOCK3) Custom MAC + = 00:00:00:00:00:00 (OK) R/W + MAC_EUI64 (BLOCK1) calc MAC_EUI64 = MAC[0]:MAC[1]:MAC[2]:MAC_EXT[0]:M + = 00:00:00:00:00:00:00:00 (OK) R/W + AC_EXT[1]:MAC[3]:MAC[4]:MAC[5] + + Security fuses: + DIS_FORCE_DOWNLOAD (BLOCK0) Represents whether the function that forces chip i = False R/W (0b0) + nto download mode is disabled or enabled.\\ 1: dis + abled\\ 0: enabled\\ + SPI_DOWNLOAD_MSPI_DIS (BLOCK0) Represents whether SPI0 controller during boot_mod = False R/W (0b0) + e_download is disabled or enabled.\\ 1: disabled\\ + 0: enabled\\ + DIS_DOWNLOAD_MANUAL_ENCRYPT (BLOCK0) Represents whether flash encrypt function is disab = False R/W (0b0) + led or enabled(except in SPI boot mode).\\ 1: disa + bled\\ 0: enabled\\ + FORCE_USE_KEY_MANAGER_KEY (BLOCK0) Set each bit to control whether corresponding key = 0 R/W (0x0) + must come from key manager. 1 is true; 0 is false. + bit 0: ecsda; bit 1: xts; bit2: hmac; bit3: ds + FORCE_DISABLE_SW_INIT_KEY (BLOCK0) Set this bit to disable software written init key; = False R/W (0b0) + and force use efuse_init_key + SPI_BOOT_CRYPT_CNT (BLOCK0) Enables flash encryption when 1 or 3 bits are set = Disable R/W (0b000) + and disables otherwise + SECURE_BOOT_KEY_REVOKE0 (BLOCK0) Revoke 1st secure boot key = False R/W (0b0) + SECURE_BOOT_KEY_REVOKE1 (BLOCK0) Revoke 2nd secure boot key = False R/W (0b0) + SECURE_BOOT_KEY_REVOKE2 (BLOCK0) Revoke 3rd secure boot key = False R/W (0b0) + KEY_PURPOSE_0 (BLOCK0) Represents the purpose of Key0 = USER R/W (0x0) + KEY_PURPOSE_1 (BLOCK0) Represents the purpose of Key1 = USER R/W (0x0) + KEY_PURPOSE_2 (BLOCK0) Represents the purpose of Key2 = USER R/W (0x0) + KEY_PURPOSE_3 (BLOCK0) Represents the purpose of Key3 = USER R/W (0x0) + KEY_PURPOSE_4 (BLOCK0) Represents the purpose of Key4 = USER R/W (0x0) + KEY_PURPOSE_5 (BLOCK0) Represents the purpose of Key5 = USER R/W (0x0) + SEC_DPA_LEVEL (BLOCK0) Represents the spa secure level by configuring the = 0 R/W (0b00) + clock random divide mode + SECURE_BOOT_EN (BLOCK0) Represents whether secure boot is enabled or disab = False R/W (0b0) + led.\\ 1: enabled\\ 0: disabled\\ + SECURE_BOOT_AGGRESSIVE_REVOKE (BLOCK0) Represents whether revoking aggressive secure boot = False R/W (0b0) + is enabled or disabled.\\ 1: enabled.\\ 0: disabled + KM_XTS_KEY_LENGTH_256 (BLOCK0) Set this bitto configure flash encryption use xts- = False R/W (0b0) + 128 key. else use xts-256 key + DIS_DOWNLOAD_MODE (BLOCK0) Represents whether Download mode is disabled or en = False R/W (0b0) + abled.\\ 1: disabled\\ 0: enabled\\ + LOCK_KM_KEY (BLOCK0) Represetns whether to lock the efuse xts key.\\ 1. = False R/W (0b0) + Lock\\ 0: Unlock\\ + ENABLE_SECURITY_DOWNLOAD (BLOCK0) Represents whether security download is enabled or = False R/W (0b0) + disabled.\\ 1: enabled\\ 0: disabled\\ + SECURE_VERSION (BLOCK0) Represents the version used by ESP-IDF anti-rollba = 0 R/W (0x0000) + ck feature + SECURE_BOOT_DISABLE_FAST_WAKE (BLOCK0) Represents whether FAST VERIFY ON WAKE is disabled = False R/W (0b0) + or enabled when Secure Boot is enabled.\\ 1: disa + bled\\ 0: enabled\\ + XTS_DPA_PSEUDO_LEVEL (BLOCK0) Represents the pseudo round level of xts-aes anti- = 0 R/W (0b00) + dpa attack.\\ 3: High.\\ 2: Moderate 1. Low\\ 0: D + isabled\\ + XTS_DPA_CLK_ENABLE (BLOCK0) Represents whether xts-aes anti-dpa attack clock i = False R/W (0b0) + s enabled.\\ 1. Enable.\\ 0: Disable.\\ + ECDSA_DISABLE_P192 (BLOCK0) Represents whether to disable P192 curve in ECDSA. = False R/W (0b0) + \\ 1: Disabled.\\ 0: Not disable + BLOCK_KEY0 (BLOCK4) + Purpose: USER + Key0 or user data + = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W + BLOCK_KEY1 (BLOCK5) + Purpose: USER + Key1 or user data + = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W + BLOCK_KEY2 (BLOCK6) + Purpose: USER + Key2 or user data + = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W + BLOCK_KEY3 (BLOCK7) + Purpose: USER + Key3 or user data + = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W + BLOCK_KEY4 (BLOCK8) + Purpose: USER + Key4 or user data + = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W + BLOCK_KEY5 (BLOCK9) + Purpose: USER + Key5 or user data + = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W + + Usb fuses: + DIS_USB_JTAG (BLOCK0) Represents whether the function of usb switch to j = False R/W (0b0) + tag is disabled or enabled.\\ 1: disabled\\ 0: ena + bled\\ + USB_EXCHG_PINS (BLOCK0) Represents whether the D+ and D- pins is exchanged = False R/W (0b0) + .\\ 1: exchanged\\ 0: not exchanged\\ + DIS_USB_SERIAL_JTAG_ROM_PRINT (BLOCK0) Represents whether print from USB-Serial-JTAG is d = False R/W (0b0) + isabled or enabled.\\ 1: disabled\\ 0: enabled\\ + DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE (BLOCK0) Represents whether the USB-Serial-JTAG download fu = False R/W (0b0) + nction is disabled or enabled.\\ 1: Disable\\ 0: E + nable\\ + + Vdd fuses: + VDD_SPI_AS_GPIO (BLOCK0) Represents whether vdd spi pin is functioned as gp = False R/W (0b0) + io.\\ 1: functioned\\ 0: not functioned\\ + + Wdt fuses: + WDT_DELAY_SEL (BLOCK0) Represents the threshold level of the RTC watchdog = 0 R/W (0b00) + STG0 timeout.\\ 0: Original threshold configurati + on value of STG0 *2 \\1: Original threshold config + uration value of STG0 *4 \\2: Original threshold c + onfiguration value of STG0 *8 \\3: Original thresh + old configuration value of STG0 *16 \\ diff --git a/docs/en/api-reference/system/inc/show-efuse-table_ESP32-C5.rst b/docs/en/api-reference/system/inc/show-efuse-table_ESP32-C5.rst index 83365425f1..3919fa4bd9 100644 --- a/docs/en/api-reference/system/inc/show-efuse-table_ESP32-C5.rst +++ b/docs/en/api-reference/system/inc/show-efuse-table_ESP32-C5.rst @@ -1,4 +1,170 @@ .. code-block:: none - To be updated for C5 + $ ./efuse_table_gen.py {IDF_TARGET_PATH_NAME}/esp_efuse_table.csv --info + + Verifying efuse table... + Max number of bits in BLK 256 + Sorted efuse table: + # field_name efuse_block bit_start bit_count + 1 WR_DIS EFUSE_BLK0 0 32 + 2 WR_DIS.RD_DIS EFUSE_BLK0 0 1 + 3 WR_DIS.DIS_ICACHE EFUSE_BLK0 2 1 + 4 WR_DIS.DIS_USB_JTAG EFUSE_BLK0 2 1 + 5 WR_DIS.DIS_FORCE_DOWNLOAD EFUSE_BLK0 2 1 + 6 WR_DIS.DIS_TWAI EFUSE_BLK0 2 1 + 7 WR_DIS.JTAG_SEL_ENABLE EFUSE_BLK0 2 1 + 8 WR_DIS.DIS_PAD_JTAG EFUSE_BLK0 2 1 + 9 WR_DIS.DIS_DOWNLOAD_MANUAL_ENCRYPT EFUSE_BLK0 2 1 + 10 WR_DIS.WDT_DELAY_SEL EFUSE_BLK0 3 1 + 11 WR_DIS.SPI_BOOT_CRYPT_CNT EFUSE_BLK0 4 1 + 12 WR_DIS.SECURE_BOOT_KEY_REVOKE0 EFUSE_BLK0 5 1 + 13 WR_DIS.SECURE_BOOT_KEY_REVOKE1 EFUSE_BLK0 6 1 + 14 WR_DIS.SECURE_BOOT_KEY_REVOKE2 EFUSE_BLK0 7 1 + 15 WR_DIS.KEY_PURPOSE_0 EFUSE_BLK0 8 1 + 16 WR_DIS.KEY_PURPOSE_1 EFUSE_BLK0 9 1 + 17 WR_DIS.KEY_PURPOSE_2 EFUSE_BLK0 10 1 + 18 WR_DIS.KEY_PURPOSE_3 EFUSE_BLK0 11 1 + 19 WR_DIS.KEY_PURPOSE_4 EFUSE_BLK0 12 1 + 20 WR_DIS.KEY_PURPOSE_5 EFUSE_BLK0 13 1 + 21 WR_DIS.SEC_DPA_LEVEL EFUSE_BLK0 14 1 + 22 WR_DIS.SECURE_BOOT_EN EFUSE_BLK0 15 1 + 23 WR_DIS.SECURE_BOOT_AGGRESSIVE_REVOKE EFUSE_BLK0 16 1 + 24 WR_DIS.SPI_DOWNLOAD_MSPI_DIS EFUSE_BLK0 17 1 + 25 WR_DIS.FLASH_TPUW EFUSE_BLK0 18 1 + 26 WR_DIS.DIS_DOWNLOAD_MODE EFUSE_BLK0 18 1 + 27 WR_DIS.DIS_DIRECT_BOOT EFUSE_BLK0 18 1 + 28 WR_DIS.DIS_USB_SERIAL_JTAG_ROM_PRINT EFUSE_BLK0 18 1 + 29 WR_DIS.DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE EFUSE_BLK0 18 1 + 30 WR_DIS.ENABLE_SECURITY_DOWNLOAD EFUSE_BLK0 18 1 + 31 WR_DIS.UART_PRINT_CONTROL EFUSE_BLK0 18 1 + 32 WR_DIS.FORCE_SEND_RESUME EFUSE_BLK0 18 1 + 33 WR_DIS.SECURE_VERSION EFUSE_BLK0 18 1 + 34 WR_DIS.SECURE_BOOT_DISABLE_FAST_WAKE EFUSE_BLK0 19 1 + 35 WR_DIS.BLK1 EFUSE_BLK0 20 1 + 36 WR_DIS.MAC EFUSE_BLK0 20 1 + 37 WR_DIS.MAC_EXT EFUSE_BLK0 20 1 + 38 WR_DIS.SYS_DATA_PART1 EFUSE_BLK0 21 1 + 39 WR_DIS.BLOCK_SYS_DATA1 EFUSE_BLK0 21 1 + 40 WR_DIS.BLOCK_USR_DATA EFUSE_BLK0 22 1 + 41 WR_DIS.CUSTOM_MAC EFUSE_BLK0 22 1 + 42 WR_DIS.BLOCK_KEY0 EFUSE_BLK0 23 1 + 43 WR_DIS.BLOCK_KEY1 EFUSE_BLK0 24 1 + 44 WR_DIS.BLOCK_KEY2 EFUSE_BLK0 25 1 + 45 WR_DIS.BLOCK_KEY3 EFUSE_BLK0 26 1 + 46 WR_DIS.BLOCK_KEY4 EFUSE_BLK0 27 1 + 47 WR_DIS.BLOCK_KEY5 EFUSE_BLK0 28 1 + 48 WR_DIS.BLOCK_SYS_DATA2 EFUSE_BLK0 29 1 + 49 WR_DIS.USB_EXCHG_PINS EFUSE_BLK0 30 1 + 50 WR_DIS.VDD_SPI_AS_GPIO EFUSE_BLK0 30 1 + 51 WR_DIS.SOFT_DIS_JTAG EFUSE_BLK0 31 1 + 52 RD_DIS EFUSE_BLK0 32 7 + 53 RD_DIS.BLOCK_KEY0 EFUSE_BLK0 32 1 + 54 RD_DIS.BLOCK_KEY1 EFUSE_BLK0 33 1 + 55 RD_DIS.BLOCK_KEY2 EFUSE_BLK0 34 1 + 56 RD_DIS.BLOCK_KEY3 EFUSE_BLK0 35 1 + 57 RD_DIS.BLOCK_KEY4 EFUSE_BLK0 36 1 + 58 RD_DIS.BLOCK_KEY5 EFUSE_BLK0 37 1 + 59 RD_DIS.BLOCK_SYS_DATA2 EFUSE_BLK0 38 1 + 60 DIS_ICACHE EFUSE_BLK0 40 1 + 61 DIS_USB_JTAG EFUSE_BLK0 41 1 + 62 DIS_FORCE_DOWNLOAD EFUSE_BLK0 44 1 + 63 SPI_DOWNLOAD_MSPI_DIS EFUSE_BLK0 45 1 + 64 DIS_TWAI EFUSE_BLK0 46 1 + 65 JTAG_SEL_ENABLE EFUSE_BLK0 47 1 + 66 SOFT_DIS_JTAG EFUSE_BLK0 48 3 + 67 DIS_PAD_JTAG EFUSE_BLK0 51 1 + 68 DIS_DOWNLOAD_MANUAL_ENCRYPT EFUSE_BLK0 52 1 + 69 USB_EXCHG_PINS EFUSE_BLK0 57 1 + 70 VDD_SPI_AS_GPIO EFUSE_BLK0 58 1 + 71 KM_DISABLE_DEPLOY_MODE EFUSE_BLK0 64 4 + 72 KM_RND_SWITCH_CYCLE EFUSE_BLK0 68 2 + 73 KM_DEPLOY_ONLY_ONCE EFUSE_BLK0 70 4 + 74 FORCE_USE_KEY_MANAGER_KEY EFUSE_BLK0 74 4 + 75 FORCE_DISABLE_SW_INIT_KEY EFUSE_BLK0 78 1 + 76 WDT_DELAY_SEL EFUSE_BLK0 80 2 + 77 SPI_BOOT_CRYPT_CNT EFUSE_BLK0 82 3 + 78 SECURE_BOOT_KEY_REVOKE0 EFUSE_BLK0 85 1 + 79 SECURE_BOOT_KEY_REVOKE1 EFUSE_BLK0 86 1 + 80 SECURE_BOOT_KEY_REVOKE2 EFUSE_BLK0 87 1 + 81 KEY_PURPOSE_0 EFUSE_BLK0 88 4 + 82 KEY_PURPOSE_1 EFUSE_BLK0 92 4 + 83 KEY_PURPOSE_2 EFUSE_BLK0 96 4 + 84 KEY_PURPOSE_3 EFUSE_BLK0 100 4 + 85 KEY_PURPOSE_4 EFUSE_BLK0 104 4 + 86 KEY_PURPOSE_5 EFUSE_BLK0 108 4 + 87 SEC_DPA_LEVEL EFUSE_BLK0 112 2 + 88 SECURE_BOOT_EN EFUSE_BLK0 116 1 + 89 SECURE_BOOT_AGGRESSIVE_REVOKE EFUSE_BLK0 117 1 + 90 KM_XTS_KEY_LENGTH_256 EFUSE_BLK0 123 1 + 91 FLASH_TPUW EFUSE_BLK0 124 4 + 92 DIS_DOWNLOAD_MODE EFUSE_BLK0 128 1 + 93 DIS_DIRECT_BOOT EFUSE_BLK0 129 1 + 94 DIS_USB_SERIAL_JTAG_ROM_PRINT EFUSE_BLK0 130 1 + 95 LOCK_KM_KEY EFUSE_BLK0 131 1 + 96 DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE EFUSE_BLK0 132 1 + 97 ENABLE_SECURITY_DOWNLOAD EFUSE_BLK0 133 1 + 98 UART_PRINT_CONTROL EFUSE_BLK0 134 2 + 99 FORCE_SEND_RESUME EFUSE_BLK0 136 1 + 100 SECURE_VERSION EFUSE_BLK0 137 16 + 101 SECURE_BOOT_DISABLE_FAST_WAKE EFUSE_BLK0 153 1 + 102 HYS_EN_PAD EFUSE_BLK0 154 1 + 103 XTS_DPA_PSEUDO_LEVEL EFUSE_BLK0 155 2 + 104 XTS_DPA_CLK_ENABLE EFUSE_BLK0 157 1 + 105 HUK_GEN_STATE EFUSE_BLK0 160 9 + 106 XTAL_48M_SEL EFUSE_BLK0 169 3 + 107 XTAL_48M_SEL_MODE EFUSE_BLK0 172 1 + 108 ECDSA_DISABLE_P192 EFUSE_BLK0 173 1 + 109 ECC_FORCE_CONST_TIME EFUSE_BLK0 174 1 + 110 MAC EFUSE_BLK1 0 8 + 111 MAC EFUSE_BLK1 8 8 + 112 MAC EFUSE_BLK1 16 8 + 113 MAC EFUSE_BLK1 24 8 + 114 MAC EFUSE_BLK1 32 8 + 115 MAC EFUSE_BLK1 40 8 + 116 MAC_EXT EFUSE_BLK1 48 16 + 117 SYS_DATA_PART2 EFUSE_BLK10 0 256 + 118 BLOCK_SYS_DATA1 EFUSE_BLK2 0 256 + 119 USER_DATA EFUSE_BLK3 0 256 + 120 USER_DATA.MAC_CUSTOM EFUSE_BLK3 200 48 + 121 KEY0 EFUSE_BLK4 0 256 + 122 KEY1 EFUSE_BLK5 0 256 + 123 KEY2 EFUSE_BLK6 0 256 + 124 KEY3 EFUSE_BLK7 0 256 + 125 KEY4 EFUSE_BLK8 0 256 + 126 KEY5 EFUSE_BLK9 0 256 + + Used bits in efuse table: + EFUSE_BLK0 + [0 31] [0 0] [2 2] ... [40 41] [44 52] [57 58] [64 78] [80 113] [116 117] [123 157] [160 174] + + EFUSE_BLK1 + [0 63] + + EFUSE_BLK10 + [0 255] + + EFUSE_BLK2 + [0 255] + + EFUSE_BLK3 + [0 255] [200 247] + + EFUSE_BLK4 + [0 255] + + EFUSE_BLK5 + [0 255] + + EFUSE_BLK6 + [0 255] + + EFUSE_BLK7 + [0 255] + + EFUSE_BLK8 + [0 255] + + EFUSE_BLK9 + [0 255] + Note: Not printed ranges are free for using. (bits in EFUSE_BLK0 are reserved for Espressif)