diff --git a/docs/docs_not_updated/esp32h21.txt b/docs/docs_not_updated/esp32h21.txt index 8e607fb066a..277fc924b89 100644 --- a/docs/docs_not_updated/esp32h21.txt +++ b/docs/docs_not_updated/esp32h21.txt @@ -121,11 +121,7 @@ api-reference/system/random.rst api-reference/system/esp_https_ota.rst api-reference/system/sleep_modes.rst api-reference/system/ota.rst -api-reference/system/efuse.rst api-reference/system/inc/power_management_esp32h21.rst -api-reference/system/inc/show-efuse-table_ESP32-H21.rst -api-reference/system/inc/espefuse_summary_ESP32-H21.rst -api-reference/system/inc/espefuse_summary_ESP32-H21_dump.rst api-reference/system/power_management.rst security/vulnerabilities.rst security/tee/index.rst diff --git a/docs/en/api-reference/system/inc/espefuse_summary_ESP32-H21.rst b/docs/en/api-reference/system/inc/espefuse_summary_ESP32-H21.rst index 56fbc223f8d..92b99f54c4d 100644 --- a/docs/en/api-reference/system/inc/espefuse_summary_ESP32-H21.rst +++ b/docs/en/api-reference/system/inc/espefuse_summary_ESP32-H21.rst @@ -1,3 +1,164 @@ .. code-block:: none - To be updated + idf.py -p PORT efuse-summary + + Executing action: efuse-summary + (...) + + === 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 + POWERGLITCH_EN (BLOCK0) Represents whether power glitch function is = False R/W (0b0) + enabled. 1: enabled. 0: disabled + DIS_TWAI (BLOCK0) Represents whether TWAI function is disabled or = False R/W (0b0) + enabled. 1: disabled. 0: enabled + RPT4_RESERVED0_2 (BLOCK0) Reserved = 0 R/W (0b00) + RPT4_RESERVED0_1 (BLOCK0) Reserved = False R/W (0b0) + 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_PAD0 (BLOCK0) Set bits to enable hysteresis function of PAD0~5 = 0 R/W (0b000000) + HYS_EN_PAD1 (BLOCK0) Set bits to enable hysteresis function of PAD6~27 = 0 R/W (0b0000000000000000000000) + RXIQ_0 (BLOCK1) Stores RF Calibration data. RXIQ data 0 = 0 R/W (0b0000000) + RXIQ_1 (BLOCK1) Stores RF Calibration data. RXIQ data 1 = 0 R/W (0b0000000) + 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 + waiting 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 = False R/W (0b0) + resume command during SPI boot. 1: forced. 0:not + forced + FLASH_CAP (BLOCK1) Stores the flash cap = 0 R/W (0b000) + FLASH_TEMP (BLOCK1) Stores the flash temp = 0 R/W (0b00) + FLASH_VENDOR (BLOCK1) Stores the flash vendor = 0 R/W (0b000) + + Identity fuses: + RXIQ_VERSION (BLOCK1) Stores RF Calibration data. RXIQ version = 0 R/W (0b000) + WAFER_VERSION_MINOR (BLOCK1) Stores the wafer version minor = 0 R/W (0b000) + WAFER_VERSION_MAJOR (BLOCK1) Stores the wafer version major = 0 R/W (0b00) + DISABLE_WAFER_VERSION_MAJOR (BLOCK1) Disables check of wafer version major = False R/W (0b0) + PKG_VERSION (BLOCK1) Package version = 0 R/W (0b000) + OPTIONAL_UNIQUE_ID (BLOCK2) Optional unique 128-bit ID + = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W + BLK_VERSION_MINOR (BLOCK2) BLK_VERSION_MINOR of BLOCK2. 1: RF Calibration = 0 R/W (0b000) + data in BLOCK1 + BLK_VERSION_MAJOR (BLOCK2) BLK_VERSION_MAJOR of BLOCK2 = 0 R/W (0b00) + DISABLE_BLK_VERSION_MAJOR (BLOCK2) Disables check of blk version major = False R/W (0b0) + + Jtag fuses: + JTAG_SEL_ENABLE (BLOCK0) Set this bit to enable selection between = False R/W (0b0) + usb_to_jtag and pad_to_jtag through strapping + gpio25 when both EFUSE_DIS_PAD_JTAG and EFUSE_DIS_USB_JTAG are + equal to 0 + 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 = False R/W (0b0) + hard way(permanently). 1: disabled. 0: enabled + + Mac fuses: + MAC (BLOCK1) MAC address + = 00:00:00:00:00:00 (OK) R/W + MAC_EXT (BLOCK1) Stores 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 = False R/W (0b0) + into download mode is disabled or enabled. 1: + disabled. 0: enabled + SPI_DOWNLOAD_MSPI_DIS (BLOCK0) Represents whether SPI0 controller during = False R/W (0b0) + boot_mode_download is disabled or enabled. 1: disabled. 0: + enabled + DIS_DOWNLOAD_MANUAL_ENCRYPT (BLOCK0) Represents whether flash encrypt function is = False R/W (0b0) + disabled or enabled(except in SPI boot mode). 1: + disabled. 0: enabled + 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 + ECDSA_FORCE_USE_HARDWARE_K (BLOCK0) Represents whether hardware random number k is = False R/W (0b0) + forced used in ESDCA. 1: force used. 0: not force + used + CRYPT_DPA_ENABLE (BLOCK0) Represents whether anti-dpa attack is enabled. = False R/W (0b0) + 1:enabled. 0: disabled + SECURE_BOOT_EN (BLOCK0) Represents whether secure boot is enabled or = False R/W (0b0) + disabled. 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 + DIS_DOWNLOAD_MODE (BLOCK0) Represents whether Download mode is disabled or = False R/W (0b0) + enabled. 1: disabled. 0: enabled + 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 = 0 R/W (0x0000) + anti-rollback 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: + disabled. 0: enabled + 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 = False R/W (0b0) + jtag is disabled or enabled. 1: disabled. 0: + enabled + 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) Set this bit to disable USB-Serial-JTAG print = False R/W (0b0) + during rom boot + DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE (BLOCK0) Represents whether the USB-Serial-JTAG download = False R/W (0b0) + function is disabled or enabled. 1: disabled. 0: + enabled + + Vdd fuses: + VDD_SPI_AS_GPIO (BLOCK0) Represents whether vdd spi pin is functioned as = False R/W (0b0) + gpio. 1: functioned. 0: not functioned + + Wdt fuses: + WDT_DELAY_SEL (BLOCK0) Represents whether RTC watchdog timeout threshold = 0 R/W (0b00) + is selected at startup. 1: selected. 0: not + selected diff --git a/docs/en/api-reference/system/inc/espefuse_summary_ESP32-H21_dump.rst b/docs/en/api-reference/system/inc/espefuse_summary_ESP32-H21_dump.rst index 5b6bbcdb537..cf4ac7709e6 100644 --- a/docs/en/api-reference/system/inc/espefuse_summary_ESP32-H21_dump.rst +++ b/docs/en/api-reference/system/inc/espefuse_summary_ESP32-H21_dump.rst @@ -1,3 +1,21 @@ .. code-block:: none - To be updated + idf.py -p PORT efuse-dump + + Executing action: efuse-dump + Running espefuse in directory + Executing "espefuse dump --chip esp32h21"... + espefuse v5.3.dev3 + Connecting.... + === Run "dump" command === + BLOCK0 ( ) [0 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 + MAC_SPI_8M_0 (BLOCK1 ) [1 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_SYS_DATA (BLOCK2 ) [2 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_USR_DATA (BLOCK3 ) [3 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY0 (BLOCK4 ) [4 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY1 (BLOCK5 ) [5 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY2 (BLOCK6 ) [6 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY3 (BLOCK7 ) [7 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY4 (BLOCK8 ) [8 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY5 (BLOCK9 ) [9 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_SYS_DATA2 (BLOCK10 ) [10] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 diff --git a/docs/en/api-reference/system/inc/show-efuse-table_ESP32-H21.rst b/docs/en/api-reference/system/inc/show-efuse-table_ESP32-H21.rst index 3b79f2928a4..98dc78701e6 100644 --- a/docs/en/api-reference/system/inc/show-efuse-table_ESP32-H21.rst +++ b/docs/en/api-reference/system/inc/show-efuse-table_ESP32-H21.rst @@ -1,4 +1,240 @@ - .. code-block:: none - To be updated + $ ./efuse_table_gen.py --idf_target {IDF_TARGET_PATH_NAME} {IDF_TARGET_PATH_NAME}/esp_efuse_table.csv --info + + Parsing efuse CSV input file esp32h21/esp_efuse_table.csv ... + 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.POWERGLITCH_EN EFUSE_BLK0 2 1 + 6 WR_DIS.DIS_FORCE_DOWNLOAD EFUSE_BLK0 2 1 + 7 WR_DIS.SPI_DOWNLOAD_MSPI_DIS EFUSE_BLK0 2 1 + 8 WR_DIS.DIS_TWAI EFUSE_BLK0 2 1 + 9 WR_DIS.JTAG_SEL_ENABLE EFUSE_BLK0 2 1 + 10 WR_DIS.DIS_PAD_JTAG EFUSE_BLK0 2 1 + 11 WR_DIS.DIS_DOWNLOAD_MANUAL_ENCRYPT EFUSE_BLK0 2 1 + 12 WR_DIS.WDT_DELAY_SEL EFUSE_BLK0 3 1 + 13 WR_DIS.SPI_BOOT_CRYPT_CNT EFUSE_BLK0 4 1 + 14 WR_DIS.SECURE_BOOT_KEY_REVOKE0 EFUSE_BLK0 5 1 + 15 WR_DIS.SECURE_BOOT_KEY_REVOKE1 EFUSE_BLK0 6 1 + 16 WR_DIS.SECURE_BOOT_KEY_REVOKE2 EFUSE_BLK0 7 1 + 17 WR_DIS.KEY_PURPOSE_0 EFUSE_BLK0 8 1 + 18 WR_DIS.KEY_PURPOSE_1 EFUSE_BLK0 9 1 + 19 WR_DIS.KEY_PURPOSE_2 EFUSE_BLK0 10 1 + 20 WR_DIS.KEY_PURPOSE_3 EFUSE_BLK0 11 1 + 21 WR_DIS.KEY_PURPOSE_4 EFUSE_BLK0 12 1 + 22 WR_DIS.KEY_PURPOSE_5 EFUSE_BLK0 13 1 + 23 WR_DIS.SEC_DPA_LEVEL EFUSE_BLK0 14 1 + 24 WR_DIS.CRYPT_DPA_ENABLE EFUSE_BLK0 14 1 + 25 WR_DIS.SECURE_BOOT_EN EFUSE_BLK0 15 1 + 26 WR_DIS.SECURE_BOOT_AGGRESSIVE_REVOKE EFUSE_BLK0 16 1 + 27 WR_DIS.ECDSA_CURVE_MODE EFUSE_BLK0 17 1 + 28 WR_DIS.ECC_FORCE_CONST_TIME EFUSE_BLK0 17 1 + 29 WR_DIS.FLASH_TPUW EFUSE_BLK0 18 1 + 30 WR_DIS.DIS_DOWNLOAD_MODE EFUSE_BLK0 18 1 + 31 WR_DIS.DIS_DIRECT_BOOT EFUSE_BLK0 18 1 + 32 WR_DIS.DIS_USB_SERIAL_JTAG_ROM_PRINT EFUSE_BLK0 18 1 + 33 WR_DIS.DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE EFUSE_BLK0 18 1 + 34 WR_DIS.ENABLE_SECURITY_DOWNLOAD EFUSE_BLK0 18 1 + 35 WR_DIS.UART_PRINT_CONTROL EFUSE_BLK0 18 1 + 36 WR_DIS.FORCE_SEND_RESUME EFUSE_BLK0 18 1 + 37 WR_DIS.SECURE_VERSION EFUSE_BLK0 18 1 + 38 WR_DIS.SECURE_BOOT_DISABLE_FAST_WAKE EFUSE_BLK0 18 1 + 39 WR_DIS.HYS_EN_PAD0 EFUSE_BLK0 19 1 + 40 WR_DIS.HYS_EN_PAD1 EFUSE_BLK0 19 1 + 41 WR_DIS.BLK1 EFUSE_BLK0 20 1 + 42 WR_DIS.MAC EFUSE_BLK0 20 1 + 43 WR_DIS.MAC_EXT EFUSE_BLK0 20 1 + 44 WR_DIS.RXIQ_VERSION EFUSE_BLK0 20 1 + 45 WR_DIS.RXIQ_0 EFUSE_BLK0 20 1 + 46 WR_DIS.RXIQ_1 EFUSE_BLK0 20 1 + 47 WR_DIS.ACTIVE_HP_DBIAS EFUSE_BLK0 20 1 + 48 WR_DIS.ACTIVE_LP_DBIAS EFUSE_BLK0 20 1 + 49 WR_DIS.DSLP_DBIAS EFUSE_BLK0 20 1 + 50 WR_DIS.DBIAS_VOL_GAP EFUSE_BLK0 20 1 + 51 WR_DIS.WAFER_VERSION_MINOR EFUSE_BLK0 20 1 + 52 WR_DIS.WAFER_VERSION_MAJOR EFUSE_BLK0 20 1 + 53 WR_DIS.DISABLE_WAFER_VERSION_MAJOR EFUSE_BLK0 20 1 + 54 WR_DIS.FLASH_CAP EFUSE_BLK0 20 1 + 55 WR_DIS.FLASH_TEMP EFUSE_BLK0 20 1 + 56 WR_DIS.FLASH_VENDOR EFUSE_BLK0 20 1 + 57 WR_DIS.PKG_VERSION EFUSE_BLK0 20 1 + 58 WR_DIS.SYS_DATA_PART1 EFUSE_BLK0 21 1 + 59 WR_DIS.OPTIONAL_UNIQUE_ID EFUSE_BLK0 21 1 + 60 WR_DIS.BLK_VERSION_MINOR EFUSE_BLK0 21 1 + 61 WR_DIS.BLK_VERSION_MAJOR EFUSE_BLK0 21 1 + 62 WR_DIS.DISABLE_BLK_VERSION_MAJOR EFUSE_BLK0 21 1 + 63 WR_DIS.TEMP_CALIB EFUSE_BLK0 21 1 + 64 WR_DIS.ADC1_AVE_INITCODE_ATTEN0 EFUSE_BLK0 21 1 + 65 WR_DIS.ADC1_AVE_INITCODE_ATTEN1 EFUSE_BLK0 21 1 + 66 WR_DIS.ADC1_AVE_INITCODE_ATTEN2 EFUSE_BLK0 21 1 + 67 WR_DIS.ADC1_AVE_INITCODE_ATTEN3 EFUSE_BLK0 21 1 + 68 WR_DIS.ADC1_HI_DOUT_ATTEN0 EFUSE_BLK0 21 1 + 69 WR_DIS.ADC1_HI_DOUT_ATTEN1 EFUSE_BLK0 21 1 + 70 WR_DIS.ADC1_HI_DOUT_ATTEN2 EFUSE_BLK0 21 1 + 71 WR_DIS.ADC1_HI_DOUT_ATTEN3 EFUSE_BLK0 21 1 + 72 WR_DIS.ADC1_CH0_ATTEN0_INITCODE_DIFF EFUSE_BLK0 21 1 + 73 WR_DIS.ADC1_CH1_ATTEN0_INITCODE_DIFF EFUSE_BLK0 21 1 + 74 WR_DIS.ADC1_CH2_ATTEN0_INITCODE_DIFF EFUSE_BLK0 21 1 + 75 WR_DIS.ADC1_CH3_ATTEN0_INITCODE_DIFF EFUSE_BLK0 21 1 + 76 WR_DIS.ADC1_CH4_ATTEN0_INITCODE_DIFF EFUSE_BLK0 21 1 + 77 WR_DIS.BLOCK_USR_DATA EFUSE_BLK0 22 1 + 78 WR_DIS.CUSTOM_MAC EFUSE_BLK0 22 1 + 79 WR_DIS.BLOCK_KEY0 EFUSE_BLK0 23 1 + 80 WR_DIS.BLOCK_KEY1 EFUSE_BLK0 24 1 + 81 WR_DIS.BLOCK_KEY2 EFUSE_BLK0 25 1 + 82 WR_DIS.BLOCK_KEY3 EFUSE_BLK0 26 1 + 83 WR_DIS.BLOCK_KEY4 EFUSE_BLK0 27 1 + 84 WR_DIS.BLOCK_KEY5 EFUSE_BLK0 28 1 + 85 WR_DIS.BLOCK_SYS_DATA2 EFUSE_BLK0 29 1 + 86 WR_DIS.USB_EXCHG_PINS EFUSE_BLK0 30 1 + 87 WR_DIS.VDD_SPI_AS_GPIO EFUSE_BLK0 30 1 + 88 WR_DIS.SOFT_DIS_JTAG EFUSE_BLK0 31 1 + 89 RD_DIS EFUSE_BLK0 32 7 + 90 RD_DIS.BLOCK_KEY0 EFUSE_BLK0 32 1 + 91 RD_DIS.BLOCK_KEY1 EFUSE_BLK0 33 1 + 92 RD_DIS.BLOCK_KEY2 EFUSE_BLK0 34 1 + 93 RD_DIS.BLOCK_KEY3 EFUSE_BLK0 35 1 + 94 RD_DIS.BLOCK_KEY4 EFUSE_BLK0 36 1 + 95 RD_DIS.BLOCK_KEY5 EFUSE_BLK0 37 1 + 96 RD_DIS.BLOCK_SYS_DATA2 EFUSE_BLK0 38 1 + 97 PVT_GLITCH_EN EFUSE_BLK0 39 1 + 98 DIS_ICACHE EFUSE_BLK0 40 1 + 99 DIS_USB_JTAG EFUSE_BLK0 41 1 + 100 POWERGLITCH_EN EFUSE_BLK0 42 1 + 101 DIS_USJ EFUSE_BLK0 43 1 + 102 DIS_FORCE_DOWNLOAD EFUSE_BLK0 44 1 + 103 SPI_DOWNLOAD_MSPI_DIS EFUSE_BLK0 45 1 + 104 DIS_TWAI EFUSE_BLK0 46 1 + 105 JTAG_SEL_ENABLE EFUSE_BLK0 47 1 + 106 SOFT_DIS_JTAG EFUSE_BLK0 48 3 + 107 DIS_PAD_JTAG EFUSE_BLK0 51 1 + 108 DIS_DOWNLOAD_MANUAL_ENCRYPT EFUSE_BLK0 52 1 + 109 USB_DREFH EFUSE_BLK0 53 2 + 110 USB_DREFL EFUSE_BLK0 55 2 + 111 USB_EXCHG_PINS EFUSE_BLK0 57 1 + 112 VDD_SPI_AS_GPIO EFUSE_BLK0 58 1 + 113 ECDSA_CURVE_MODE EFUSE_BLK0 59 2 + 114 ECC_FORCE_CONST_TIME EFUSE_BLK0 61 1 + 115 XTS_DPA_PSEUDO_LEVEL EFUSE_BLK0 62 2 + 116 IO_LDO_ADJUST EFUSE_BLK0 64 8 + 117 VDD_SPI_LDO_ADJUST EFUSE_BLK0 72 8 + 118 WDT_DELAY_SEL EFUSE_BLK0 80 2 + 119 SPI_BOOT_CRYPT_CNT EFUSE_BLK0 82 3 + 120 SECURE_BOOT_KEY_REVOKE0 EFUSE_BLK0 85 1 + 121 SECURE_BOOT_KEY_REVOKE1 EFUSE_BLK0 86 1 + 122 SECURE_BOOT_KEY_REVOKE2 EFUSE_BLK0 87 1 + 123 KEY_PURPOSE_0 EFUSE_BLK0 88 4 + 124 KEY_PURPOSE_1 EFUSE_BLK0 92 4 + 125 KEY_PURPOSE_2 EFUSE_BLK0 96 4 + 126 KEY_PURPOSE_3 EFUSE_BLK0 100 4 + 127 KEY_PURPOSE_4 EFUSE_BLK0 104 4 + 128 KEY_PURPOSE_5 EFUSE_BLK0 108 4 + 129 SEC_DPA_LEVEL EFUSE_BLK0 112 2 + 130 IO_LDO_1P8 EFUSE_BLK0 114 1 + 131 CRYPT_DPA_ENABLE EFUSE_BLK0 115 1 + 132 SECURE_BOOT_EN EFUSE_BLK0 116 1 + 133 SECURE_BOOT_AGGRESSIVE_REVOKE EFUSE_BLK0 117 1 + 134 POWERGLITCH_EN1 EFUSE_BLK0 118 5 + 135 FLASH_TPUW EFUSE_BLK0 124 4 + 136 DIS_DOWNLOAD_MODE EFUSE_BLK0 128 1 + 137 DIS_DIRECT_BOOT EFUSE_BLK0 129 1 + 138 DIS_USB_SERIAL_JTAG_ROM_PRINT EFUSE_BLK0 130 1 + 139 DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE EFUSE_BLK0 132 1 + 140 ENABLE_SECURITY_DOWNLOAD EFUSE_BLK0 133 1 + 141 UART_PRINT_CONTROL EFUSE_BLK0 134 2 + 142 FORCE_SEND_RESUME EFUSE_BLK0 136 1 + 143 SECURE_VERSION EFUSE_BLK0 137 16 + 144 SECURE_BOOT_DISABLE_FAST_WAKE EFUSE_BLK0 153 1 + 145 HYS_EN_PAD0 EFUSE_BLK0 154 6 + 146 HYS_EN_PAD1 EFUSE_BLK0 160 22 + 147 MAC EFUSE_BLK1 0 8 + 148 MAC EFUSE_BLK1 8 8 + 149 MAC EFUSE_BLK1 16 8 + 150 MAC EFUSE_BLK1 24 8 + 151 MAC EFUSE_BLK1 32 8 + 152 MAC EFUSE_BLK1 40 8 + 153 MAC_EXT EFUSE_BLK1 48 8 + 154 MAC_EXT EFUSE_BLK1 56 8 + 155 RXIQ_VERSION EFUSE_BLK1 64 3 + 156 RXIQ_0 EFUSE_BLK1 67 7 + 157 RXIQ_1 EFUSE_BLK1 74 7 + 158 ACTIVE_HP_DBIAS EFUSE_BLK1 81 5 + 159 ACTIVE_LP_DBIAS EFUSE_BLK1 86 5 + 160 DSLP_DBIAS EFUSE_BLK1 91 4 + 161 DBIAS_VOL_GAP EFUSE_BLK1 95 5 + 162 WAFER_VERSION_MINOR EFUSE_BLK1 114 3 + 163 WAFER_VERSION_MAJOR EFUSE_BLK1 117 2 + 164 DISABLE_WAFER_VERSION_MAJOR EFUSE_BLK1 119 1 + 165 FLASH_CAP EFUSE_BLK1 120 3 + 166 FLASH_TEMP EFUSE_BLK1 123 2 + 167 FLASH_VENDOR EFUSE_BLK1 125 3 + 168 PKG_VERSION EFUSE_BLK1 128 3 + 169 SYS_DATA_PART2 EFUSE_BLK10 0 256 + 170 OPTIONAL_UNIQUE_ID EFUSE_BLK2 0 128 + 171 BLK_VERSION_MINOR EFUSE_BLK2 130 3 + 172 BLK_VERSION_MAJOR EFUSE_BLK2 133 2 + 173 DISABLE_BLK_VERSION_MAJOR EFUSE_BLK2 135 1 + 174 TEMP_CALIB EFUSE_BLK2 136 9 + 175 ADC1_AVE_INITCODE_ATTEN0 EFUSE_BLK2 145 10 + 176 ADC1_AVE_INITCODE_ATTEN1 EFUSE_BLK2 155 10 + 177 ADC1_AVE_INITCODE_ATTEN2 EFUSE_BLK2 165 10 + 178 ADC1_AVE_INITCODE_ATTEN3 EFUSE_BLK2 175 10 + 179 ADC1_HI_DOUT_ATTEN0 EFUSE_BLK2 185 10 + 180 ADC1_HI_DOUT_ATTEN1 EFUSE_BLK2 195 10 + 181 ADC1_HI_DOUT_ATTEN2 EFUSE_BLK2 205 10 + 182 ADC1_HI_DOUT_ATTEN3 EFUSE_BLK2 215 10 + 183 ADC1_CH0_ATTEN0_INITCODE_DIFF EFUSE_BLK2 225 4 + 184 ADC1_CH1_ATTEN0_INITCODE_DIFF EFUSE_BLK2 229 4 + 185 ADC1_CH2_ATTEN0_INITCODE_DIFF EFUSE_BLK2 233 4 + 186 ADC1_CH3_ATTEN0_INITCODE_DIFF EFUSE_BLK2 237 4 + 187 ADC1_CH4_ATTEN0_INITCODE_DIFF EFUSE_BLK2 241 4 + 188 USER_DATA EFUSE_BLK3 0 256 + 189 USER_DATA.MAC_CUSTOM EFUSE_BLK3 200 48 + 190 KEY0 EFUSE_BLK4 0 256 + 191 KEY1 EFUSE_BLK5 0 256 + 192 KEY2 EFUSE_BLK6 0 256 + 193 KEY3 EFUSE_BLK7 0 256 + 194 KEY4 EFUSE_BLK8 0 256 + 195 KEY5 EFUSE_BLK9 0 256 + + Used bits in efuse table: + EFUSE_BLK0 + [0 31] [0 0] [2 2] ... [21 21] [21 22] [22 30] [30 38] [32 122] [124 130] [132 181] + + EFUSE_BLK1 + [0 99] [114 130] + + EFUSE_BLK10 + [0 255] + + EFUSE_BLK2 + [0 127] [130 244] + + 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) diff --git a/docs/zh_CN/api-reference/system/inc/espefuse_summary_ESP32-H21.rst b/docs/zh_CN/api-reference/system/inc/espefuse_summary_ESP32-H21.rst index 56fbc223f8d..92b99f54c4d 100644 --- a/docs/zh_CN/api-reference/system/inc/espefuse_summary_ESP32-H21.rst +++ b/docs/zh_CN/api-reference/system/inc/espefuse_summary_ESP32-H21.rst @@ -1,3 +1,164 @@ .. code-block:: none - To be updated + idf.py -p PORT efuse-summary + + Executing action: efuse-summary + (...) + + === 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 + POWERGLITCH_EN (BLOCK0) Represents whether power glitch function is = False R/W (0b0) + enabled. 1: enabled. 0: disabled + DIS_TWAI (BLOCK0) Represents whether TWAI function is disabled or = False R/W (0b0) + enabled. 1: disabled. 0: enabled + RPT4_RESERVED0_2 (BLOCK0) Reserved = 0 R/W (0b00) + RPT4_RESERVED0_1 (BLOCK0) Reserved = False R/W (0b0) + 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_PAD0 (BLOCK0) Set bits to enable hysteresis function of PAD0~5 = 0 R/W (0b000000) + HYS_EN_PAD1 (BLOCK0) Set bits to enable hysteresis function of PAD6~27 = 0 R/W (0b0000000000000000000000) + RXIQ_0 (BLOCK1) Stores RF Calibration data. RXIQ data 0 = 0 R/W (0b0000000) + RXIQ_1 (BLOCK1) Stores RF Calibration data. RXIQ data 1 = 0 R/W (0b0000000) + 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 + waiting 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 = False R/W (0b0) + resume command during SPI boot. 1: forced. 0:not + forced + FLASH_CAP (BLOCK1) Stores the flash cap = 0 R/W (0b000) + FLASH_TEMP (BLOCK1) Stores the flash temp = 0 R/W (0b00) + FLASH_VENDOR (BLOCK1) Stores the flash vendor = 0 R/W (0b000) + + Identity fuses: + RXIQ_VERSION (BLOCK1) Stores RF Calibration data. RXIQ version = 0 R/W (0b000) + WAFER_VERSION_MINOR (BLOCK1) Stores the wafer version minor = 0 R/W (0b000) + WAFER_VERSION_MAJOR (BLOCK1) Stores the wafer version major = 0 R/W (0b00) + DISABLE_WAFER_VERSION_MAJOR (BLOCK1) Disables check of wafer version major = False R/W (0b0) + PKG_VERSION (BLOCK1) Package version = 0 R/W (0b000) + OPTIONAL_UNIQUE_ID (BLOCK2) Optional unique 128-bit ID + = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W + BLK_VERSION_MINOR (BLOCK2) BLK_VERSION_MINOR of BLOCK2. 1: RF Calibration = 0 R/W (0b000) + data in BLOCK1 + BLK_VERSION_MAJOR (BLOCK2) BLK_VERSION_MAJOR of BLOCK2 = 0 R/W (0b00) + DISABLE_BLK_VERSION_MAJOR (BLOCK2) Disables check of blk version major = False R/W (0b0) + + Jtag fuses: + JTAG_SEL_ENABLE (BLOCK0) Set this bit to enable selection between = False R/W (0b0) + usb_to_jtag and pad_to_jtag through strapping + gpio25 when both EFUSE_DIS_PAD_JTAG and EFUSE_DIS_USB_JTAG are + equal to 0 + 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 = False R/W (0b0) + hard way(permanently). 1: disabled. 0: enabled + + Mac fuses: + MAC (BLOCK1) MAC address + = 00:00:00:00:00:00 (OK) R/W + MAC_EXT (BLOCK1) Stores 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 = False R/W (0b0) + into download mode is disabled or enabled. 1: + disabled. 0: enabled + SPI_DOWNLOAD_MSPI_DIS (BLOCK0) Represents whether SPI0 controller during = False R/W (0b0) + boot_mode_download is disabled or enabled. 1: disabled. 0: + enabled + DIS_DOWNLOAD_MANUAL_ENCRYPT (BLOCK0) Represents whether flash encrypt function is = False R/W (0b0) + disabled or enabled(except in SPI boot mode). 1: + disabled. 0: enabled + 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 + ECDSA_FORCE_USE_HARDWARE_K (BLOCK0) Represents whether hardware random number k is = False R/W (0b0) + forced used in ESDCA. 1: force used. 0: not force + used + CRYPT_DPA_ENABLE (BLOCK0) Represents whether anti-dpa attack is enabled. = False R/W (0b0) + 1:enabled. 0: disabled + SECURE_BOOT_EN (BLOCK0) Represents whether secure boot is enabled or = False R/W (0b0) + disabled. 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 + DIS_DOWNLOAD_MODE (BLOCK0) Represents whether Download mode is disabled or = False R/W (0b0) + enabled. 1: disabled. 0: enabled + 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 = 0 R/W (0x0000) + anti-rollback 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: + disabled. 0: enabled + 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 = False R/W (0b0) + jtag is disabled or enabled. 1: disabled. 0: + enabled + 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) Set this bit to disable USB-Serial-JTAG print = False R/W (0b0) + during rom boot + DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE (BLOCK0) Represents whether the USB-Serial-JTAG download = False R/W (0b0) + function is disabled or enabled. 1: disabled. 0: + enabled + + Vdd fuses: + VDD_SPI_AS_GPIO (BLOCK0) Represents whether vdd spi pin is functioned as = False R/W (0b0) + gpio. 1: functioned. 0: not functioned + + Wdt fuses: + WDT_DELAY_SEL (BLOCK0) Represents whether RTC watchdog timeout threshold = 0 R/W (0b00) + is selected at startup. 1: selected. 0: not + selected diff --git a/docs/zh_CN/api-reference/system/inc/espefuse_summary_ESP32-H21_dump.rst b/docs/zh_CN/api-reference/system/inc/espefuse_summary_ESP32-H21_dump.rst index 5b6bbcdb537..cf4ac7709e6 100644 --- a/docs/zh_CN/api-reference/system/inc/espefuse_summary_ESP32-H21_dump.rst +++ b/docs/zh_CN/api-reference/system/inc/espefuse_summary_ESP32-H21_dump.rst @@ -1,3 +1,21 @@ .. code-block:: none - To be updated + idf.py -p PORT efuse-dump + + Executing action: efuse-dump + Running espefuse in directory + Executing "espefuse dump --chip esp32h21"... + espefuse v5.3.dev3 + Connecting.... + === Run "dump" command === + BLOCK0 ( ) [0 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 + MAC_SPI_8M_0 (BLOCK1 ) [1 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_SYS_DATA (BLOCK2 ) [2 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_USR_DATA (BLOCK3 ) [3 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY0 (BLOCK4 ) [4 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY1 (BLOCK5 ) [5 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY2 (BLOCK6 ) [6 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY3 (BLOCK7 ) [7 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY4 (BLOCK8 ) [8 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_KEY5 (BLOCK9 ) [9 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 + BLOCK_SYS_DATA2 (BLOCK10 ) [10] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 diff --git a/docs/zh_CN/api-reference/system/inc/show-efuse-table_ESP32-H21.rst b/docs/zh_CN/api-reference/system/inc/show-efuse-table_ESP32-H21.rst index 3b79f2928a4..98dc78701e6 100644 --- a/docs/zh_CN/api-reference/system/inc/show-efuse-table_ESP32-H21.rst +++ b/docs/zh_CN/api-reference/system/inc/show-efuse-table_ESP32-H21.rst @@ -1,4 +1,240 @@ - .. code-block:: none - To be updated + $ ./efuse_table_gen.py --idf_target {IDF_TARGET_PATH_NAME} {IDF_TARGET_PATH_NAME}/esp_efuse_table.csv --info + + Parsing efuse CSV input file esp32h21/esp_efuse_table.csv ... + 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.POWERGLITCH_EN EFUSE_BLK0 2 1 + 6 WR_DIS.DIS_FORCE_DOWNLOAD EFUSE_BLK0 2 1 + 7 WR_DIS.SPI_DOWNLOAD_MSPI_DIS EFUSE_BLK0 2 1 + 8 WR_DIS.DIS_TWAI EFUSE_BLK0 2 1 + 9 WR_DIS.JTAG_SEL_ENABLE EFUSE_BLK0 2 1 + 10 WR_DIS.DIS_PAD_JTAG EFUSE_BLK0 2 1 + 11 WR_DIS.DIS_DOWNLOAD_MANUAL_ENCRYPT EFUSE_BLK0 2 1 + 12 WR_DIS.WDT_DELAY_SEL EFUSE_BLK0 3 1 + 13 WR_DIS.SPI_BOOT_CRYPT_CNT EFUSE_BLK0 4 1 + 14 WR_DIS.SECURE_BOOT_KEY_REVOKE0 EFUSE_BLK0 5 1 + 15 WR_DIS.SECURE_BOOT_KEY_REVOKE1 EFUSE_BLK0 6 1 + 16 WR_DIS.SECURE_BOOT_KEY_REVOKE2 EFUSE_BLK0 7 1 + 17 WR_DIS.KEY_PURPOSE_0 EFUSE_BLK0 8 1 + 18 WR_DIS.KEY_PURPOSE_1 EFUSE_BLK0 9 1 + 19 WR_DIS.KEY_PURPOSE_2 EFUSE_BLK0 10 1 + 20 WR_DIS.KEY_PURPOSE_3 EFUSE_BLK0 11 1 + 21 WR_DIS.KEY_PURPOSE_4 EFUSE_BLK0 12 1 + 22 WR_DIS.KEY_PURPOSE_5 EFUSE_BLK0 13 1 + 23 WR_DIS.SEC_DPA_LEVEL EFUSE_BLK0 14 1 + 24 WR_DIS.CRYPT_DPA_ENABLE EFUSE_BLK0 14 1 + 25 WR_DIS.SECURE_BOOT_EN EFUSE_BLK0 15 1 + 26 WR_DIS.SECURE_BOOT_AGGRESSIVE_REVOKE EFUSE_BLK0 16 1 + 27 WR_DIS.ECDSA_CURVE_MODE EFUSE_BLK0 17 1 + 28 WR_DIS.ECC_FORCE_CONST_TIME EFUSE_BLK0 17 1 + 29 WR_DIS.FLASH_TPUW EFUSE_BLK0 18 1 + 30 WR_DIS.DIS_DOWNLOAD_MODE EFUSE_BLK0 18 1 + 31 WR_DIS.DIS_DIRECT_BOOT EFUSE_BLK0 18 1 + 32 WR_DIS.DIS_USB_SERIAL_JTAG_ROM_PRINT EFUSE_BLK0 18 1 + 33 WR_DIS.DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE EFUSE_BLK0 18 1 + 34 WR_DIS.ENABLE_SECURITY_DOWNLOAD EFUSE_BLK0 18 1 + 35 WR_DIS.UART_PRINT_CONTROL EFUSE_BLK0 18 1 + 36 WR_DIS.FORCE_SEND_RESUME EFUSE_BLK0 18 1 + 37 WR_DIS.SECURE_VERSION EFUSE_BLK0 18 1 + 38 WR_DIS.SECURE_BOOT_DISABLE_FAST_WAKE EFUSE_BLK0 18 1 + 39 WR_DIS.HYS_EN_PAD0 EFUSE_BLK0 19 1 + 40 WR_DIS.HYS_EN_PAD1 EFUSE_BLK0 19 1 + 41 WR_DIS.BLK1 EFUSE_BLK0 20 1 + 42 WR_DIS.MAC EFUSE_BLK0 20 1 + 43 WR_DIS.MAC_EXT EFUSE_BLK0 20 1 + 44 WR_DIS.RXIQ_VERSION EFUSE_BLK0 20 1 + 45 WR_DIS.RXIQ_0 EFUSE_BLK0 20 1 + 46 WR_DIS.RXIQ_1 EFUSE_BLK0 20 1 + 47 WR_DIS.ACTIVE_HP_DBIAS EFUSE_BLK0 20 1 + 48 WR_DIS.ACTIVE_LP_DBIAS EFUSE_BLK0 20 1 + 49 WR_DIS.DSLP_DBIAS EFUSE_BLK0 20 1 + 50 WR_DIS.DBIAS_VOL_GAP EFUSE_BLK0 20 1 + 51 WR_DIS.WAFER_VERSION_MINOR EFUSE_BLK0 20 1 + 52 WR_DIS.WAFER_VERSION_MAJOR EFUSE_BLK0 20 1 + 53 WR_DIS.DISABLE_WAFER_VERSION_MAJOR EFUSE_BLK0 20 1 + 54 WR_DIS.FLASH_CAP EFUSE_BLK0 20 1 + 55 WR_DIS.FLASH_TEMP EFUSE_BLK0 20 1 + 56 WR_DIS.FLASH_VENDOR EFUSE_BLK0 20 1 + 57 WR_DIS.PKG_VERSION EFUSE_BLK0 20 1 + 58 WR_DIS.SYS_DATA_PART1 EFUSE_BLK0 21 1 + 59 WR_DIS.OPTIONAL_UNIQUE_ID EFUSE_BLK0 21 1 + 60 WR_DIS.BLK_VERSION_MINOR EFUSE_BLK0 21 1 + 61 WR_DIS.BLK_VERSION_MAJOR EFUSE_BLK0 21 1 + 62 WR_DIS.DISABLE_BLK_VERSION_MAJOR EFUSE_BLK0 21 1 + 63 WR_DIS.TEMP_CALIB EFUSE_BLK0 21 1 + 64 WR_DIS.ADC1_AVE_INITCODE_ATTEN0 EFUSE_BLK0 21 1 + 65 WR_DIS.ADC1_AVE_INITCODE_ATTEN1 EFUSE_BLK0 21 1 + 66 WR_DIS.ADC1_AVE_INITCODE_ATTEN2 EFUSE_BLK0 21 1 + 67 WR_DIS.ADC1_AVE_INITCODE_ATTEN3 EFUSE_BLK0 21 1 + 68 WR_DIS.ADC1_HI_DOUT_ATTEN0 EFUSE_BLK0 21 1 + 69 WR_DIS.ADC1_HI_DOUT_ATTEN1 EFUSE_BLK0 21 1 + 70 WR_DIS.ADC1_HI_DOUT_ATTEN2 EFUSE_BLK0 21 1 + 71 WR_DIS.ADC1_HI_DOUT_ATTEN3 EFUSE_BLK0 21 1 + 72 WR_DIS.ADC1_CH0_ATTEN0_INITCODE_DIFF EFUSE_BLK0 21 1 + 73 WR_DIS.ADC1_CH1_ATTEN0_INITCODE_DIFF EFUSE_BLK0 21 1 + 74 WR_DIS.ADC1_CH2_ATTEN0_INITCODE_DIFF EFUSE_BLK0 21 1 + 75 WR_DIS.ADC1_CH3_ATTEN0_INITCODE_DIFF EFUSE_BLK0 21 1 + 76 WR_DIS.ADC1_CH4_ATTEN0_INITCODE_DIFF EFUSE_BLK0 21 1 + 77 WR_DIS.BLOCK_USR_DATA EFUSE_BLK0 22 1 + 78 WR_DIS.CUSTOM_MAC EFUSE_BLK0 22 1 + 79 WR_DIS.BLOCK_KEY0 EFUSE_BLK0 23 1 + 80 WR_DIS.BLOCK_KEY1 EFUSE_BLK0 24 1 + 81 WR_DIS.BLOCK_KEY2 EFUSE_BLK0 25 1 + 82 WR_DIS.BLOCK_KEY3 EFUSE_BLK0 26 1 + 83 WR_DIS.BLOCK_KEY4 EFUSE_BLK0 27 1 + 84 WR_DIS.BLOCK_KEY5 EFUSE_BLK0 28 1 + 85 WR_DIS.BLOCK_SYS_DATA2 EFUSE_BLK0 29 1 + 86 WR_DIS.USB_EXCHG_PINS EFUSE_BLK0 30 1 + 87 WR_DIS.VDD_SPI_AS_GPIO EFUSE_BLK0 30 1 + 88 WR_DIS.SOFT_DIS_JTAG EFUSE_BLK0 31 1 + 89 RD_DIS EFUSE_BLK0 32 7 + 90 RD_DIS.BLOCK_KEY0 EFUSE_BLK0 32 1 + 91 RD_DIS.BLOCK_KEY1 EFUSE_BLK0 33 1 + 92 RD_DIS.BLOCK_KEY2 EFUSE_BLK0 34 1 + 93 RD_DIS.BLOCK_KEY3 EFUSE_BLK0 35 1 + 94 RD_DIS.BLOCK_KEY4 EFUSE_BLK0 36 1 + 95 RD_DIS.BLOCK_KEY5 EFUSE_BLK0 37 1 + 96 RD_DIS.BLOCK_SYS_DATA2 EFUSE_BLK0 38 1 + 97 PVT_GLITCH_EN EFUSE_BLK0 39 1 + 98 DIS_ICACHE EFUSE_BLK0 40 1 + 99 DIS_USB_JTAG EFUSE_BLK0 41 1 + 100 POWERGLITCH_EN EFUSE_BLK0 42 1 + 101 DIS_USJ EFUSE_BLK0 43 1 + 102 DIS_FORCE_DOWNLOAD EFUSE_BLK0 44 1 + 103 SPI_DOWNLOAD_MSPI_DIS EFUSE_BLK0 45 1 + 104 DIS_TWAI EFUSE_BLK0 46 1 + 105 JTAG_SEL_ENABLE EFUSE_BLK0 47 1 + 106 SOFT_DIS_JTAG EFUSE_BLK0 48 3 + 107 DIS_PAD_JTAG EFUSE_BLK0 51 1 + 108 DIS_DOWNLOAD_MANUAL_ENCRYPT EFUSE_BLK0 52 1 + 109 USB_DREFH EFUSE_BLK0 53 2 + 110 USB_DREFL EFUSE_BLK0 55 2 + 111 USB_EXCHG_PINS EFUSE_BLK0 57 1 + 112 VDD_SPI_AS_GPIO EFUSE_BLK0 58 1 + 113 ECDSA_CURVE_MODE EFUSE_BLK0 59 2 + 114 ECC_FORCE_CONST_TIME EFUSE_BLK0 61 1 + 115 XTS_DPA_PSEUDO_LEVEL EFUSE_BLK0 62 2 + 116 IO_LDO_ADJUST EFUSE_BLK0 64 8 + 117 VDD_SPI_LDO_ADJUST EFUSE_BLK0 72 8 + 118 WDT_DELAY_SEL EFUSE_BLK0 80 2 + 119 SPI_BOOT_CRYPT_CNT EFUSE_BLK0 82 3 + 120 SECURE_BOOT_KEY_REVOKE0 EFUSE_BLK0 85 1 + 121 SECURE_BOOT_KEY_REVOKE1 EFUSE_BLK0 86 1 + 122 SECURE_BOOT_KEY_REVOKE2 EFUSE_BLK0 87 1 + 123 KEY_PURPOSE_0 EFUSE_BLK0 88 4 + 124 KEY_PURPOSE_1 EFUSE_BLK0 92 4 + 125 KEY_PURPOSE_2 EFUSE_BLK0 96 4 + 126 KEY_PURPOSE_3 EFUSE_BLK0 100 4 + 127 KEY_PURPOSE_4 EFUSE_BLK0 104 4 + 128 KEY_PURPOSE_5 EFUSE_BLK0 108 4 + 129 SEC_DPA_LEVEL EFUSE_BLK0 112 2 + 130 IO_LDO_1P8 EFUSE_BLK0 114 1 + 131 CRYPT_DPA_ENABLE EFUSE_BLK0 115 1 + 132 SECURE_BOOT_EN EFUSE_BLK0 116 1 + 133 SECURE_BOOT_AGGRESSIVE_REVOKE EFUSE_BLK0 117 1 + 134 POWERGLITCH_EN1 EFUSE_BLK0 118 5 + 135 FLASH_TPUW EFUSE_BLK0 124 4 + 136 DIS_DOWNLOAD_MODE EFUSE_BLK0 128 1 + 137 DIS_DIRECT_BOOT EFUSE_BLK0 129 1 + 138 DIS_USB_SERIAL_JTAG_ROM_PRINT EFUSE_BLK0 130 1 + 139 DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE EFUSE_BLK0 132 1 + 140 ENABLE_SECURITY_DOWNLOAD EFUSE_BLK0 133 1 + 141 UART_PRINT_CONTROL EFUSE_BLK0 134 2 + 142 FORCE_SEND_RESUME EFUSE_BLK0 136 1 + 143 SECURE_VERSION EFUSE_BLK0 137 16 + 144 SECURE_BOOT_DISABLE_FAST_WAKE EFUSE_BLK0 153 1 + 145 HYS_EN_PAD0 EFUSE_BLK0 154 6 + 146 HYS_EN_PAD1 EFUSE_BLK0 160 22 + 147 MAC EFUSE_BLK1 0 8 + 148 MAC EFUSE_BLK1 8 8 + 149 MAC EFUSE_BLK1 16 8 + 150 MAC EFUSE_BLK1 24 8 + 151 MAC EFUSE_BLK1 32 8 + 152 MAC EFUSE_BLK1 40 8 + 153 MAC_EXT EFUSE_BLK1 48 8 + 154 MAC_EXT EFUSE_BLK1 56 8 + 155 RXIQ_VERSION EFUSE_BLK1 64 3 + 156 RXIQ_0 EFUSE_BLK1 67 7 + 157 RXIQ_1 EFUSE_BLK1 74 7 + 158 ACTIVE_HP_DBIAS EFUSE_BLK1 81 5 + 159 ACTIVE_LP_DBIAS EFUSE_BLK1 86 5 + 160 DSLP_DBIAS EFUSE_BLK1 91 4 + 161 DBIAS_VOL_GAP EFUSE_BLK1 95 5 + 162 WAFER_VERSION_MINOR EFUSE_BLK1 114 3 + 163 WAFER_VERSION_MAJOR EFUSE_BLK1 117 2 + 164 DISABLE_WAFER_VERSION_MAJOR EFUSE_BLK1 119 1 + 165 FLASH_CAP EFUSE_BLK1 120 3 + 166 FLASH_TEMP EFUSE_BLK1 123 2 + 167 FLASH_VENDOR EFUSE_BLK1 125 3 + 168 PKG_VERSION EFUSE_BLK1 128 3 + 169 SYS_DATA_PART2 EFUSE_BLK10 0 256 + 170 OPTIONAL_UNIQUE_ID EFUSE_BLK2 0 128 + 171 BLK_VERSION_MINOR EFUSE_BLK2 130 3 + 172 BLK_VERSION_MAJOR EFUSE_BLK2 133 2 + 173 DISABLE_BLK_VERSION_MAJOR EFUSE_BLK2 135 1 + 174 TEMP_CALIB EFUSE_BLK2 136 9 + 175 ADC1_AVE_INITCODE_ATTEN0 EFUSE_BLK2 145 10 + 176 ADC1_AVE_INITCODE_ATTEN1 EFUSE_BLK2 155 10 + 177 ADC1_AVE_INITCODE_ATTEN2 EFUSE_BLK2 165 10 + 178 ADC1_AVE_INITCODE_ATTEN3 EFUSE_BLK2 175 10 + 179 ADC1_HI_DOUT_ATTEN0 EFUSE_BLK2 185 10 + 180 ADC1_HI_DOUT_ATTEN1 EFUSE_BLK2 195 10 + 181 ADC1_HI_DOUT_ATTEN2 EFUSE_BLK2 205 10 + 182 ADC1_HI_DOUT_ATTEN3 EFUSE_BLK2 215 10 + 183 ADC1_CH0_ATTEN0_INITCODE_DIFF EFUSE_BLK2 225 4 + 184 ADC1_CH1_ATTEN0_INITCODE_DIFF EFUSE_BLK2 229 4 + 185 ADC1_CH2_ATTEN0_INITCODE_DIFF EFUSE_BLK2 233 4 + 186 ADC1_CH3_ATTEN0_INITCODE_DIFF EFUSE_BLK2 237 4 + 187 ADC1_CH4_ATTEN0_INITCODE_DIFF EFUSE_BLK2 241 4 + 188 USER_DATA EFUSE_BLK3 0 256 + 189 USER_DATA.MAC_CUSTOM EFUSE_BLK3 200 48 + 190 KEY0 EFUSE_BLK4 0 256 + 191 KEY1 EFUSE_BLK5 0 256 + 192 KEY2 EFUSE_BLK6 0 256 + 193 KEY3 EFUSE_BLK7 0 256 + 194 KEY4 EFUSE_BLK8 0 256 + 195 KEY5 EFUSE_BLK9 0 256 + + Used bits in efuse table: + EFUSE_BLK0 + [0 31] [0 0] [2 2] ... [21 21] [21 22] [22 30] [30 38] [32 122] [124 130] [132 181] + + EFUSE_BLK1 + [0 99] [114 130] + + EFUSE_BLK10 + [0 255] + + EFUSE_BLK2 + [0 127] [130 244] + + 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)