Commit Graph

69 Commits

Author SHA1 Message Date
Song Ruo Jing
48233e0e7e refactor(ledc): remove deprecated LEDC_USE_RTC8M_CLK macro for v6.0 2025-07-30 20:01:47 +08:00
Song Ruo Jing
f61e780f60 refactor(clk): deprecate rtc_cal_sel_t enum 2025-07-30 20:01:46 +08:00
wuzhenghui
d7e1a747a6 fix(esp_hw_support): enable ESP_SLEEP_RTC_FAST_USE_XTAL_MODE only once in RTC_FAST selection 2025-07-18 15:29:07 +08:00
morris
c4d7b1cfce refactor(uart)!: deprcated esp_rom_uart.h 2025-07-08 18:56:17 +08:00
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