Commit Graph

1300 Commits

Author SHA1 Message Date
Mahavir Jain
939043ea83 fix(bootloader_support): do not gate application region protection on bootloader config
CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE is bootloader-scoped;
disabling it must not strip the application's PMP/PMA configuration.
The application now always applies region protection.
2026-08-28 18:06:56 +05:30
Marius Vikhammer
06ac9a5a72 Merge branch 'fix/bootloader_log_format_drom_vaddr_v6.1' into 'release/v6.1'
fix(bootloader): use correct format specifier for MMU_LL_END_DROM_ENTRY_VADDR (v6.1)

See merge request espressif/esp-idf!51055
2026-08-28 09:30:22 +08:00
Marius Vikhammer
738e9da8e9 Merge branch 'feat/optimize_bootloader_size_v6.1' into 'release/v6.1'
change(bootloader): optimize bootloader size (v6.1)

See merge request espressif/esp-idf!51596
2026-08-27 18:15:49 +08:00
Armando (Dou Yiwen)
36fc263512 fix(mpll): improved mpll calibration flow on esp32s31
Signed-off-by: Armando (Dou Yiwen) <douyiwen@espressif.com>
2026-08-25 10:50:09 +08:00
Marius Vikhammer
66f79e57f8 change(bootloader): optimize bootloader size
Trim bootloader size by moving some logs to DEBUG. Allows
compiling bootloader on P4 with CONFIG_ESPTOOLPY_FLASHMODE_QIO
without changing partition table offset
2026-08-20 14:54:45 +08:00
C.S.M
8d3e6ebe02 fix(bootloader): skip XMC startup for vendor ID 0x46
Chips with RDID vendor 0x46 are not XMC and should not enter the XMC
startup flow via the RDID fast path.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 17:22:38 +08:00
Jiang Jiang Jian
14784e6054 Merge branch 'fix/fix_esp32s31_secureboot_fastwake_v6.1' into 'release/v6.1'
fix(esp_system): support rom secure boot fast wake feature for esp32s31 (v6.1)

See merge request espressif/esp-idf!51266
2026-07-31 18:00:06 +08:00
harshal.patil
db7147f15a refactor(esp_system): deduplicate ROM fast wake RTC digest reservation
The digest length and the condition that reserves it at the end of RTC RAM were
duplicated in seven places. Hold the reservation in a hidden Kconfig value that
is zero when the feature does not apply, so every consumer subtracts it
unconditionally, and derive ESP_SECURE_BOOT_DIGEST_LEN from it.
2026-07-31 10:52:52 +08:00
morris
f955f05a43 Merge branch 'bugfix/uart_sw_flow_ctrl_xoff_char_v6.1' into 'release/v6.1'
fix(uart): fix uart sw flow ctrl XOFF char write to wrong reg on ESP32C6 (v6.1)

See merge request espressif/esp-idf!50523
2026-07-29 18:57:00 +08:00
wuzhenghui
708f34bd16 fix(esp_system): support rom secure boot fast wake feature for esp32s31 2026-07-28 21:46:24 +08:00
Konstantin Kondrashov
29966899df fix(bootloader): use correct format specifier for MMU_LL_END_DROM_ENTRY_VADDR
MMU_LL_END_DROM_ENTRY_VADDR is an int-typed constant on several targets,
so logging it with PRIx32 (uint32_t) triggered -Werror=format=. Use the
plain %x specifier which matches the int type.

Closes https://github.com/espressif/esp-idf/issues/18857
2026-07-22 09:32:15 +03:00
Jiang Jiang Jian
aa2e492a8c Merge branch 'fix/esp32p4_secure_boot_sig_block_v6.1' into 'release/v6.1'
fix(esp32p4): secure boot (ECDSA-P384) and flash encryption eFuse fixes (v6.1)

See merge request espressif/esp-idf!50898
2026-07-18 01:32:56 +08:00
Laukik Hase
4861cd58c3 fix(esp_tee): Miscellaneous optimizations and fixes
Closes https://github.com/espressif/esp-idf/issues/18591
2026-07-17 18:14:38 +05:30
nilesh.kale
446c4fb6c3 fix(bootloader_support): enable XTS-AES pseudo rounds for ESP32-P4
Burn XTS_DPA_PSEUDO_LEVEL efuse on P4 (rev >= 3.0) as done for other targets.
2026-07-17 15:15:50 +05:30
nilesh.kale
7ef8b58873 fix(bootloader_support): set SECURE_BOOT_SHA384_EN eFuse on ESP32-P4
Set SECURE_BOOT_SHA384_EN when enabling ECDSA-P384 Secure Boot V2 on
ESP32-P4, as done on C5/H4/S31, so that ROM verifies the bootloader
using the SHA-384 scheme. The eFuse exists only on the rev >= v3.0
eFuse table, so the Kconfig option is gated on rev >= v3.0.
2026-07-17 15:15:50 +05:30
Jiang Jiang Jian
07c65b3819 Merge branch 'feature/chip764_power_glitch_support_v6.1' into 'release/v6.1'
feat(s31): bootloader power glitch reset config (v6.1)

See merge request espressif/esp-idf!50545
2026-07-17 10:44:46 +08:00
Jiang Jiang Jian
947e534927 Merge branch 'fix/mmap_cache_flash_wr_v6.1' into 'release/v6.1'
fix(mmap): fixed mmap read data wrong when flash being erased/written and cache not disabled (v6.1)

See merge request espressif/esp-idf!50117
2026-07-17 10:30:14 +08:00
hongshuqing
4ab85accea feat(pwr_glitch): chip764 power glitch reset config 2026-07-16 17:51:17 +08:00
hongshuqing
47009c5458 fix(vol): update dreg_1p1 and dreg_1p1_pvt in bootloader 2026-07-16 17:51:17 +08:00
Jiang Jiang Jian
f6eadf3e95 Merge branch 'fix/fix_mpll_enable_order_v6.1' into 'release/v6.1'
fix(esp_hw_support): fix esp32s31 mpll initialization (v6.1)

See merge request espressif/esp-idf!50430
2026-07-16 11:28:17 +08:00
Xiao Xufeng
8b7b2008da bootloader_utils: fixed missing unmap in load_partition_table when table verify failed 2026-07-15 18:57:08 +08:00
Xiao Xufeng
3e8389cc31 fix(mmap): fixed some API read wrong data via mmap when flash being erased/written while XIP on PSRAM
Before:

The cache won't be disabled when XIP on psram. But during flash
erasing/programming, read data will be courrupt.

When XIP in psram is enabled, the image is not mapped to the cache so
usually there will be no flash access. The only way to read from flash
is via the driver or use mmap. The driver has protection during erasing,
while th mmap region not.

Now:

Mmap APIs provide a flag to make mmap->unmap region mutually exclusive
to flash erase/programming when XIP from psram. SPI Flash write APIs
will benefit from this. When the flag is used, no concurrent access to
mapped region will happen while writing; otherwise the cache will be
disable to avoid data corruption.

Most ESP-IDF APIs calls mmap with this flag. As for users calling
mmap-like APIs directly, they can choose whether to enable this by a
flag.

Closes https://github.com/espressif/esp-idf/issues/14897
2026-07-15 18:57:08 +08:00
Song Ruo Jing
d5a3169ee5 fix(stdio): add console input ability when selects ESP_CONSOLE_UART_CUSTOM_NUM_1 2026-07-15 16:45:39 +08:00
Ashish Sharma
bcfb0407f9 fix(bootloader_support): guard NULL efuse digest slot in secure-boot verify 2026-07-13 14:40:44 +08:00
wuzhenghui
7c23080017 fix(esp_hw_support): fix esp32s31 mpll initialization 2026-07-06 21:17:34 +08:00
Jiang Jiang Jian
6d021fcbce Merge branch 'task/buildv2_shim_and_ci_v6.1' into 'release/v6.1'
feat(cmakev2): IDF_BUILD_V2 shim + v1-compat layer + buildv2 CI (v6.1)

See merge request espressif/esp-idf!49725
2026-07-03 23:37:50 +08:00
Sudeep Mohanty
5600200a4c fix(bootloader_support): declare esp_security as a dependency for flash_encrypt
flash_encrypt.c is in the unconditional source list and includes
esp_security/esp_key_mgr.h whenever SOC_KEY_MANAGER_SUPPORTED is set.
Move the esp_security PRIV_REQUIRES declaration outside the
BOOTLOADER_BUILD branch so every build variant that compiles
flash_encrypt.c gets the dependency consistently.
2026-07-01 19:59:05 +08:00
Sudeep Mohanty
14e899410f fix(test_apps/rtc_custom_section): declare bootloader_support as a private requirement of main 2026-06-29 22:10:21 +08:00
Mahavir Jain
b08669af99 change(bootloader): honor SECURE_BOOT_ALLOW_UNUSED_DIGEST_SLOTS during first boot
Previously the bootloader unconditionally revoked unused secure boot key
digest slots while permanently enabling secure boot on the first boot,
ignoring CONFIG_SECURE_BOOT_ALLOW_UNUSED_DIGEST_SLOTS. Now the config is
honored on this path too: when set, the unused digest slots are left
un-revoked. This is safe as long as the debug and download interfaces are
disabled.

Update the Kconfig help and the Secure Boot v2 guide (en and zh_CN)
accordingly.
2026-06-16 13:29:49 +05:30
Jiang Jiang Jian
895974c34d Merge branch 'feat/enable_sb_and_fe_support_for_esp32s31_v6.1' into 'release/v6.1'
feat: enable Secure Boot, Flash Encryption and Key Manager support in ESP32S31 (v6.1)

See merge request espressif/esp-idf!49161
2026-06-10 11:13:43 +08:00
Song Ruo Jing
c9f52c7ca7 feat(spi_flash): Add exclusive support for ESP32H4
Add 32bit addr support for esp32s31 as well
2026-06-09 15:27:41 +08:00
C.S.M
01a9cbe421 fix(spi_flash): Fix suspend issue on esp32s31, and add trs timing on other target 2026-06-08 14:39:47 +08:00
nilesh.kale
6b6e99be49 fix(secure_boot_v2): select correct secure boot algorithm based on key 2026-06-02 13:09:45 +05:30
nilesh.kale
ae1ec76e82 feat: enable Secure Boot, Flash Encryption and Key Manager support for S31 2026-06-02 13:09:44 +05:30
morris
c23e87b81b Merge branch 'bugfix/esp32s31_raise_ahb_clk_freq' into 'master'
fix(clk): raised ESP32S31 axi/ahb clock freq up to 106mhz at max

Closes IDF-14696

See merge request espressif/esp-idf!48207
2026-05-25 18:23:37 +08:00
Konstantin Kondrashov
7dab1d313e Merge branch 'feature/efuse_esp32h21' into 'master'
feat(efuse): Update efuse table for ESP32H21

Closes IDF-11556

See merge request espressif/esp-idf!48762
2026-05-22 09:39:18 +03:00
Konstantin Kondrashov
f870ed9d61 feat(efuse): Update efuse table for ESP32H21 2026-05-21 16:29:09 +03:00
Song Ruo Jing
3ba8d08d02 fix(clk): raised axi/ahb clock freq up to 106mhz at max 2026-05-21 16:39:40 +08:00
Nilesh Kale
2fa9fba978 Merge branch 'feat/add_flash_encryption_support_for_esp32h4' into 'master'
feat: enable flash encryption support in ESP32H4

Closes IDF-12261, IDF-12969, and IDF-12506

See merge request espressif/esp-idf!45613
2026-05-20 17:45:13 +08:00
Aditya Patwardhan
e1d429ba30 feat(hal): add ECDSA low-level driver for esp32s31
Co-authored-by: Nilesh Kale <nilesh.kale@espressif.com>
2026-05-20 10:17:34 +05:30
nilesh.kale
cae147af08 feat: enable flash encryption for ESP32-H4 2026-05-20 09:29:20 +05:30
Mahavir Jain
cee71ceb39 Merge branch 'feat/enable_secure_boot_support_for_esp32h4' into 'master'
feat: enable support for secure boot in esp32h4

Closes IDF-12262 and IDF-12966

See merge request espressif/esp-idf!45603
2026-05-13 19:07:25 +05:30
Gao Xu
69136606ab Merge branch 'feat/s31_rng_basic_support' into 'master'
Feat/s31 rng support

Closes IDF-14632, WIFIBUG-1875, and TZ-2554

See merge request espressif/esp-idf!47217
2026-05-13 17:47:59 +08:00
gaoxu
07aaba7c7b refactor(rng): move rng read data function to rng_ll.h and update docs of RNG source 2026-05-13 15:09:55 +08:00
C.S.M
2b7992213c feat(bod): Add bod support on esp32s31 2026-05-12 12:30:35 +08:00
nilesh.kale
76e2e6d53f feat: enable support for secure boot in esp32h4 2026-05-11 16:26:01 +05:30
gaoxu
3d7a643ff7 feat(rng): trng refactor to ll functions on esp32s31 2026-05-11 09:08:25 +08:00
hongshuqing
fab36071f8 support bootloader_random api 2026-05-11 09:08:19 +08:00
gaoxu
aa54a711af feat(rng): basic rng support on esp32s31 2026-05-11 09:08:12 +08:00
Mahavir Jain
fa2fff2507 Merge branch 'contrib/github_pr_18495' into 'master'
fix(bootloader_support): Fix app verification when split across multiple mmaps (GitHub PR)

Closes IDFGH-17562

See merge request espressif/esp-idf!47821
2026-05-08 09:22:20 +05:30