Adds support for virtual e-fuses on esp32 socs Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
48 lines
1.6 KiB
Plaintext
48 lines
1.6 KiB
Plaintext
# Copyright (c) 2025 Espressif Systems (Shanghai) Co., Ltd.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
if SOC_FAMILY_ESPRESSIF_ESP32
|
|
|
|
config ESP32_EFUSE_VIRTUAL
|
|
bool "Simulate eFuse operations in RAM"
|
|
help
|
|
If "y" - The virtual mode is enabled and all eFuse operations (read and write) are redirected
|
|
to RAM instead of eFuse registers, all permanent changes (via eFuse) are disabled.
|
|
|
|
If it is "y", then SECURE_FLASH_ENCRYPTION_MODE_RELEASE cannot be used.
|
|
Because the EFUSE VIRT mode is for testing only.
|
|
|
|
During startup, the eFuses are copied into RAM. This mode is useful for fast tests.
|
|
|
|
config ESP32_EFUSE_VIRTUAL_KEEP_IN_FLASH
|
|
bool "Keep eFuses in flash"
|
|
depends on ESP32_EFUSE_VIRTUAL
|
|
help
|
|
In addition to the "Simulate eFuse operations in RAM" option, this option just adds
|
|
a feature to keep eFuses after reboots in flash memory. To use this mode the partition_table
|
|
should have the `sys_partition` partition.
|
|
|
|
During startup, the eFuses are copied from flash or,
|
|
in case if flash is empty, from real eFuse to RAM and then update flash.
|
|
This mode is useful when need to keep changes after reboot
|
|
(testing secure_boot and flash_encryption).
|
|
|
|
config ESP32_EFUSE_VIRTUAL_OFFSET
|
|
hex
|
|
depends on ESP32_EFUSE_VIRTUAL_KEEP_IN_FLASH
|
|
default $(dt_nodelabel_reg_addr_hex,sys_partition) if $(dt_nodelabel_exists,sys_partition)
|
|
default 0x0
|
|
|
|
config ESP32_EFUSE_VIRTUAL_SIZE
|
|
hex
|
|
depends on ESP32_EFUSE_VIRTUAL_KEEP_IN_FLASH
|
|
default 0x2000 if $(dt_nodelabel_exists,sys_partition)
|
|
default 0x0
|
|
|
|
config ESP32_EFUSE_MAX_BLK_LEN
|
|
int
|
|
default 192 if SOC_SERIES_ESP32
|
|
default 256
|
|
|
|
endif # SOC_FAMILY_ESPRESSIF_ESP32
|