mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'feature/esp32p4_enable_flash_encryption' into 'master'
Enable Flash Encryption for ESP32P4 Closes IDF-7545 See merge request espressif/esp-idf!26959
This commit is contained in:
commit
25c2cc5f03
@ -137,16 +137,14 @@ esp_flash_enc_mode_t esp_get_flash_encryption_mode(void)
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT)
|
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT)
|
||||||
#if CONFIG_IDF_TARGET_ESP32P4
|
#if SOC_EFUSE_DIS_DOWNLOAD_MSPI
|
||||||
//TODO: IDF-7545
|
|
||||||
&& esp_efuse_read_field_bit(ESP_EFUSE_SPI_DOWNLOAD_MSPI_DIS)
|
&& esp_efuse_read_field_bit(ESP_EFUSE_SPI_DOWNLOAD_MSPI_DIS)
|
||||||
#else
|
#endif
|
||||||
#if SOC_EFUSE_DIS_DOWNLOAD_ICACHE
|
#if SOC_EFUSE_DIS_DOWNLOAD_ICACHE
|
||||||
&& esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE)
|
&& esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE)
|
||||||
#endif
|
#endif
|
||||||
#if SOC_EFUSE_DIS_DOWNLOAD_DCACHE
|
#if SOC_EFUSE_DIS_DOWNLOAD_DCACHE
|
||||||
&& esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_DCACHE)
|
&& esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_DCACHE)
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
) {
|
) {
|
||||||
mode = ESP_FLASH_ENC_MODE_RELEASE;
|
mode = ESP_FLASH_ENC_MODE_RELEASE;
|
||||||
@ -192,17 +190,15 @@ void esp_flash_encryption_set_release_mode(void)
|
|||||||
esp_efuse_write_field_bit(ESP_EFUSE_DISABLE_DL_DECRYPT);
|
esp_efuse_write_field_bit(ESP_EFUSE_DISABLE_DL_DECRYPT);
|
||||||
#else
|
#else
|
||||||
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT);
|
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT);
|
||||||
#if CONFIG_IDF_TARGET_ESP32P4
|
#if SOC_EFUSE_DIS_DOWNLOAD_MSPI
|
||||||
//TODO: IDF-7545
|
|
||||||
esp_efuse_write_field_bit(ESP_EFUSE_SPI_DOWNLOAD_MSPI_DIS);
|
esp_efuse_write_field_bit(ESP_EFUSE_SPI_DOWNLOAD_MSPI_DIS);
|
||||||
#else
|
#endif
|
||||||
#if SOC_EFUSE_DIS_DOWNLOAD_ICACHE
|
#if SOC_EFUSE_DIS_DOWNLOAD_ICACHE
|
||||||
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE);
|
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE);
|
||||||
#endif
|
#endif
|
||||||
#if SOC_EFUSE_DIS_DOWNLOAD_DCACHE
|
#if SOC_EFUSE_DIS_DOWNLOAD_DCACHE
|
||||||
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_DCACHE);
|
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_DCACHE);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128_DERIVED
|
#ifdef CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128_DERIVED
|
||||||
// For AES128_DERIVED, FE key is 16 bytes and XTS_KEY_LENGTH_256 is 0.
|
// For AES128_DERIVED, FE key is 16 bytes and XTS_KEY_LENGTH_256 is 0.
|
||||||
// It is important to protect XTS_KEY_LENGTH_256 from further changing it to 1. Set write protection for this bit.
|
// It is important to protect XTS_KEY_LENGTH_256 from further changing it to 1. Set write protection for this bit.
|
||||||
@ -345,14 +341,13 @@ bool esp_flash_encryption_cfg_verify_release_mode(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_IDF_TARGET_ESP32P4
|
#if SOC_EFUSE_DIS_DOWNLOAD_MSPI
|
||||||
//TODO: IDF-7545
|
|
||||||
secure = esp_efuse_read_field_bit(ESP_EFUSE_SPI_DOWNLOAD_MSPI_DIS);
|
secure = esp_efuse_read_field_bit(ESP_EFUSE_SPI_DOWNLOAD_MSPI_DIS);
|
||||||
result &= secure;
|
result &= secure;
|
||||||
if (!secure) {
|
if (!secure) {
|
||||||
ESP_LOGW(TAG, "Not disabled UART bootloader download mspi (set DIS_DOWNLOAD_MSPI->1)");
|
ESP_LOGW(TAG, "Not disabled UART bootloader download mspi (set DIS_DOWNLOAD_MSPI->1)");
|
||||||
}
|
}
|
||||||
#else
|
#endif
|
||||||
#if SOC_EFUSE_DIS_DOWNLOAD_ICACHE
|
#if SOC_EFUSE_DIS_DOWNLOAD_ICACHE
|
||||||
secure = esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE);
|
secure = esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE);
|
||||||
result &= secure;
|
result &= secure;
|
||||||
@ -360,7 +355,6 @@ bool esp_flash_encryption_cfg_verify_release_mode(void)
|
|||||||
ESP_LOGW(TAG, "Not disabled UART bootloader cache (set DIS_DOWNLOAD_ICACHE->1)");
|
ESP_LOGW(TAG, "Not disabled UART bootloader cache (set DIS_DOWNLOAD_ICACHE->1)");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#if SOC_EFUSE_DIS_PAD_JTAG
|
#if SOC_EFUSE_DIS_PAD_JTAG
|
||||||
secure = esp_efuse_read_field_bit(ESP_EFUSE_DIS_PAD_JTAG);
|
secure = esp_efuse_read_field_bit(ESP_EFUSE_DIS_PAD_JTAG);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@ -15,6 +15,11 @@
|
|||||||
#include "esp_efuse_table.h"
|
#include "esp_efuse_table.h"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
#include "hal/wdt_hal.h"
|
#include "hal/wdt_hal.h"
|
||||||
|
|
||||||
|
#if CONFIG_IDF_TARGET_ESP32P4 //TODO-IDF-7925
|
||||||
|
#include "soc/keymng_reg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_SOC_EFUSE_CONSISTS_OF_ONE_KEY_BLOCK
|
#ifdef CONFIG_SOC_EFUSE_CONSISTS_OF_ONE_KEY_BLOCK
|
||||||
#include "soc/sensitive_reg.h"
|
#include "soc/sensitive_reg.h"
|
||||||
#endif
|
#endif
|
||||||
@ -209,6 +214,12 @@ static esp_err_t check_and_generate_encryption_keys(void)
|
|||||||
}
|
}
|
||||||
ESP_LOGI(TAG, "Using pre-loaded flash encryption key in efuse");
|
ESP_LOGI(TAG, "Using pre-loaded flash encryption key in efuse");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if CONFIG_IDF_TARGET_ESP32P4 //TODO - IDF-7925
|
||||||
|
// Force Key Manager to use eFuse key for XTS-AES operation
|
||||||
|
REG_SET_FIELD(KEYMNG_STATIC_REG, KEYMNG_USE_EFUSE_KEY, 2);
|
||||||
|
#endif
|
||||||
|
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,6 +66,7 @@
|
|||||||
#include "soc/hp_sys_clkrst_reg.h"
|
#include "soc/hp_sys_clkrst_reg.h"
|
||||||
#include "soc/interrupt_core0_reg.h"
|
#include "soc/interrupt_core0_reg.h"
|
||||||
#include "soc/interrupt_core1_reg.h"
|
#include "soc/interrupt_core1_reg.h"
|
||||||
|
#include "soc/keymng_reg.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "esp_private/esp_mmu_map_private.h"
|
#include "esp_private/esp_mmu_map_private.h"
|
||||||
@ -299,6 +300,11 @@ static void start_other_core(void)
|
|||||||
if(REG_GET_BIT(HP_SYS_CLKRST_HP_RST_EN0_REG, HP_SYS_CLKRST_REG_RST_EN_CORE1_GLOBAL)){
|
if(REG_GET_BIT(HP_SYS_CLKRST_HP_RST_EN0_REG, HP_SYS_CLKRST_REG_RST_EN_CORE1_GLOBAL)){
|
||||||
REG_CLR_BIT(HP_SYS_CLKRST_HP_RST_EN0_REG, HP_SYS_CLKRST_REG_RST_EN_CORE1_GLOBAL);
|
REG_CLR_BIT(HP_SYS_CLKRST_HP_RST_EN0_REG, HP_SYS_CLKRST_REG_RST_EN_CORE1_GLOBAL);
|
||||||
}
|
}
|
||||||
|
// The following operation makes the Key Manager to use eFuse key for ECDSA and XTS-AES operation by default
|
||||||
|
// This is to keep the default behavior same as the other chips
|
||||||
|
// If the Key Manager configuration is already locked then following operation does not have any effect
|
||||||
|
// TODO-IDF 7925 (Move this under SOC_KEY_MANAGER_SUPPORTED)
|
||||||
|
REG_SET_FIELD(KEYMNG_STATIC_REG, KEYMNG_USE_EFUSE_KEY, 3);
|
||||||
#endif
|
#endif
|
||||||
ets_set_appcpu_boot_addr((uint32_t)call_start_cpu1);
|
ets_set_appcpu_boot_addr((uint32_t)call_start_cpu1);
|
||||||
|
|
||||||
|
@ -24,8 +24,6 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//TODO: IDF-7545
|
|
||||||
|
|
||||||
/// Choose type of chip you want to encrypt manully
|
/// Choose type of chip you want to encrypt manully
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
@ -38,10 +36,9 @@ typedef enum
|
|||||||
*/
|
*/
|
||||||
static inline void spi_flash_encrypt_ll_enable(void)
|
static inline void spi_flash_encrypt_ll_enable(void)
|
||||||
{
|
{
|
||||||
// REG_SET_BIT(HP_SYSTEM_EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_REG,
|
REG_SET_BIT(HP_SYSTEM_CRYPTO_CTRL_REG,
|
||||||
// HP_SYSTEM_ENABLE_DOWNLOAD_MANUAL_ENCRYPT |
|
HP_SYSTEM_REG_ENABLE_DOWNLOAD_MANUAL_ENCRYPT |
|
||||||
// HP_SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT);
|
HP_SYSTEM_REG_ENABLE_SPI_MANUAL_ENCRYPT);
|
||||||
abort();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -49,9 +46,8 @@ static inline void spi_flash_encrypt_ll_enable(void)
|
|||||||
*/
|
*/
|
||||||
static inline void spi_flash_encrypt_ll_disable(void)
|
static inline void spi_flash_encrypt_ll_disable(void)
|
||||||
{
|
{
|
||||||
// REG_CLR_BIT(HP_SYSTEM_EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_REG,
|
REG_CLR_BIT(HP_SYSTEM_CRYPTO_CTRL_REG,
|
||||||
// HP_SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT);
|
HP_SYSTEM_REG_ENABLE_SPI_MANUAL_ENCRYPT);
|
||||||
abort();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1119,10 +1119,6 @@ config SOC_TWAI_SUPPORTS_RX_STATUS
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_EFUSE_DIS_DOWNLOAD_ICACHE
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
|
|
||||||
config SOC_EFUSE_DIS_PAD_JTAG
|
config SOC_EFUSE_DIS_PAD_JTAG
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
@ -1139,6 +1135,10 @@ config SOC_EFUSE_SOFT_DIS_JTAG
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
config SOC_EFUSE_DIS_DOWNLOAD_MSPI
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
|
||||||
config SOC_SECURE_BOOT_V2_RSA
|
config SOC_SECURE_BOOT_V2_RSA
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
@ -1167,10 +1167,18 @@ config SOC_FLASH_ENCRYPTION_XTS_AES
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
config SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
|
||||||
config SOC_FLASH_ENCRYPTION_XTS_AES_128
|
config SOC_FLASH_ENCRYPTION_XTS_AES_128
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
config SOC_FLASH_ENCRYPTION_XTS_AES_256
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
|
||||||
config SOC_UART_NUM
|
config SOC_UART_NUM
|
||||||
int
|
int
|
||||||
default 6
|
default 6
|
||||||
|
@ -493,11 +493,12 @@
|
|||||||
#define SOC_TWAI_SUPPORTS_RX_STATUS 1
|
#define SOC_TWAI_SUPPORTS_RX_STATUS 1
|
||||||
|
|
||||||
/*-------------------------- eFuse CAPS----------------------------*/
|
/*-------------------------- eFuse CAPS----------------------------*/
|
||||||
#define SOC_EFUSE_DIS_DOWNLOAD_ICACHE 1
|
|
||||||
#define SOC_EFUSE_DIS_PAD_JTAG 1
|
#define SOC_EFUSE_DIS_PAD_JTAG 1
|
||||||
#define SOC_EFUSE_DIS_USB_JTAG 1
|
#define SOC_EFUSE_DIS_USB_JTAG 1
|
||||||
#define SOC_EFUSE_DIS_DIRECT_BOOT 1
|
#define SOC_EFUSE_DIS_DIRECT_BOOT 1
|
||||||
#define SOC_EFUSE_SOFT_DIS_JTAG 1
|
#define SOC_EFUSE_SOFT_DIS_JTAG 1
|
||||||
|
/* Capability to disable the MSPI access in download mode */
|
||||||
|
#define SOC_EFUSE_DIS_DOWNLOAD_MSPI 1
|
||||||
|
|
||||||
/*-------------------------- Secure Boot CAPS----------------------------*/
|
/*-------------------------- Secure Boot CAPS----------------------------*/
|
||||||
#define SOC_SECURE_BOOT_V2_RSA 1
|
#define SOC_SECURE_BOOT_V2_RSA 1
|
||||||
@ -509,7 +510,9 @@
|
|||||||
/*-------------------------- Flash Encryption CAPS----------------------------*/
|
/*-------------------------- Flash Encryption CAPS----------------------------*/
|
||||||
#define SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX (64)
|
#define SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX (64)
|
||||||
#define SOC_FLASH_ENCRYPTION_XTS_AES 1
|
#define SOC_FLASH_ENCRYPTION_XTS_AES 1
|
||||||
|
#define SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS 1
|
||||||
#define SOC_FLASH_ENCRYPTION_XTS_AES_128 1
|
#define SOC_FLASH_ENCRYPTION_XTS_AES_128 1
|
||||||
|
#define SOC_FLASH_ENCRYPTION_XTS_AES_256 1
|
||||||
|
|
||||||
/*-------------------------- MEMPROT CAPS ------------------------------------*/
|
/*-------------------------- MEMPROT CAPS ------------------------------------*/
|
||||||
|
|
||||||
|
@ -17,13 +17,10 @@ components/spi_flash/test_apps/esp_flash:
|
|||||||
|
|
||||||
components/spi_flash/test_apps/flash_encryption:
|
components/spi_flash/test_apps/flash_encryption:
|
||||||
disable_test:
|
disable_test:
|
||||||
- if: IDF_TARGET in ["esp32c2", "esp32s2", "esp32c6", "esp32h2"]
|
- if: IDF_TARGET in ["esp32c2", "esp32s2", "esp32c6", "esp32h2", "esp32p4"]
|
||||||
temporary: true
|
temporary: true
|
||||||
reason: No runners # IDF-5634
|
reason: No runners # IDF-5634
|
||||||
disable:
|
|
||||||
- if: IDF_TARGET == "esp32p4"
|
|
||||||
temporary: true
|
|
||||||
reason: target esp32p4 is not supported yet # TODO: IDF-7545
|
|
||||||
depends_components:
|
depends_components:
|
||||||
- esp_mm
|
- esp_mm
|
||||||
- spi_flash
|
- spi_flash
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-S2 | ESP32-S3 |
|
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
||||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- |
|
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
|
||||||
|
|
||||||
## Prepare runner
|
## Prepare runner
|
||||||
|
|
||||||
|
@ -929,6 +929,7 @@ On the first boot, the flash encryption process burns by default the following e
|
|||||||
:SOC_EFUSE_DIS_PAD_JTAG and SOC_EFUSE_DIS_USB_JTAG: - ``DIS_PAD_JTAG`` and ``DIS_USB_JTAG`` which disables JTAG.
|
:SOC_EFUSE_DIS_PAD_JTAG and SOC_EFUSE_DIS_USB_JTAG: - ``DIS_PAD_JTAG`` and ``DIS_USB_JTAG`` which disables JTAG.
|
||||||
:SOC_EFUSE_HARD_DIS_JTAG and SOC_EFUSE_DIS_USB_JTAG: - ``HARD_DIS_JTAG`` and ``DIS_USB_JTAG`` which disables JTAG.
|
:SOC_EFUSE_HARD_DIS_JTAG and SOC_EFUSE_DIS_USB_JTAG: - ``HARD_DIS_JTAG`` and ``DIS_USB_JTAG`` which disables JTAG.
|
||||||
- ``DIS_DIRECT_BOOT`` (old name ``DIS_LEGACY_SPI_BOOT``) which disables direct boot mode
|
- ``DIS_DIRECT_BOOT`` (old name ``DIS_LEGACY_SPI_BOOT``) which disables direct boot mode
|
||||||
|
:SOC_EFUSE_DIS_DOWNLOAD_MSPI: - ``DIS_DOWNLOAD_MSPI`` which disables the MSPI access in download mode.
|
||||||
|
|
||||||
However, before the first boot you can choose to keep any of these features enabled by burning only selected eFuses and write-protect the rest of eFuses with unset value 0. For example:
|
However, before the first boot you can choose to keep any of these features enabled by burning only selected eFuses and write-protect the rest of eFuses with unset value 0. For example:
|
||||||
|
|
||||||
|
@ -290,6 +290,7 @@ In this case, all the eFuses related to flash encryption are written with help o
|
|||||||
:SOC_EFUSE_DIS_USB_JTAG: - ``DIS_USB_JTAG``: Disable USB switch to JTAG
|
:SOC_EFUSE_DIS_USB_JTAG: - ``DIS_USB_JTAG``: Disable USB switch to JTAG
|
||||||
:SOC_EFUSE_DIS_PAD_JTAG: - ``DIS_PAD_JTAG``: Disable JTAG permanently
|
:SOC_EFUSE_DIS_PAD_JTAG: - ``DIS_PAD_JTAG``: Disable JTAG permanently
|
||||||
:not esp32: - ``DIS_DOWNLOAD_MANUAL_ENCRYPT``: Disable UART bootloader encryption access
|
:not esp32: - ``DIS_DOWNLOAD_MANUAL_ENCRYPT``: Disable UART bootloader encryption access
|
||||||
|
:SOC_EFUSE_DIS_DOWNLOAD_MSPI: - ``DIS_DOWNLOAD_MSPI``: Disable the MSPI access in download mode
|
||||||
|
|
||||||
The respective eFuses can be burned by running:
|
The respective eFuses can be burned by running:
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
examples/security/flash_encryption:
|
examples/security/flash_encryption:
|
||||||
disable_test:
|
disable_test:
|
||||||
- if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6", "esp32h2", "esp32c2"]
|
- if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6", "esp32h2", "esp32c2", "esp32p4"]
|
||||||
temporary: true
|
temporary: true
|
||||||
reason: lack of runners
|
reason: lack of runners
|
||||||
|
|
||||||
|
18
examples/system/efuse/sdkconfig.ci.virt_sb_v2_and_fe.esp32p4
Normal file
18
examples/system/efuse/sdkconfig.ci.virt_sb_v2_and_fe.esp32p4
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# FLASH_ENCRYPTION & SECURE_BOOT_V2 with EFUSE_VIRTUAL_KEEP_IN_FLASH
|
||||||
|
|
||||||
|
CONFIG_IDF_TARGET="esp32p4"
|
||||||
|
|
||||||
|
CONFIG_PARTITION_TABLE_OFFSET=0xD000
|
||||||
|
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||||
|
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="test/partitions_efuse_emul.csv"
|
||||||
|
|
||||||
|
CONFIG_SECURE_BOOT=y
|
||||||
|
CONFIG_SECURE_BOOT_V2_ENABLED=y
|
||||||
|
CONFIG_SECURE_BOOT_SIGNING_KEY="test/secure_boot_signing_key.pem"
|
||||||
|
CONFIG_SECURE_ENABLE_SECURE_ROM_DL_MODE=y
|
||||||
|
|
||||||
|
CONFIG_SECURE_FLASH_ENC_ENABLED=y
|
||||||
|
|
||||||
|
# IMPORTANT: ONLY VIRTUAL eFuse MODE!
|
||||||
|
CONFIG_EFUSE_VIRTUAL=y
|
||||||
|
CONFIG_EFUSE_VIRTUAL_KEEP_IN_FLASH=y
|
Loading…
x
Reference in New Issue
Block a user