Konstantin Kondrashov
ff53d5d32c
Merge branch 'feature/iram_esp_system' into 'master'
...
feat(esp_system): Adds Kconfigs to place code in IRAM
Closes IDF-11426
See merge request espressif/esp-idf!38292
2025-06-24 05:46:09 +08:00
Konstantin Kondrashov
ff0408c087
feat(esp_system): Adds Kconfigs to place code in IRAM
2025-06-23 13:23:33 +03:00
yanzihan@espressif.com
08eea3c058
feat(esp_hw_support): use pvt to auto control digital ldo and rtc ldo for esp32p4
2025-06-23 00:28:53 +08:00
harshal.patil
46225a4026
feat(esp_psram): Add a new API to just detect and enable the PSRAM
...
- esp_psram_chip_init() just detects and does basic initialisations of PSRAM
- esp_psram_init() initialises and maps/loads the PSRAM pages
2025-04-29 11:48:27 +05:30
Mahavir Jain
55a2ad3df3
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-15 19:06:26 +05:30
Wu Zheng Hui
38fcc41ff2
Merge branch 'feat/enable_esp32p4_auto_clock_gate' into 'master'
...
feat(esp_hw_support): enable auto clock gating for multi peripherals
See merge request espressif/esp-idf!37986
2025-04-09 21:42:04 +08:00
wuzhenghui
6ca0614e89
feat(esp_hw_support): enable auto clock gating for multi peripherals
2025-04-09 17:07:49 +08:00
Chen Jichang
2cbc297969
refactor(gptimer): use group_id in clock ctrl functions
2025-04-08 10:20:48 +08:00
morris
fbcbefe9f0
fix(dma): abort the axi dma gracefully on CPU SW reset
2025-01-09 17:12:43 +08:00
C.S.M
5e4fd8ee52
refactor(bod): Move brownout handling file from esp_system to esp_hw_support
2025-01-08 14:41:37 +08:00
Erhan Kurubas
88b137c121
fix(system): avoid unexcpected hp_sys_wdt reset
2024-12-17 18:29:45 +03:00
Song Ruo Jing
c5ab71e3db
fix(esp_system): still gate hp periph clk on core/system reset for power saving
...
Leaving only hp periph clk source should not be gated on core/system reset
2024-12-12 20:45:06 +08:00
Song Ruo Jing
7b852faf66
fix(esp_system): hp periph clk should not be gated on core/system reset
2024-11-29 21:42:06 +08:00
Song Ruo Jing
aa35807198
fix(clk): add an inevitable kconfig option to be selected to use rc32k
2024-11-26 21:20:32 +08:00
morris
83c9cffd2b
change(soc): vectorize bitscrambler regsiter layout
2024-11-14 17:26:57 +08:00
Jeroen Domburg
ab75a94877
feat(bitscrambler): add hal driver support
2024-11-14 17:26:57 +08:00
Marius Vikhammer
f8ddcee8cd
Merge branch 'refactor/cache_err_panic' into 'master'
...
refactor(panic): refactor and unify cache panic errors
See merge request espressif/esp-idf!34382
2024-11-13 10:19:38 +08:00
wuzhenghui
9a41a61dd5
fix(esp_system): writeback L1 Dcache before disable L2 if PSRAM used
2024-11-08 18:44:14 +08:00
Marius Vikhammer
9c5dde5536
refactor(panic): refactor and unify cache panic errors
2024-11-07 11:39:40 +08:00
C.S.M
75aea08703
fix(bod): Remove config for bod on p4 v0.x
2024-11-05 10:39:28 +08:00
wuzhenghui
7fdfa6c227
fix(esp_hw_support): disable unused clock sources after rtc clock switching complete
2024-10-28 15:57:26 +08:00
C.S.M
c2d1f7a48c
feat(esp32p4): Introduce p4 eco2 configuration
2024-10-12 15:08:24 +08:00
wuzhenghui
04b2afed44
change(esp_hw_support): switch lp_cpu power mode with clock src to save lp_cpu working power
2024-09-26 11:23:06 +08:00
Marius Vikhammer
564d777018
Merge branch 'feature/lp_core_40_mhz' into 'master'
...
feat(system): support choosing xtal as rtc-fast clock src on P4 and C5
Closes IDF-10203
See merge request espressif/esp-idf!32450
2024-09-20 10:57:15 +08:00
Marius Vikhammer
00eb97725b
feat(system): support choosing xtal as rtc-fast clock src on P4 and C5
...
With xtal as rtc-fast clock source the LP-Core can run at twice the default
clock frequency. 40 MHz as opposed to 20 MHz.
2024-09-19 17:30:44 +08:00
wuzhenghui
05e74480f5
feat(esp_system): gate some clock by default to optmize esp32p4 active power
2024-09-11 10:53:00 +08:00
Alexey Lapshin
7498f4655a
fix(esp_system): fix GCC 14 analyzer warnings
2024-09-08 13:53:52 +07:00
harshal.patil
b729a0a732
change(esp_security): Move crypto clk configuration into the security component
2024-08-20 12:35:22 +08:00
Armando
564b74a9c0
feat(cache): supported cache panic on p4
2024-07-12 12:42:10 +08:00
wuzhenghui
aa1ff4e167
fix(esp_system): fix stuck in bootloader_random_enable after lightsleep
2024-07-03 18:03:06 +08:00
Armando (Dou Yiwen)
7755ce186e
Merge branch 'bugfix/fix_none_iram_code_before_xip_psram' into 'master'
...
rtc: fixed non-iram rtc code in early stage on p4 leading xip_psram stuck
See merge request espressif/esp-idf!31742
2024-06-26 20:47:10 +08:00
Armando
5fe080ea5a
fix(rtc): fixed non-iram rtc code in early stage on p4 leading xip_psram stuck
2024-06-26 17:30:59 +08:00
Wu Zheng Hui
ee372c4842
Merge branch 'feat/esp32p4eco_sleep_feature_update' into 'master'
...
feat(esp_hw_support): esp32p4eco1 sleep feature update
Closes IDF-9564
See merge request espressif/esp-idf!30899
2024-06-24 11:15:47 +08:00
Xiao Xufeng
5b71b949be
fix(startup): move rtc initialization before MSPI timing tuning to improve stability
2024-06-18 01:16:24 +08:00
wuzhenghui
7a9fb14f90
feat(esp_hw_support): bypass rst_reason override for esp32p4eco1
2024-05-31 14:51:15 +08:00
C.S.M
9b3bd13a13
feat(brownout): Add brownout detector support on esp32p4
2024-05-21 15:03:28 +08:00
wuzhenghui
f3d963a93b
fix(esp_system): update power domain configuration with slow clock source selection
2024-04-17 15:45:52 +08:00
harshal.patil
6ec486e351
fix(esp_system): Enable crpyto peripherals related clocks for specific ESP32-P4 ECOs
2024-04-12 14:56:53 +05:30
Marius Vikhammer
1c73c657c9
Merge branch 'ci/console_test_coverage' into 'master'
...
ci(console): improve esp-system console test-coverage
Closes IDFCI-1856, IDF-9576, and IDF-9577
See merge request espressif/esp-idf!29748
2024-03-28 11:14:57 +08:00
wuzhenghui
621effce5b
fix(esp_system): workaround for CI pass
...
1. workaround esp32p4 rev0 wrong deepsleep wakeup cause
2. workaround esp32p4 lightsleep stuck issue with PSRAM enabled
2024-03-27 13:59:37 +08:00
wuzhenghui
ccaae61fee
feat(esp_hw_support): support esp32p4 deepsleep
2024-03-27 13:59:36 +08:00
Marius Vikhammer
42fc463c81
fix(console): fixed CONSOLE_NONE not working on C2/C3
2024-03-26 13:39:10 +08:00
Konstantin Kondrashov
3f89072af1
feat(all): Use PRIx macro in all logs
2024-03-12 11:15:53 +02:00
nilesh.kale
f6a7fb13cd
feat: re enables tests on p4
...
This commit re-enables mbedtls and hal/crypto testapos on p4.
2024-03-05 17:48:05 +08:00
Marius Vikhammer
4ce4af61ad
fix(system): update reset reasons for P4 and C5
2024-02-21 11:59:28 +08:00
liuning
3fa9c578f9
fix(clk): clear all lpclk source at clk init
2024-02-07 13:49:18 +08:00
Marius Vikhammer
06850e0e1e
refactor(system): removed esp_system from astyle ignore list and reformated it
2024-01-30 15:17:15 +08:00
Song Ruo Jing
cf93777077
refactor(rtc): move soc/rtc.h from soc to esp_hw_support component
...
Deprecated rtc_xtal_freq_t, replaced with soc_xtal_freq_t defined in
clk_tree_defs.h in soc component.
2024-01-25 19:15:33 +08:00
Omar Chebib
102d5bbf72
refactor(riscv): added a new API for the interrupts
2024-01-18 16:36:53 +08:00
Cao Sen Miao
6768805d20
fix(uart,usj...): Fix wrong serial number that has been parsed to rom functions,
...
Closes https://github.com/espressif/esp-idf/issues/12958
2024-01-18 10:51:51 +08:00