Expand description
§eFuse (one-time programmable configuration)
§Overview
The efuse module provides functionality for reading eFuse data
from the chip, allowing access to various chip-specific
information such as:
- MAC address
- Chip revision
and more. It is useful for retrieving chip-specific configuration and identification data during runtime.
Structs§
- Chip
Revision - Represents the hardware revision.
- Efuse
Field unstable - The bit field for get access to efuse data
- MacAddress
- Hardware (MAC) address.
Enums§
- SetMac
Error unstable - Error indicating issues with setting the MAC address.
Constants§
- BLK_
VERSION_ MAJOR unstable - BLK_VERSION_MAJOR of BLOCK2
- BLK_
VERSION_ MINOR unstable - BLK_VERSION_MINOR of BLOCK2
- BLOCK_
KEY0 unstable [BLOCK_KEY0]Key0 or user data- BLOCK_
KEY1 unstable [BLOCK_KEY1]Key1 or user data- BLOCK_
KEY2 unstable [BLOCK_KEY2]Key2 or user data- BLOCK_
KEY3 unstable [BLOCK_KEY3]Key3 or user data- BLOCK_
KEY4 unstable [BLOCK_KEY4]Key4 or user data- BLOCK_
SYS_ DATA2 unstable [BLOCK_SYS_DATA2]System data part 2 (reserved)- BLOCK_
USR_ DATA unstable [BLOCK_USR_DATA]User data- BOOTLOADER_
ANTI_ ROLLBACK_ EN unstable - Enable anti-rollback check for 2nd-stage bootloader
- BOOTLOADER_
ANTI_ ROLLBACK_ SECURE_ VERSION unstable - Anti-rollback secure version for 2nd-stage bootloader
- BOOTLOADER_
ANTI_ ROLLBACK_ UPDATE_ IN_ ROM unstable - Enable anti-rollback SECURE_VERSION update from ROM bootloader
- CUSTOM_
MAC unstable [MAC_CUSTOM CUSTOM_MAC]Custom MAC- DCDC_
VSET_ EN unstable - Select DCDC vset from efuse_dcdc_vset
- DISABLE_
BLK_ VERSION_ MAJOR unstable - Disables check of blk version major
- DISABLE_
WAFER_ VERSION_ MAJOR unstable - Disables check of wafer version major
- DIS_
DIRECT_ BOOT unstable - Disable direct boot mode
- DIS_
DOWNLOAD_ MANUAL_ ENCRYPT unstable - Disable manual flash encryption
- DIS_
DOWNLOAD_ MODE unstable - Disable download mode
- DIS_
FORCE_ DOWNLOAD unstable - Disable force download mode
- DIS_
PAD_ JTAG unstable - Permanently disable JTAG
- DIS_
SM_ CRYPT unstable - Disable all SM crypto functions (SM2, SM3)
- DIS_SWD
unstable - Disable super-watchdog
- DIS_
TWAI unstable - Disable TWAI
- DIS_
USB_ JTAG unstable - Disable USB JTAG function
- DIS_
USB_ OTG_ DOWNLOAD_ MODE unstable - Disable USB-OTG download mode
- DIS_
USB_ SERIAL_ JTAG unstable - Disable USB-Serial-JTAG
- DIS_
USB_ SERIAL_ JTAG_ DOWNLOAD_ MODE unstable - Disable USB download mode
- DIS_
USB_ SERIAL_ JTAG_ ROM_ PRINT unstable - Disable USB print from ROM
- DIS_WDT
unstable - Disable watchdog
- DIS_
WIFI6 unstable - Disable Wi-Fi 6
- ECC_
FORCE_ CONST_ TIME unstable - Permanently enable ECC constant-time mode
- ECDSA_
DISABLE_ SOFT_ K unstable - Permanently disable ECDSA software-set KEY
- ENABLE_
SECURITY_ DOWNLOAD unstable - Enable security download
- ENA_
SPI_ BOOT_ CRYPT_ SCRAMBLER unstable - Enable ciphertext scrambler for external memory
- ENA_
XTS_ SHADOW unstable - Enable XTS-AES shadow core countermeasure against fault injection
- FLASH_
TPUW unstable - Flash power-up waiting time (ms; ≥15 = 2× programmed value)
- FLASH_
TYPE unstable - Flash type (0 = NOR, 1 = NAND)
- FORCE_
DISABLE_ SW_ INIT_ KEY unstable - Disable software-written init key; force efuse_init_key
- FORCE_
SEND_ RESUME unstable - Force ROM to send resume command during SPI boot
- FORCE_
USE_ KEY_ MANAGER_ KEY unstable - Force use of key manager key (per-bit)
- HUK_
GEN_ STATE unstable - HUK generation state (odd count = invalid)
- HYS_
EN_ PAD unstable - Enable hysteresis on corresponding pad
- JTAG_
SEL_ ENABLE unstable - Enable JTAG selection via strapping pin
- KEY_
PURPOSE_ 0 unstable - Key purpose for Key0
- KEY_
PURPOSE_ 1 unstable - Key purpose for Key1
- KEY_
PURPOSE_ 2 unstable - Key purpose for Key2
- KEY_
PURPOSE_ 3 unstable - Key purpose for Key3
- KEY_
PURPOSE_ 4 unstable - Key purpose for Key4
- KM_
DEPLOY_ ONLY_ ONCE unstable - Restrict each KM key to single-deploy (per-bit)
- KM_
DISABLE_ DEPLOY_ MODE unstable - Disable KM deploy modes (per-bit: ecdsa, flash/spi, hmac/aes, ds/rma, psram)
- KM_
RND_ SWITCH_ CYCLE unstable - KM random number switch cycle control
- KM_
XTS_ KEY_ LENGTH_ 256 unstable - Configure flash encryption to use XTS-128 key (0 = 128-bit, 1 = 256-bit)
- LOCK_
KM_ KEY unstable - Lock KM efuse key
- MAC0
unstable [MAC_FACTORY]MAC address (bits 0–31)- MAC1
unstable [MAC_FACTORY]MAC address (bits 32–47)- MAC_EXT
unstable - Extended MAC address bits
- MAC_
RESERVED_ 0 unstable - Reserved
- MAC_
RESERVED_ 1 unstable - Reserved
- MAC_
RESERVED_ 2 unstable - Reserved
- OPTIONAL_
UNIQUE_ ID unstable - Optional unique 128-bit ID
- PKG_
VERSION unstable - Package version
- PMU_
FLASH_ POWER_ SEL unstable - Flash power select (1 = 3.3V, 0 = 1.8V)
- PMU_
FLASH_ POWER_ SEL_ EN unstable - Validate PMU_FLASH_POWER_SEL
- POWER_
GLITCH_ EN unstable - Enable power glitch detection
- PSRAM_
CAP unstable - PSRAM capacity
- PSRAM_
VENDOR unstable - PSRAM vendor
- PVT_
0_ CELL_ SELECT unstable - PVT glitch monitor 0 cell select
- PVT_
0_ GLITCH_ EN unstable - Enable PVT power glitch monitor 0
- PVT_
0_ GLITCH_ MODE unstable - Glitch mode for PVT monitor 0
- PVT_
0_ LIMIT unstable - PVT glitch monitor 0 threshold
- PVT_
1_ CELL_ SELECT unstable - PVT glitch monitor 1 cell select
- PVT_
1_ GLITCH_ EN unstable - Enable PVT power glitch monitor 1
- PVT_
1_ GLITCH_ MODE unstable - Glitch mode for PVT monitor 1
- PVT_
1_ LIMIT unstable - PVT glitch monitor 1 threshold
- RD_DIS
unstable - Disable reading from BLOCK4-9
- RECOVERY_
BOOTLOADER_ FLASH_ SECTOR unstable - Starting flash sector of recovery bootloader (0 or 0xFFF = disabled)
- REPEA
T7_ RSVD unstable - Reserved
- RESERVED_
1_ 136 unstable - Reserved
- RESERVED_
3_ 192 unstable - Reserved
- RESERVED_
3_ 248 unstable - Reserved
- RESERVE_
0_ 39 unstable - Reserved
- RESERVE_
0_ 53 unstable - Reserved
- RESERVE_
0_ 60 unstable - Reserved
- RESERVE_
0_ 65 unstable - Reserved
- RESERVE_
0_ 91 unstable - Reserved
- RESERVE_
0_ 126 unstable - Reserved
- RESERVE_
0_ 132 unstable - Reserved
- RESERVE_
0_ 134 unstable - Reserved
- RESERVE_
0_ 138 unstable - Reserved
- RESERVE_
0_ 153 unstable - Reserved
- RESERVE_
0_ 178 unstable - Reserved
- RESERVE_
0_ 192 unstable - Reserved
- RESERVE_
0_ 197 unstable - Reserved
- RESERVE_
0_ 246 unstable - Reserved
- RESERVE_
0_ 272 unstable - Reserved
- RESERVE_
9_ 197 unstable - Reserved
- RESERVE_
9_ 223 unstable - Reserved
- RE_
ENABLE_ JTAG_ SOURCE unstable - Select crypto peripheral for re-enabling JTAG (0 = RMA, 1 = HMAC)
- RMA_
CHIP_ INFO_ SOURCE unstable - Use HUK_info as CHIP_info source in RMA (0 = UNIQ_id)
- RMA_
DISABLE_ FAST_ VEF unstable - Disable FAST_VEF in RMA session
- RMA_ENA
unstable - Enable RMA function in download mode (01/10 = enabled, 00/11 = disabled)
- RMA_
NONCE_ ENA unstable - RMA NONCE enable (x0 = no NONCE, 1x = KM-generated NONCE)
- RMA_
SESSION_ COUNTER unstable - Number of times the RMA session has been entered
- SECURE_
BOOT_ AGGRESSIVE_ REVOKE unstable - Enable aggressive revocation for secure boot
- SECURE_
BOOT_ DISABLE_ FAST_ WAKE unstable - Disable fast verify on wake when secure boot is enabled
- SECURE_
BOOT_ EN unstable - Enable secure boot
- SECURE_
BOOT_ KEY_ REVOK E0 unstable - Revoke secure boot key 0
- SECURE_
BOOT_ KEY_ REVOK E1 unstable - Revoke secure boot key 1
- SECURE_
BOOT_ KEY_ REVOK E2 unstable - Revoke secure boot key 2
- SECURE_
BOOT_ SHA384_ EN unstable - Enable secure boot using SHA-384
- SECURE_
VERSION unstable - Secure version for anti-rollback
- SEC_
DPA_ LEVEL unstable - SPA secure level (clock random divide mode)
- SOFT_
DIS_ JTAG unstable - Soft-disable JTAG (odd = disabled, even = enabled)
- SPI_
BOOT_ CRYPT_ CNT unstable - Enables flash encryption counter
- SPI_
DOWNLOAD_ MSPI_ DIS unstable - Disable SPI0 during boot_mode_download
- SYS_
DATA_ PART0_ 2 unstable - Third 32-bit word of zeroth system data block
- SYS_
DATA_ PART1_ 4 unstable - First-part system data word 4
- SYS_
DATA_ PART1_ 5 unstable - First-part system data word 5
- SYS_
DATA_ PART1_ 6 unstable - First-part system data word 6
- SYS_
DATA_ PART1_ 7 unstable - First-part system data word 7
- SYS_
DATA_ PART2_ 1 unstable - Second-part system data word 1
- SYS_
DATA_ PART2_ 2 unstable - Second-part system data word 2
- SYS_
DATA_ PART2_ 3 unstable - Second-part system data word 3
- SYS_
DATA_ PART2_ 4 unstable - Second-part system data word 4
- SYS_
DATA_ PART2_ 5 unstable - Second-part system data word 5
- TEMP
unstable - Max ambient temperature
- UART_
PRINT_ CONTROL unstable - UART print control (00=force on, 01=GPIO8 low, 10=GPIO8 high, 11=force off)
- USB_
DEVICE_ DREFH unstable - USB device single-end input high threshold (1.76–2V, 80mV steps)
- USB_
DEVICE_ DREFL unstable - USB device single-end input low threshold (0.8–1.04V, 80mV steps)
- USB_
DEVICE_ EXCHG_ PINS unstable - Enable USB device D+/D- pin swap
- WAFER_
VERSION_ MAJOR unstable - Major chip version
- WAFER_
VERSION_ MINOR unstable - Minor chip version
- WDT_
DELAY_ SEL unstable - RTC watchdog STG0 timeout multiplier
- WR_DIS
unstable - Disable programming of individual eFuses
- XTS_
DPA_ CLK_ ENABLE unstable - Enable XTS clock anti-DPA attack
- XTS_
DPA_ PSEUDO_ LEVEL unstable - XTS pseudo-round anti-DPA level (0 = register-controlled)
Functions§
- base_
mac_ address unstable - Returns the base MAC address programmed into eFuse during manufacturing.
- block_
version unstable - Get efuse block version.
- chip_
revision - Returns the hardware revision.
- flash_
encryption unstable - Get status of SPI boot encryption.
- major_
chip_ version unstable - Returns the major hardware revision.
- minor_
chip_ version unstable - Returns the minor hardware revision.
- override_
mac_ address unstable - Overrides the base MAC address used by [
interface_mac_address]. - read_
bit unstable - Read bit value.
- read_
field_ le unstable - Read field value in a little-endian order
- rtc_
calib_ version unstable - Get version of RTC calibration block.
- rwdt_
multiplier unstable - Get the multiplier for the timeout value of the RWDT STAGE 0 register.