Commit Graph

1005 Commits

Author SHA1 Message Date
Marius Vikhammer
81f6360e4d Merge branch 'feat/optimize_bootloader_size' into 'master'
change(bootloader): optimize bootloader size

See merge request espressif/esp-idf!51573
2026-08-06 22:06:38 +08:00
Marius Vikhammer
47262f8e6b 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-06 10:01:36 +02:00
Gao Xu
db9e5b4d31 Merge branch 'feat/rng_support_h21' into 'master'
H21 RNG support

Closes IDF-11503

See merge request espressif/esp-idf!50061
2026-08-05 14:15:43 +08:00
harshal.patil
e1d60fb89f 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-30 12:20:22 +05:30
wuzhenghui
f2b2bac778 fix(esp_system): support rom secure boot fast wake feature for esp32s31 2026-07-28 21:32:45 +08:00
wuzhenghui
90cb8a760d feat(esp_hw_support): disable all unused pll source in rtc_clk_init to save power 2026-07-22 16:32:12 +08:00
Konstantin Kondrashov
66b5056f23 fix(bootloader): use correct format specifier for MMU_LL_END_DROM_ENTRY_VADDR 2026-07-22 08:59:11 +03:00
gaoxu
d31a63d246 feat(rng): refactor rng bootloader to rng ll API 2026-07-20 17:15:26 +08:00
nilesh.kale
15d7329be0 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-16 15:05:49 +05:30
nilesh.kale
0d29ce3db0 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-16 15:05:04 +05:30
Konstantin Kondrashov
7cac7e0b86 Merge branch 'fix/remove-bootloader-desc-from-app-build' into 'master'
fix(esp_bootloader_format): Remove bootloader description from app build

See merge request espressif/esp-idf!50576
2026-07-10 14:05:55 +03:00
Konstantin Kondrashov
8913d4cf61 fix(esp_bootloader_format): Remove bootloader description from app build
The removed function `esp_bootloader_get_description` never worked in the app build.
It can be used only in the bootloader build.

To read the bootloader description from app, there is another function
`esp_ota_get_bootloader_description`.
2026-07-10 12:17:59 +03:00
Song Ruo Jing
4a94a5a396 fix(stdio): add console input ability when selects ESP_CONSOLE_UART_CUSTOM_NUM_1 2026-07-08 12:08:46 +08:00
morris
651d6a283f refactor(esp_common): centralize ALIGN_UP/ALIGN_DOWN into esp_macros.h
Remove ~50 duplicate local definitions of ALIGN_UP/ALIGN_DOWN/ALIGN_UP_BY/
ALIGN_DOWN_BY across the codebase and replace them with canonical
ESP_ALIGN_UP/ESP_ALIGN_DOWN from esp_macros.h.
2026-07-06 13:36:06 +08:00
Ashish Sharma
e09ab205f1 fix(bootloader_support): guard NULL efuse digest slot in secure-boot verify 2026-07-03 17:19:05 +08:00
Wu Zheng Hui
d8b255280b Merge branch 'fix/fix_mpll_enable_order' into 'master'
fix(esp_hw_support): fix esp32s31 mpll initialization

Closes IDF-15820

See merge request espressif/esp-idf!49927
2026-07-01 16:35:20 +08:00
Konstantin Kondrashov
1d7bfe4c3f Merge branch 'fix/esp_image_format' into 'master'
fix(esp_image_format): Fix some memory-safety issues

Closes IDF-15801 and SEC-1158

See merge request espressif/esp-idf!49675
2026-06-30 09:19:17 +03:00
Konstantin Kondrashov
e08d198fd6 fix(esp_image_format): validate MMU page size 2026-06-29 12:10:50 +03:00
Michael (XIAO Xufeng)
c1b218b640 Merge branch 'fix/mmap_cache_flash_wr' into 'master'
fix(mmap): fixed mmap read data wrong when flash being erased/written and cache not disabled

Closes IDFGH-14084

See merge request espressif/esp-idf!29804
2026-06-29 11:44:10 +08:00
hongshuqing
f704fbb5ec update bootloader_random_enable and disbale api 2026-06-26 19:08:10 +08:00
gaoxu
583f5b4de3 feat(rng): basic rng support on ESP32-H21 2026-06-26 10:55:15 +08:00
wuzhenghui
ba1df35672 fix(esp_hw_support): fix esp32s31 mpll initialization 2026-06-25 12:20:57 +08:00
Konstantin Kondrashov
d06a91db18 fix(esp_image_format): verify length of segment #0 for app description 2026-06-23 15:22:03 +03:00
Konstantin Kondrashov
d03f628da6 fix(esp_image_format): Verify image segment count 2026-06-23 14:57:05 +03:00
Alexey Lapshin
e389f3e4df Merge branch 'feature/upgrade_toolchain_to_16.1.0_20260609' into 'master'
Upgrade GNU toolchain to 16.1.0_20260609

See merge request espressif/esp-idf!49523
2026-06-18 00:55:07 +04:00
Xiao Xufeng
0307fa6abb bootloader_utils: fixed missing unmap in load_partition_table when table verify failed 2026-06-16 01:00:43 +08:00
Xiao Xufeng
789ce684c9 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-06-16 01:00:43 +08:00
Alexey Lapshin
406bd2393e fix(ci): suppress GNU static analyzer warnings 2026-06-15 18:53:21 +07:00
Mahavir Jain
8da7627526 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-10 13:09:10 +05:30
Huyghe Robin
c20ec4effd Fixed typos in flash_encrypt 2026-06-08 08:51:32 +02:00
Chai Ji’e
9dc046e94b Merge branch 'feature/chip764_power_glitch_support' into 'master'
feat(s31): bootloader power glitch reset config

See merge request espressif/esp-idf!49050
2026-06-03 09:30:22 +08:00
hongshuqing
318dba3b96 feat(pwr_glitch): chip764 power glitch reset config 2026-06-01 19:27:08 +08:00
hongshuqing
58e8df647e fix(vol): update dreg_1p1 and dreg_1p1_pvt in bootloader 2026-05-29 15:06:08 +08:00
Mahavir Jain
d0fb1cdad8 Merge branch 'feat/enable_sb_and_fe_support_for_esp32s31' into 'master'
feat: enable Secure Boot, Flash Encryption and Key Manager support in ESP32S31

Closes IDF-14629, IDF-14628, IDF-14626, and IDF-14622

See merge request espressif/esp-idf!48136
2026-05-29 10:31:34 +05:30
Gao Xu
db3d01d412 Merge branch 'feat/basic_rng_support_h4' into 'master'
RNG support and refactor on ESP32-H4

Closes IDF-12265

See merge request espressif/esp-idf!45361
2026-05-27 11:14:38 +08:00
gaoxu
43317018d1 refactor(rng): use adc_ll apis for ESP32-h4 and refactor rng_ll_enable/disable 2026-05-26 19:02:41 +08:00
nilesh.kale
e3b1d571d0 fix(secure_boot_v2): select correct secure boot algorithm based on key 2026-05-26 12:57:34 +08:00
nilesh.kale
fe257f699e feat: enable Secure Boot, Flash Encryption and Key Manager support for S31 2026-05-26 12:57:34 +08:00
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
hongshuqing
ad310ce681 update rng souce enable and disable 2026-05-18 08:06:01 +08:00
gaoxu
8c74734591 feat(rng): basic rng support on esp32h4 2026-05-18 08:05:19 +08:00
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