Commit Graph
1383 Commits
Author SHA1 Message Date
morris 80971b25da Merge branch 'feat/p4_eco5_real_chip_v5.4' into 'release/v5.4'
p4: p4 eco5 real chip (v5.4)

See merge request espressif/esp-idf!42063
2025-10-26 22:38:34 +08:00
morris 5583963765 Merge branch 'fix/clear_force_on_reg_for_cache_v5.4' into 'release/v5.4'
fix(clk): do not clear force_on reg for cache (v5.4)

See merge request espressif/esp-idf!42178
2025-10-26 22:27:28 +08:00
Xiao Xufeng 147ec10b86 dma: fixed issue that DMA are not reset when CPU reset
When DMA keep writing the memory, some data may be corrupted after reset. For example, the stack of bootloader may be overwritten and failed to boot until a higher scope of reset (Core).
2025-10-25 02:15:23 +08:00
armando a70a29b7a6 feat(p4): p4 rev3 real chip support 2025-10-13 15:24:14 +08:00
yanzihan@espressif.com ea4451d6b3 feat(clk): add 100m/200m/400m cpu freq & change clk cal & change blk version 2025-10-13 15:24:14 +08:00
armando b3fd689da9 feat(esp32p4): support rev3 on fpga 2025-10-13 15:24:14 +08:00
wuzhenghui b20d8c1afb fix(esp_system): fix ext 32k io revoking breaks sleep io holding 2025-10-10 20:20:50 +08:00
Chen Jichang 6e5f96136d fix(clk): clear force_on reg for cache 2025-09-29 13:48:09 +08:00
Jiang Jiang Jian 12b8f9c9d5 Merge branch 'fix/eh_frame_infinite_loop_v5.4' into 'release/v5.4'
fix(esp_system): prevent .eh_frame-based unwinding from looping indefinitely (release v5.4)

See merge request espressif/esp-idf!41579
2025-09-19 02:20:06 +08:00
Konstantin Kondrashov 27456ea2f3 feat(ipc): Allow IPC recursion calls in esp_ipc_call 2025-09-16 10:38:46 +03:00
Omar Chebib 1285e19cab fix(esp_system): prevent .eh_frame-based unwinding from looping indefinitely 2025-08-28 09:54:36 +08:00
Jiang Jiang Jian 378bab6e55 Merge branch 'feat/usb-cdc-select_v5.4' into 'release/v5.4'
feat(usb_cdc): Add select functionality (backport v5.4)

See merge request espressif/esp-idf!40892
2025-08-26 10:51:11 +08:00
Marius Vikhammer 00f4245160 fix(console): fixed secondary console not working on all chips without VFS 2025-08-22 09:38:46 +08:00
Sudeep Mohanty 17037437ff fix(panic_handler): Fixed a issue where the system reboots before halt
This commit fixes an issue where the panic handler may reboot even if it
is configured to halt the CPU.

Closes https://github.com/espressif/esp-idf/issues/17260
2025-08-14 11:03:24 +02:00
Jiang Jiang Jian d9251d7efd Merge branch 'bugfix/brownout_log_v5.4' into 'release/v5.4'
fix: change brownout log from INFO to ERROR (v5.4)

See merge request espressif/esp-idf!40960
2025-08-04 10:38:18 +08:00
Mahavir Jain f778e6fcac fix: change brownout log from INFO to ERROR 2025-08-01 08:48:23 +05:30
Guillaume Souchere d5dca1a78d feat(usb_cdc): Add select functionality 2025-07-29 10:14:19 +02:00
wuzhenghui 1de92b2e70 fix(esp_hw_support): enable ESP_SLEEP_RTC_FAST_USE_XTAL_MODE only once in RTC_FAST selection 2025-07-25 16:51:58 +08:00
wuzhenghui 37d25de531 fix(esp_system): force enable uart0 sclk in esp_restart 2025-07-03 19:16:56 +08:00
yanzihan@espressif.com 34b8f67a89 feat(esp_hw_support): use pvt to auto control digital ldo and rtc ldo for esp32p4 2025-06-25 18:22:02 +08:00
wanckl ea03622621 ci(esp32c61): remove c61 support from readme on 5.4 2025-06-17 15:09:40 +08:00
Omar Chebib fd7cfe0b04 fix(esp_system): fix RTC reserved area alignment in the linker script
Make sure the size of the RTC reserved area complies with the alignment requirement.

Closes https://github.com/espressif/esp-idf/issues/13082
2025-05-27 11:20:07 +08:00
Jiang Jiang Jian fc5b878c65 Merge branch 'fix/remove-unnecessary-select_v5.4' into 'release/v5.4'
fix(esp_system): Remove unnecessary select from esp_system/Kconfig (v5.4)

See merge request espressif/esp-idf!37520
2025-05-26 19:52:26 +08:00
Jiang Jiang Jian ee04629723 Merge branch 'feat/some_xip_psram_related_optimisations_and_fixes_v5.4' into 'release/v5.4'
feat(esp_psram): Add some wasted XIP PSRAM memory in heap and PSRAM protection (v5.4)

See merge request espressif/esp-idf!38872
2025-05-26 19:46:08 +08:00
Jan Beran fdca2c76f3 fix(esp_system): Remove unnecessary select from esp_system/Kconfig 2025-05-12 09:51:04 +02:00
Alexey Lapshin c06fb3b759 fix(system): linker script: free unused .rtc.text memory for esp32c3/esp32s2/esp32s3 2025-05-09 11:39:24 +08:00
harshal.patil 26586deb7d fix(esp_psram): Add XIP PSRAM alignment gaps in heap only if PSRAM protection is enabled 2025-05-05 11:52:15 +05:30
harshal.patil 9406fde68d feat(cpu_region_protect): Enable basic memory protection for SPIRAM 2025-05-05 11:52:04 +05:30
Sudeep Mohanty f56cf54183 fix(panic_handler): Prevent race condition in panic handler
This commit updates all RTC WDT contexts to be local instead of global
to avoid race conditions when both cores enter the panic handler
simultaneously.
2025-04-25 09:10:58 +02:00
Mahavir Jain 5cdc53df23 fix(esp_system): reset crypto peripherals before device restart
This change addresses a rare but critical issue observed on certain
ESP32-C3 and ESP32-S3 devices, where secure boot verification
intermittently fails due to improper cleanup of crypto peripherals
during a restart.

Background – Restart Behavior in IDF
------------------------------------
In ESP-IDF, when the device restarts (via `esp_restart()` or due to a
panic/exception), a partial peripheral reset is performed followed by a
CPU reset. However, until now, crypto-related peripherals were not
included in this selective reset sequence.

Problem Scenario
----------------
If a restart occurs while the application is in the middle of a bignum
operation (i.e., using the MPI/Bignum peripheral), the ROM code may
encounter an inconsistent peripheral state during the subsequent boot.
This leads to transient RSA-PSS secure boot verification failures.

Following such a failure, the ROM typically triggers a full-chip reset
via the watchdog timer (WDT). This full reset clears the crypto
peripheral state, allowing secure boot verification to succeed on the
next boot.

Risk with Aggressive Revocation
-------------------------------
If secure boot aggressive revocation is enabled (disabled by default in
IDF), this transient verification failure could mistakenly lead to
revocation of the secure boot digest.

If your product configuration has aggressive revocation enabled,
applying this fix is strongly recommended.

Frequency of Occurrence
-----------------------
The issue is rare and only occurs in corner cases involving
simultaneous use of the MPI peripheral and an immediate CPU reset.

Fix
---
This fix ensures that all crypto peripherals are explicitly reset prior
to any software-triggered restart (including panic scenarios),
guaranteeing a clean peripheral state for the next boot and preventing
incorrect secure boot behavior.
2025-04-23 17:53:09 +08:00
Jiang Jiang Jian 9f8548bb2d Merge branch 'feat/enable_esp32p4_auto_clock_gate_v5.4' into 'release/v5.4'
feat(esp_hw_support): enable auto clock gating for multi peripherals (v5.4)

See merge request espressif/esp-idf!38443
2025-04-17 17:13:40 +08:00
morris 0be344409b Merge branch 'fix/fix_mmu_map_concurrent_issue_v5.4' into 'release/v5.4'
mmu: fix mmu map concurrent issue (v5.4)

See merge request espressif/esp-idf!38411
2025-04-17 15:59:06 +08:00
wuzhenghui 7643f77225 feat(esp_hw_support): enable auto clock gating for multi peripherals 2025-04-16 15:08:51 +08:00
wuzhenghui ba88b91e28 fix(esp_hw_support): fix unused OSC source deinit breaks XTAL32K configuration 2025-04-16 14:56:49 +08:00
wuzhenghui 54c4606111 fix(esp_hw_support): fix current leakage if ext32k slow clock source not exists 2025-04-16 14:56:12 +08:00
armando 873cde487c test(system): increased 200B memory leak thresh due to mmu mmap mutex
200B to extend the thresh, real increase to the memory usage will be smaller
2025-04-15 14:22:48 +08:00
Martin Vychodil 9df731bf36 Merge branch 'fix/incorrect_console_open_and_close_behaviour_v5.4' into 'release/v5.4'
fix(storage/vfs_console): stop new console opens from overwriting existing fds (v5.4)

See merge request espressif/esp-idf!35267
2025-04-03 17:01:57 +08:00
Wang Meng Yang 0cecb7bcf3 Merge branch 'bug/xtensa_cpu1_sys_lockup_v5.4' into 'release/v5.4'
fix(panic_handler): Updated panic handler to use RTC WDT (v5.4)

See merge request espressif/esp-idf!37112
2025-04-01 14:51:18 +08:00
Tomáš Rohlínek 8e0239f04b fix(storage/console): fix test configuration 2025-03-12 20:06:31 +08:00
Tomáš Rohlínek c6d24bddf7 fix(storage/vfs_console): stop new console opens from overwriting existing fds 2025-03-12 20:06:31 +08:00
wuzhenghui 6de3fde3c2 fix(esp_system): fix possible cache_error by another core accessing flash in esp_restart 2025-03-10 11:40:10 +08:00
Armando 419e8b2e20 fix(mspi): fixed cpu and mspi freq mismatch issue when in dfs/sleep on p4 2025-03-08 14:06:09 +08:00
Sudeep Mohanty cd887ef59a fix(panic_handler): Updated panic handler to use RTC WDT
This commit updates the following:
- Updates the panic handler to use only the RTC WDT to reset the system.
- Refactors some of the panic handler code.
- Updates Bluetooth files where in they now feed the WDTs instead of
  reconfiguring them.
- Removes some unnecessary configuration of WDTs from various files.
- Added a unit test to verify that the system does not lock up when the
  panic handler is stuck.
- Updates the memprot unit tests to work with the refactored panic
  handler.

Closes https://github.com/espressif/esp-idf/issues/15166
Closes https://github.com/espressif/esp-idf/issues/15018
Closes https://github.com/espressif/esp-idf/issues/10110
2025-03-06 09:17:26 +01:00
Jiang Jiang Jian da3f2ea5ce Merge branch 'fix/add_sleep_duration_check_for_timer_wakeup_v5.4' into 'release/v5.4'
fix(esp_hw_support): add timer wakeup sleep duration check (v5.4)

See merge request espressif/esp-idf!37010
2025-02-19 13:48:17 +08:00
wuzhenghui 95fb085fe3 fix(esp_hw_support): add timer wakeup sleep duration check
Closes https://github.com/espressif/esp-idf/issues/15255
2025-02-18 19:21:57 +08:00
wuzhenghui 1e11f287e1 change(esp_hw_support): disable CPU wait-for-event mode on cpu start 2025-02-18 19:21:09 +08:00
Marius Vikhammer 36ae237691 Merge branch 'fix/usb-cdc-non-blocking-read_v5.4' into 'release/v5.4'
fix(esp_vfs_console): USB CDC read when non blocking (backport v5.4)

See merge request espressif/esp-idf!36750
2025-02-18 12:17:08 +08:00
Omar Chebib d3a9545e95 fix(esp_system): add missing arrays attribute in the ESP32-P4 linker script 2025-02-14 10:58:12 +08:00
Jiang Jiang Jian 97404fa883 Merge branch 'fix/fix_branch_predictor_access_flash_after_cache_diabled_v5.4' into 'release/v5.4'
fix(esp_hw_support): fix branch predictor access flash after cache disabled (v5.4)

See merge request espressif/esp-idf!36558
2025-02-12 17:59:36 +08:00
Guillaume Souchere 4b5e246b5b fix(esp_vfs_console): USB CDC read when non blocking
In non blocking mode, the read function is expected
to return weather data is available for reading or not.

In case data are available but the size does not match
the expected size, the function read should return whatever
data is available.

Previously, the function was returning -1 with errno set
to EWOULDBLOCK even if the size of data in the buffer was
less than the requested size. It would only return the
available data if the size in the buffer was greater or equal
to the requested size.

The implementation of cdcacm_read is modified to return the avilable
data from the buffer even is the size is lesser than the requested
size.
2025-02-06 09:01:30 +01:00