302 Commits

Author SHA1 Message Date
C.S.M 152b5ccb4c ci(esp32s31): Add ci target test for esp32s31 2026-04-03 11:38:45 +08:00
cjin 2e23886193 fix(pm): expand the number of skip light sleep number 2026-03-13 17:18:38 +08:00
Tan Yan Quan de093fa343 Merge branch 'feat/phy_enable_iram' into 'master'
feat(phy): add CI case to ensure `esp_phy_enable()` is fully placed in IRAM for esp32h2

See merge request espressif/esp-idf!40280
2026-03-11 10:57:02 +08:00
Wu Zheng Hui 261683e6b0 Merge branch 'fix/fix_sleep_exception_in_spi_flash_rom_impl' into 'master'
fix(esp_hw_support): fix sleep exception in spi flash rom impl

Closes IDF-15423

See merge request espressif/esp-idf!46409
2026-03-11 10:30:08 +08:00
Tan Yan Quan 91827686ac ci(phy): add test_phy case for esp32h2 2026-03-10 16:49:21 +08:00
Song Ruo Jing 600bf5b6d7 refactor(esp_hal_regi2c): move regi2c implementation from esp_rom to esp_hal_regi2c 2026-03-10 15:08:51 +08:00
wuzhenghui 582875df53 fix(esp_hw_support): fix sleep exception if CONFIG_SPI_FLASH_ROM_IMPL enabled 2026-03-09 17:32:55 +08:00
Wu Zheng Hui b4def1d7db Merge branch 'feat/support_rv_fp_retention' into 'master'
feat(esp_hw_support): support rv fp retention

See merge request espressif/esp-idf!45565
2026-03-03 17:36:04 +08:00
He Binglin e880ce192b Merge branch 'bugfix/esp_idf_s2_options_test_esp_pm' into 'master'
fix(esp_pm): change esp32s2 esp32c5 pm_trace io to avoid conflicts with mspi

Closes IDFCI-3647

See merge request espressif/esp-idf!46135
2026-03-03 11:20:14 +08:00
hebinglin aee00ddafc fix(esp_pm): change esp32s2 esp32c5 pm_trace io to avoid conflicts with mspi 2026-03-02 18:02:14 +08:00
Song Ruo Jing 69def0c3ea feat(psram): allow PSRAM to enter halfsleep mode during light sleep 2026-02-28 22:33:34 +08:00
wuzhenghui 8f7dca60d6 feat(esp_hw_support): add RV FP test cases 2026-02-05 15:39:43 +08:00
Wu Zheng Hui a483acbf8f Merge branch 'feat/support_configurable_sleep_tick_overflow_behaviour' into 'master'
feat(pm): add light sleep tick overflow protection configuration

See merge request espressif/esp-idf!45413
2026-02-05 10:55:11 +08:00
wuzhenghui cf94981732 feat(pm): add light sleep tick overflow protection configuration 2026-01-29 12:02:50 +08:00
Michael (XIAO Xufeng) 5984b29af5 Merge branch 'refactor/spi_flash_private' into 'master'
refactor(spi_flash): reorganize header files, improve encapsulation and simplify ROM implementation

See merge request espressif/esp-idf!44347
2026-01-28 17:39:51 +08:00
Jiang Jiang Jian b40a7a853a Merge branch 'bugfix/fix_cause_in_wakeup_process' into 'master'
fix(wifi): fix crash issue in sleep wake process and cannot sleep after switch ps mode

Closes WIFIBUG-1687 and WIFI-7187

See merge request espressif/esp-idf!45291
2026-01-28 10:26:53 +08:00
Igor Udot f4cb052666 Merge branch 'ci/base_components' into 'master'
ci: use common_components in depends_components

See merge request espressif/esp-idf!45070
2026-01-26 09:08:11 +08:00
yinqingzhao ecb6e481b2 fix(pm): fix crash issue of esp32 caused by accessing flash in sleep wake process 2026-01-23 19:11:10 +08:00
morris 0469db2f83 refactor(rcc): unify the usage of clock control macros for peripherals
- Removed conditional definitions for various RCC_ATOMIC macros across
multiple files, replacing them with a unified PERIPH_RCC_ATOMIC() macro.
- Updated instances where specific RCC_ATOMIC macros were used to ensure
consistent usage of PERIPH_RCC_ATOMIC().
- Deleted unused uart_share_hw_ctrl.h file as its functionality is now
integrated into the new structure.
2026-01-23 18:28:13 +08:00
igor.udot 4c26ab876b ci: update build-test-rules to use common_components 2026-01-23 10:14:09 +08:00
Xiao Xufeng 8dbf23630a refactor(spi_flash): reorganize header files and improve API encapsulation
This commit reorganizes SPI flash header files to better reflect their
visibility and intended usage:

1. Rename `esp_flash_port/` to `esp_flash_chips/`:
   - Better reflects that these headers are for chip driver implementations
   - All chip driver headers moved to `esp_flash_chips/` directory
   - Added README.md explaining semi-public nature of these headers

2. Move internal headers to `esp_private/`:
   - `esp_flash_internal.h` -> `esp_private/esp_flash_internal.h`
   - `memspi_host_driver.h` -> `esp_private/memspi_host_driver.h`

3. Move chip driver related headers to `esp_flash_chips/`:
   - `esp_private/esp_flash_types.h` -> `esp_flash_chips/esp_flash_types.h`
   - `spi_flash/spi_flash_defs.h` -> `esp_flash_chips/spi_flash_defs.h`
   - `spi_flash_override.h` -> `esp_flash_chips/spi_flash_override.h`
   - All `spi_flash_chip_*.h` headers moved to `esp_flash_chips/`

4. Code improvements:
   - Remove unused includes (e.g., `spi_flash_override.h` from `cache_utils.c`)
   - Use public API `esp_flash_get_size()` instead of direct member access
   - Add `esp_flash_is_quad_mode` to linker.lf for IRAM placement

5. Documentation updates:
   - Add README.md in `esp_flash_chips/` explaining semi-public headers
   - Update programming guide with warnings about internal headers
   - Update both English and Chinese documentation

6. Update all references across the codebase:
   - Update includes in `spi_flash` component
   - Update `bootloader_support`, `app_update`, `esp_tee`, `espcoredump`
   - Update example projects

Breaking changes:
- Headers moved to new locations require include path updates
- `custom_flash_driver` example temporarily disabled until external
  components are updated
2026-01-23 03:38:54 +08:00
Song Ruo Jing 62511d61e9 refactor(clk): split clock HAL into separate component 2026-01-13 15:50:20 +08:00
hebinglin 94b54832f8 change(esp_hw_support): remove sleep_mmu_retention related flow for esp32c5 eco1 2026-01-12 14:15:48 +08:00
Li Shuai 3a62fdba66 Merge branch 'bugfix/idfci-7928' into 'master'
fix ci failed test case of Automatic light occurs when tasks are suspended

Closes IDFCI-7928, IDFCI-3963, and IDFCI-4189

See merge request espressif/esp-idf!44895
2026-01-09 10:22:03 +08:00
Li Shuai 1494370a40 change(esp_pm): fix ci failed test case of Automatic light occurs when tasks are suspended 2026-01-08 17:48:33 +08:00
morris ebc68a1910 Merge branch 'refactor/sleep_sys_peripheral' into 'master'
refactor: cleanup dependency of soc_caps & hal components in  sleep_system_peripheral.c

See merge request espressif/esp-idf!44682
2026-01-07 19:29:07 +08:00
Li Shuai 251b395061 fix(esp_pm): fix invalid gpio number used for pm trace 2026-01-06 12:25:59 +08:00
Chen Chen f3b5600bd1 refactor: remove some dependency on hal components 2026-01-05 18:02:29 +08:00
Li Shuai 6e9885f7e6 Merge branch 'bugfix/idfgh-16634' into 'master'
remove the configurable constraint for sleep memory usage optimization option

Closes IDFGH-16634 and IDF-13780

See merge request espressif/esp-idf!42882
2025-12-31 12:57:50 +08:00
Li Shuai a10fbdba4c change(esp_pm): add dependencies on the rtc clock and rtc_time modules for power managment module 2025-12-27 12:34:17 +08:00
Song Ruo Jing 74aeb3f41f refactor(uart): split UART HAL into separate component 2025-12-25 14:41:28 +08:00
Wu Zheng Hui 59fa9f7430 Merge branch 'feat/support_configurable_behavior_for_sleep_console' into 'master'
feat(esp_hw_support): Support configurable console uart behavior before sleep

Closes PM-396

See merge request espressif/esp-idf!38409
2025-12-25 12:31:35 +08:00
Wu Zheng Hui 429c29be1c Merge branch 'fix/fix_pm_lock_statistics_case' into 'master'
fix(esp_pm): prevent RTOS lock interference in PM lock statistics test on multicore

Closes IDFCI-7257

See merge request espressif/esp-idf!44393
2025-12-24 14:29:45 +08:00
wuzhenghui 20c2dab09c feat(esp_hal_pmu): graduate pmu/rtc_cntl hal driver into a new component: esp_hal_pmu 2025-12-22 16:03:43 +08:00
wuzhenghui 47651df567 change(esp_pm): skip vTaskStepTick if lightsleep request is rejected 2025-12-19 17:25:47 +08:00
wuzhenghui c5011bcbf9 fix(esp_pm): prevent RTOS lock interference in PM lock statistics test on multicore 2025-12-18 18:05:19 +08:00
Kevin (Lao Kaiyao) 3665d0b0f6 Merge branch 'feature/graduate_tsens_hal_component' into 'master'
feat(tsens): graduate temperature sensor hal component

Closes IDF-14906

See merge request espressif/esp-idf!44121
2025-12-18 12:44:41 +08:00
Michael (XIAO Xufeng) 32c31f68c8 Merge branch 'bugfix/esp32c5_encrypted_flash_write' into 'master'
fix(spi_flash): Add CPU frequency switching during flash encrypted write

See merge request espressif/esp-idf!43032
2025-12-17 21:48:05 +08:00
laokaiyao 3cfd8d6906 feat(tsens): graduate temperature sensor hal component 2025-12-17 16:09:21 +08:00
Xiao Xufeng 230ee88d99 feat(spi_flash): implement dynamic CPU frequency switching workaround for encrypted writes
This commit implements a workaround that allows ESP32-C5 to run at 240MHz CPU frequency
normally, while automatically reducing CPU frequency during encrypted flash writes to
ensure correct operation. The frequency limit is chip revision dependent:
- v1.2 and above: limited to 160MHz during encrypted writes
- v1.0 and below: limited to 80MHz during encrypted writes

Key implementation details:
- Frequency limiting is triggered automatically when esp_flash_write_encrypted() is called
- Uses start() flags (ESP_FLASH_START_FLAG_LIMIT_CPU_FREQ) to integrate with OS layer
- Works with both PM enabled and disabled configurations
- Frequency is automatically restored after encrypted write completes
- For ESP32-C5 with 120MHz flash, Flash clock and timing registers are adjusted when
  CPU frequency is reduced to 80MHz
- SPI1 timing registers are configured during frequency switching since encrypted writes
  use SPI1 and must work correctly at reduced CPU frequencies

Code improvements:
- Use SOC_MSPI_FREQ_AXI_CONSTRAINED capability macro instead of hardcoded chip checks
- Control workaround via Kconfig (CONFIG_PM_WORKAROUND_FREQ_LIMIT_ENABLED) instead of
  hardcoded macros
- Add comprehensive test cases covering various PM configurations and edge cases

This workaround enables ESP32-C5 applications to benefit from 240MHz CPU performance
while maintaining reliable encrypted flash write functionality.
2025-12-16 17:42:44 +08:00
wuzhenghui f1ca9f93ab feat(esp_pm): enable esp32c61 pm UT test cases 2025-12-15 14:24:19 +08:00
Frantisek Hrbata c847b341fe Merge branch 'feat/cmakev2_depgraph' into 'master'
feat(cmakev2/build): add idf_build_generate_depgraph function

Closes IDF-13072

See merge request espressif/esp-idf!43814
2025-12-12 11:49:49 +01:00
C.S.M f405e51784 ci(esp32s31): Add ci build test for esp32s31 2025-12-11 15:17:15 +08:00
Frantisek Hrbata f88c43a721 fix(esp_pm/cmake): initialize src variable
In cmakev2, a component can be evaluated within the context of another
component, so it's important to properly initialize each variable used
by the component.

Fixes: 0c4cf75c35 ("feat(esp32s31): Introduce esp32s31 hello world")

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-12-11 14:00:55 +08:00
C.S.M 0c4cf75c35 feat(esp32s31): Introduce esp32s31 hello world 2025-12-02 10:44:16 +08:00
Wu Zheng Hui 74148161a8 Merge branch 'feat/enable_esp_pm_tests_for_p4_v3' into 'master'
feat(esp_hw_support): re-enable P4 pm tests for rev3.0

Closes IDF-14416

See merge request espressif/esp-idf!43684
2025-12-01 20:42:45 +08:00
Song Ruo Jing 1862fdec74 refactor(gpio): split GPIO HAL into separate component
cleaned up some includes in GPIO peripheral files
2025-11-26 15:35:07 +08:00
wuzhenghui 6a34f94ab9 feat(esp_hw_support): re-enable P4 sleep wakeup tests for rev3.0 2025-11-26 14:43:22 +08:00
Wu Zheng Hui 27bb77e77c Merge branch 'feat/support_get_pm_lock_aquired_counts' into 'master'
feat(esp_pm): add APIs to get PM lock statistics

Closes IDFGH-16676

See merge request espressif/esp-idf!43002
2025-11-19 10:52:40 +08:00
armando b25ba4a0c1 ci(p4): disable p4 rev3 invalid tests temporarily 2025-11-17 12:11:39 +08:00