open-bouffalo
Toggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

eFuse

Applies to BL702, BL704 and BL706
Size: 1Kbit

eFuse is one time programmable memory. It’s mostly used to store things like MAC Address, encryption keys and all other stuff, which are not possible to change after it being burned into eFuse.

In case of BL70X eFuse, once you burn the bit in eFuse, it’s not possible to revert it. You can also write/read lock of specific eFuse slots/areas.

The structure of the eFuse is available in Bouffalo’s SDK and bfl_mcu_tools (file efuse_cfg_keys.py), although, it doesn’t contains all properties.

Free eFuse slots for user application

NOTE: This still work in progress and those information still can be not true

The slots ef_key_slot_4_w0 and ef_key_slot_4_w1 seems not to be used by any code.
If encryption is not used, slots from ef_key_slot_0_w0 to ef_key_slot_3_w3 can be free for the user application.

Table of eFuse structure

NameByte OffsetBit indexLength (bits)Used inNotesVerified
ef_sf_aes_mode0 (0x0)02TBD0 - disabled, 1 - 32 bit AES key, 2 - 48 bit key, 3 - 64 bit keyNo
ef_sboot_sign_mode0 (0x0)22No
ef_sboot_en0 (0x0)42No
ef_cpu_enc_en0 (0x0)71No
trim_enable0 (0x0)121No
ef_sw_usage_10 (0x0)131No
ef_sdu_dis0 (0x0)141No
ef_ble_dis0 (0x0)151No
ef_wifi_dis0 (0x0)161No
ef_0_key_enc_en0 (0x0)171No
ef_sf_dis0 (0x0)191No
ef_cpu_rst_dbg_dis0 (0x0)211No
ef_se_dbg_dis0 (0x0)221No
ef_efuse_dbg_dis0 (0x0)231No
ef_dbg_jtag_dis0 (0x0)262No
ef_dbg_mode0 (0x0)284No
ef_dbg_pwd_low4 (0x4)032No
ef_dbg_pwd_high8 (0x8)032No
ef_ana_trim_012 (0xC)032No
ef_sw_usage_016 (0x10)032No
bootrom_protect16 (0x10)01No
uart_log_disable16 (0x10)11No
sdio_pin_init16 (0x10)21No
disable_cci_coexist16 (0x10)31No
xtal_type16 (0x10)43No
pll_clk16 (0x10)73No
hclk_div16 (0x10)101No
bclk_div16 (0x10)111No
flash_clk_type16 (0x10)123No
flash_clk_div16 (0x10)151No
flash_cfg16 (0x10)162No
flash_pwr_delay16 (0x10)182No
tz_boot16 (0x10)201No
encrypted_tz_boot16 (0x10)211No
hbn_check_sign16 (0x10)221No
keep_dbg_port_closed16 (0x10)231No
mediaboot_disable16 (0x10)241No
uartboot_disable16 (0x10)251No
sdioboot_disable16 (0x10)261No
hbn_jump_disable16 (0x10)271No
jtag_switch16 (0x10)281No
jtag_init16 (0x10)291No
qfn4016 (0x10)301No
debug_log_reopen16 (0x10)311No
ef_wifi_mac_low20 (0x14)032BootROM, eflash_loader, boot2Lower part of MAC Address (BT/WIFI), also used as ChipIDYes
ef_wifi_mac_high24 (0x18)032BootROM, eflash_loader, boot2Higher part of MAC Address (BT/WIFI), also used as ChipIDYes
ef_key_slot_0_w028 (0x1C)032TBDPublic key hash, when ef_sboot_sign_mode is 1 [0:8 bytes of hash]Yes
ef_key_slot_0_w132 (0x20)032TBDPublic key hash, when ef_sboot_sign_mode is 1 [8:16 bytes of hash]Yes
ef_key_slot_0_w236 (0x24)032TBDPublic key hash, when ef_sboot_sign_mode is 1 [16:24 bytes of hash]Yes
ef_key_slot_0_w340 (0x28)032TBDPublic key hash, when ef_sboot_sign_mode is 1 [24:32 bytes of hash]Yes
ef_key_slot_1_w044 (0x2C)032TBDPublic key hash, when ef_sboot_sign_mode is 1 [32:40 bytes of hash]Yes
ef_key_slot_1_w148 (0x30)032TBDPublic key hash, when ef_sboot_sign_mode is 1 [40:48 bytes of hash]Yes
ef_key_slot_1_w252 (0x34)032TBDPublic key hash, when ef_sboot_sign_mode is 1 [48:56 bytes of hash]Yes
ef_key_slot_1_w356 (0x38)032TBDPublic key hash, when ef_sboot_sign_mode is 1 [56:64 bytes of hash]Yes
ef_key_slot_2_w060 (0x3C)032TBDAES key (aes_mode == 1, 2, 3)Yes
ef_key_slot_2_w164 (0x40)032TBDAES key (aes_mode == 1, 2, 3)Yes
ef_key_slot_2_w268 (0x44)032TBDAES key (aes_mode == 1, 2, 3)Yes
ef_key_slot_2_w372 (0x48)032TBDAES key (aes_mode == 1, 2, 3)Yes
ef_key_slot_3_w076 (0x4C)032TBDAES key (aes_mode == 2, 3)Yes
ef_key_slot_3_w180 (0x50)032TBDAES key (aes_mode == 2, 3)Yes
ef_key_slot_3_w284 (0x54)032TBDAES key (aes_mode == 3)Yes
ef_key_slot_3_w388 (0x58)032TBDAES key (aes_mode == 3)Yes
ef_key_slot_4_w092 (0x5C)032TBDEmpty?No
ef_key_slot_4_w196 (0x60)032TBDEmpty?No
ef_key_slot_4_w2100 (0x64)032TBDCustomer VID (0xFFFF0000) & PID (0x0000FFFF)Yes
ef_key_slot_4_w3104 (0x68)032TBDChip VID (0xFFFF0000) & PID (0x0000FFFF)Yes
ef_key_slot_5_w0108 (0x6C)032TBDOptional MAC Address slot (low)Yes
ef_key_slot_5_w1112 (0x70)032TBDOptional MAC Address slot (high)Yes
ef_key_slot_5_w2116 (0x74)032TBDDevice Info structure (TBD)Yes
ef_key_slot_5_w3120 (0x78)032TBDCapCode (TBD)No
wr_lock_key_slot_4_l124 (0x7C)131No
wr_lock_key_slot_5_l124 (0x7C)141No
wr_lock_boot_mode124 (0x7C)151No
wr_lock_dbg_pwd124 (0x7C)161No
wr_lock_sw_usage_0124 (0x7C)171No
wr_lock_wifi_mac124 (0x7C)181Write lock for MAC Address eFuse (by default burned from factory)Yes
wr_lock_key_slot_0124 (0x7C)191No
wr_lock_key_slot_1124 (0x7C)201No
wr_lock_key_slot_2124 (0x7C)211No
wr_lock_key_slot_3124 (0x7C)221No
wr_lock_key_slot_4_h124 (0x7C)231No
wr_lock_key_slot_5_h124 (0x7C)241No
rd_lock_dbg_pwd124 (0x7C)251No
rd_lock_key_slot_0124 (0x7C)261No
rd_lock_key_slot_1124 (0x7C)271No
rd_lock_key_slot_2124 (0x7C)281No
rd_lock_key_slot_3124 (0x7C)291No
rd_lock_key_slot_4124 (0x7C)301No
rd_lock_key_slot_5124 (0x7C)311No