1# field_name,       |    efuse_block, | bit_start, | bit_count, |comment #
2#                   |    (EFUSE_BLK0  | (0..255)   | (1..-)     |        #
3#                   |     EFUSE_BLK1  |            |MAX_BLK_LEN*|        #
4#                   |     EFUSE_BLK2  |            |            |        #
5#                   |     EFUSE_BLK3) |            |            |        #
6##########################################################################
7# *) The value MAX_BLK_LEN depends on CONFIG_EFUSE_MAX_BLK_LEN, will be replaced with "None" - 256. "3/4" - 192. "REPEAT" - 128.
8# !!!!!!!!!!! #
9# After editing this file, run the command manually "make efuse_common_table" or "idf.py efuse-common-table"
10# this will generate new source files, next rebuild all the sources.
11# !!!!!!!!!!! #
12
13# Factory MAC address #
14#######################
15MAC_FACTORY,            EFUSE_BLK0,    72,    8,    Factory MAC addr [0]
16,                       EFUSE_BLK0,    64,    8,    Factory MAC addr [1]
17,                       EFUSE_BLK0,    56,    8,    Factory MAC addr [2]
18,                       EFUSE_BLK0,    48,    8,    Factory MAC addr [3]
19,                       EFUSE_BLK0,    40,    8,    Factory MAC addr [4]
20,                       EFUSE_BLK0,    32,    8,    Factory MAC addr [5]
21MAC_FACTORY_CRC,        EFUSE_BLK0,    80,    8,    CRC8 for factory MAC address
22
23# Custom MAC address #
24######################
25MAC_CUSTOM_CRC,         EFUSE_BLK3,    0,     8,    CRC8 for custom MAC address.
26MAC_CUSTOM,             EFUSE_BLK3,    8,     48,   Custom MAC
27MAC_CUSTOM_VER,         EFUSE_BLK3,    184,   8,    Custom MAC version
28
29# Security boot #
30#################
31SECURE_BOOT_KEY,        EFUSE_BLK2,    0,     MAX_BLK_LEN,   Security boot. Key. (length = "None" - 256. "3/4" - 192. "REPEAT" - 128)
32ABS_DONE_0,             EFUSE_BLK0,    196,   1,     Secure boot V1 is enabled for bootloader image. EFUSE_RD_ABS_DONE_0
33ABS_DONE_1,             EFUSE_BLK0,    197,   1,     Secure boot V2 is enabled for bootloader image. EFUSE_RD_ABS_DONE_1
34
35# Flash encrypt #
36#################
37ENCRYPT_FLASH_KEY,      EFUSE_BLK1,    0,     MAX_BLK_LEN,  Flash encrypt. Key. (length = "None" - 256. "3/4" - 192. "REPEAT" - 128)
38ENCRYPT_CONFIG,         EFUSE_BLK0,    188,   4,    Flash encrypt. EFUSE_FLASH_CRYPT_CONFIG_M
39
40DISABLE_DL_ENCRYPT,     EFUSE_BLK0,    199,   1,    Flash encrypt. Disable UART bootloader encryption. EFUSE_DISABLE_DL_ENCRYPT.
41DISABLE_DL_DECRYPT,     EFUSE_BLK0,    200,   1,    Flash encrypt. Disable UART bootloader decryption. EFUSE_DISABLE_DL_DECRYPT.
42DISABLE_DL_CACHE,       EFUSE_BLK0,    201,   1,    Flash encrypt. Disable UART bootloader MMU cache. EFUSE_DISABLE_DL_CACHE.
43FLASH_CRYPT_CNT,        EFUSE_BLK0,    20,    7,    Flash encrypt. Flash encryption is enabled if this field has an odd number of bits set. EFUSE_FLASH_CRYPT_CNT.
44
45# Misc Security #
46DISABLE_JTAG,           EFUSE_BLK0,    198,   1,    Disable JTAG. EFUSE_RD_DISABLE_JTAG.
47CONSOLE_DEBUG_DISABLE,  EFUSE_BLK0,    194,   1,    Disable ROM BASIC interpreter fallback. EFUSE_RD_CONSOLE_DEBUG_DISABLE.
48UART_DOWNLOAD_DIS,      EFUSE_BLK0,    27,    1,    Disable UART download mode. Valid for ESP32 V3 and newer, only.
49
50# Write protection #
51####################
52WR_DIS_EFUSE_RD_DISABLE,EFUSE_BLK0,    0,     1,    Write protection for EFUSE_RD_DISABLE
53WR_DIS_FLASH_CRYPT_CNT, EFUSE_BLK0,    2,     1,    Flash encrypt. Write protection FLASH_CRYPT_CNT, UART_DOWNLOAD_DIS. EFUSE_WR_DIS_FLASH_CRYPT_CNT
54WR_DIS_BLK1,            EFUSE_BLK0,    7,     1,    Flash encrypt. Write protection encryption key. EFUSE_WR_DIS_BLK1
55WR_DIS_BLK2,            EFUSE_BLK0,    8,     1,    Security boot. Write protection security key. EFUSE_WR_DIS_BLK2
56WR_DIS_BLK3,            EFUSE_BLK0,    9,     1,    Write protection for EFUSE_BLK3. EFUSE_WR_DIS_BLK3
57
58# Read protection #
59###################
60RD_DIS_BLK1,            EFUSE_BLK0,    16,    1,    Flash encrypt. efuse_key_read_protected. EFUSE_RD_DIS_BLK1
61RD_DIS_BLK2,            EFUSE_BLK0,    17,    1,    Security boot. efuse_key_read_protected. EFUSE_RD_DIS_BLK2
62RD_DIS_BLK3,            EFUSE_BLK0,    18,    1,    Read protection for EFUSE_BLK3. EFUSE_RD_DIS_BLK3
63
64# Chip info #
65#############
66CHIP_VER_DIS_APP_CPU,   EFUSE_BLK0,    96,    1,    EFUSE_RD_CHIP_VER_DIS_APP_CPU
67CHIP_VER_DIS_BT,        EFUSE_BLK0,    97,    1,    EFUSE_RD_CHIP_VER_DIS_BT
68CHIP_VER_PKG,           EFUSE_BLK0,    105,   3,    EFUSE_RD_CHIP_VER_PKG least significant bits
69,                       EFUSE_BLK0,    98,    1,    EFUSE_RD_CHIP_VER_PKG_4BIT most significant bit
70CHIP_CPU_FREQ_LOW,      EFUSE_BLK0,    108,   1,    EFUSE_RD_CHIP_CPU_FREQ_LOW
71CHIP_CPU_FREQ_RATED,    EFUSE_BLK0,    109,   1,    EFUSE_RD_CHIP_CPU_FREQ_RATED
72CHIP_VER_REV1,          EFUSE_BLK0,    111,   1,    EFUSE_RD_CHIP_VER_REV1
73CHIP_VER_REV2,          EFUSE_BLK0,    180,   1,    EFUSE_RD_CHIP_VER_REV2
74XPD_SDIO_REG,           EFUSE_BLK0,    142,   1,    EFUSE_RD_XPD_SDIO_REG
75SDIO_TIEH,              EFUSE_BLK0,    143,   1,    EFUSE_RD_SDIO_TIEH
76SDIO_FORCE,             EFUSE_BLK0,    144,   1,    EFUSE_RD_SDIO_FORCE
77
78#SDIO_DREFH,            EFUSE_BLK0,    136,   2,    EFUSE_RD_SDIO_DREFH
79#SDIO_DREFM,            EFUSE_BLK0,    138,   2,    EFUSE_RD_SDIO_DREFM
80#SDIO_DREFL,            EFUSE_BLK0,    140,   2,    EFUSE_RD_SDIO_DREFL
81
82# esp_adc_cal #
83###############
84ADC_VREF_AND_SDIO_DREF, EFUSE_BLK0,    136,   6,    EFUSE_RD_ADC_VREF[0..4] or ( SDIO_DREFH[0 1], SDIO_DREFM[2 3], SDIO_DREFL[4 5] )
85ADC1_TP_LOW,            EFUSE_BLK3,    96,    7,    TP_REG EFUSE_RD_ADC1_TP_LOW
86ADC2_TP_LOW,            EFUSE_BLK3,    112,   7,    TP_REG EFUSE_RD_ADC2_TP_LOW
87ADC1_TP_HIGH,           EFUSE_BLK3,    103,   9,    TP_REG EFUSE_RD_ADC1_TP_HIGH
88ADC2_TP_HIGH,           EFUSE_BLK3,    119,   9,    TP_REG EFUSE_RD_ADC2_TP_HIGH
89
90# anti-rollback #
91#################
92SECURE_VERSION,         EFUSE_BLK3,    128,  32,    Secure version for anti-rollback
93