Commit Graph

1749 Commits

Author SHA1 Message Date
hebinglin f9078e7538 feat(esp_hw_support): optimize esp32h21 eco1 active current 2026-03-25 15:40:05 +08:00
gaoxu 609a867a91 feat(pmu): h21 eco1 pmu and clk files update 2026-03-25 15:38:49 +08:00
Meet Patel c4e2fe2c8b refactor(system): guard WDT with SoC capability macros
Wrap MWDT-related code under SOC_WDT_SUPPORTED so targets without a main
watchdog can compile.

Add SOC_RTC_WDT_SUPPORTED for RTC watchdog usage (bootloader, slow-clock
paths) and regenerate Kconfig.soc_caps.in. Bootloader RWDT setup stays
under SOC_RTC_WDT_SUPPORTED; MWDT flashboot teardown stays under
SOC_WDT_SUPPORTED.

ESP_INT_WDT, ESP_TASK_WDT_EN, and BOOTLOADER_WDT_ENABLE depend on
SOC_WDT_SUPPORTED where applicable. Build xt_wdt.c only when
SOC_XT_WDT_SUPPORTED. Provide no-op panic WDT helpers when
SOC_WDT_SUPPORTED is disabled.
2026-03-24 14:57:43 +05:30
hebinglin dfac6f6ef4 change(esp_system): add iram opt for rtc clk resart cases 2026-03-20 16:50:05 +08:00
Guillaume Souchere 8232fe077a Merge branch 'feat/add-esp-cpu-linux-support' into 'master'
feat(esp_hw_support): Provide esp_cpu.h support for linux target

See merge request espressif/esp-idf!46647
2026-03-19 12:00:56 +01:00
Wu Zheng Hui 8220859330 Merge branch 'fix/fix_esp32_int_wdt_workaround_break_sleep_process' into 'master'
fix(esp_system): disable esp32 cache livelock int_wdt workaround in ipc_isr_stall

Closes IDFCI-7791

See merge request espressif/esp-idf!45645
2026-03-18 19:07:17 +08:00
wuzhenghui 6f1bea6a5d refactor(esp_system): ind_wdt.c refactor & code clean
1. introduce reconfigure_ticks function for wdt configuration
 2. move esp32eco3 cache livelock workaround code out from int_wdt.c
2026-03-18 11:29:51 +08:00
Guillaume Souchere 5415465164 feat(esp_hw_support): Add esp_cpu.h support for linux builds 2026-03-17 07:49:36 +01:00
armando c60ed4b338 fix(spm): rename scp (scratchpad) to spm (scratchpad memory) 2026-03-17 01:29:34 +00:00
armando c96f69faef change(mem): deprecated tcm and added scp memory utils 2026-03-11 11:18:15 +08:00
Jiang Jiang Jian 17133fbc0e Merge branch 'fix/move-coex-init-to-esp-coex' into 'master'
fix(esp_coex): move coex init from esp_system to esp_coex component

See merge request espressif/esp-idf!46427
2026-03-10 14:10:56 +08:00
Marius Vikhammer e4bc0e9554 fix(esp_coex): move coex init from esp_system to esp_coex component
CMakev2's DEFERRED mode for idf_component_optional_requires only links
optional components already present in the dependency graph. This caused
esp_coex headers to be unavailable when building minimal examples on
targets with both WiFi and IEEE802154 (e.g. esp32c5, esp32c6).

Moving init_coexist to esp_coex removes the cross-component dependency
and ensures the init function is only compiled when esp_coex itself is
part of the build. A linker hook is added to guarantee the object file
is not silently discarded by the linker.

Made-with: Cursor
2026-03-10 10:31:19 +08:00
Krzysztof 8ad2be7980 docs(debugging): Add debug helpers API reference 2026-03-09 11:06:22 +08:00
Li Shuai 66457467c6 fix(ci): fix ci issue of startup order doesn't match the reference file 2026-03-05 18:11:17 +08:00
wuzhenghui d2be19ba18 feat(esp_hw_support): support esp32s31 system sleep retention 2026-03-03 21:42:48 +08:00
wuzhenghui e923a54686 fix(esp_hw_support): fix build dependencies for peripherals that do not yet support retention 2026-03-03 21:32:00 +08:00
Wu Zheng Hui ad1f0f870b Merge branch 'feat/support_esp32s31_pmu_basic' into 'master'
feat(esp_hw_support): support esp32s31 pmu basic

Closes IDF-14642

See merge request espressif/esp-idf!45494
2026-02-24 14:11:27 +08:00
Konstantin Kondrashov 3b238b2ddb fix(esp_system): Fix flaky tests with memory leak in sleep test 2026-02-17 17:36:53 +02:00
Angus Gratton b9cbbf9bfe fix(esp_system): Allow esp_task_wdt_reconfigure() if timer is stopped
If Task WDT is initialised but not start, the call to esp_timer_stop() in
the reconfigure path returns ESP_ERR_INVALID_STATE and reconfiguring the
Task WDT fails. This isn't the case when the Timer Group is used for Task
WDT.

(This failure cascades into the failure due to disabled interrupts, fixed
in the parent commit.)

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2026-02-12 16:42:38 +08:00
Angus Gratton d20510719a fix(esp_system): Handle failures correctly in esp_task_wdt_reconfigure()
- Failures were being masked as function always returned ESP_OK
- In the failure path the spinlock was not unlocked, so interrupts
  became permanently disabled.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2026-02-12 16:42:38 +08:00
wuzhenghui 3ac387a2d6 feat(esp_hw_support): esp32s31 PMU basic support 2026-02-11 15:03:39 +08:00
Michael (XIAO Xufeng) 3a0f7e9ceb Merge branch 'bugfix/c5_add_freq_restriction_again' into 'master'
fix(esp_system): limit CPU clock to 160MHz in ESP32-C5 for flash encryption

See merge request espressif/esp-idf!44498
2026-02-10 11:42:38 +08:00
Island 0d60c16312 Merge branch 'feat/esp_idf_modem_state_reconstruct' into 'master'
refactor modem clock driver

Closes PM-636

See merge request espressif/esp-idf!44185
2026-02-06 12:10:58 +08:00
hebinglin 75fd8e7a80 change(esp_hw_support): clean up modem clock inclusion 2026-02-04 11:35:01 +08:00
Alexey Lapshin 526891e08f Merge branch 'feature/refactor_linker_scripts' into 'master'
feat(esp_system): refactor linker scripts to reduce duplicated code

See merge request espressif/esp-idf!45220
2026-02-02 13:09:30 +04:00
Alexey Lapshin f28a2765d8 fix(esp_system): xtensa: refactor linker scripts and reduce binary size for C++ apps 2026-01-30 23:27:32 +07:00
Alexey Lapshin 9f1359ad08 feat(esp_system): riscv: refactor linker scripts to reduce duplicated code 2026-01-30 23:27:29 +07:00
Alexey Lapshin c07c930edc Merge branch 'fix/xtensa_bss_end_alignment' into 'master'
fix(panic): fix _bss_end alignment for esp32s2 and esp32s3

See merge request espressif/esp-idf!45469
2026-01-30 10:57:33 +04: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
Alexey Lapshin c0fcd5cbcd fix(panic): fix _bss_end alignment for esp32s2 and esp32s3 2026-01-28 13:01:48 +07:00
Xiao Xufeng 0a6c922059 fix(esp_system): limit CPU clock to 160MHz in ESP32-C5 for flash encryption
This reverts commit 7145fc9558.
2026-01-28 11:15:30 +05:30
Marius Vikhammer 7181456a19 Merge branch 'feature/s31_reset_reason_panic_support' into 'master'
feat(esp32s31): add reset reason and panic handler support

Closes IDF-14672 and IDF-14676

See merge request espressif/esp-idf!45331
2026-01-26 14:19: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
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
Marius Vikhammer 41e91faf79 Merge branch 'feature/s31_ipc_freertos' into 'master'
test(freertos): enable tests for esp32-s31

Closes IDF-14685, IDF-14682, and IDF-14668

See merge request espressif/esp-idf!45246
2026-01-23 10:13:32 +08:00
morris f621cc4fff Merge branch 'feat/esp_driver_dma' into 'master'
feat(dma): graduate the dma driver from esp_hw_support to esp_driver_dma

See merge request espressif/esp-idf!45314
2026-01-23 09:57:22 +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
Xiao Xufeng 758cf6e1a3 refactor(spi_flash): move internal types to private headers and refactor initialization
This commit refactors the SPI flash component to improve encapsulation and
modularity by moving internal types and functions to private headers, and
reorganizing initialization code.

Key changes:

1. Move PSRAM frequency constraint macro from soc_caps.h to mspi_ll.h
   - Rename SOC_SPI_MEM_PSRAM_FREQ_AXI_CONSTRAINED to
     MSPI_TIMING_LL_PSRAM_FREQ_AXI_CONSTRAINED
   - Move macro definition to chip-specific mspi_ll.h files (C5, C61, H4, P4, S31)
   - Update usage in clk_utils.c and esp_flash_spi_init.c
   - Remove old macro from all soc_caps.h files

2. Move internal types to private headers
   - Move esp_flash_t structure to esp_private/esp_flash_types.h
   - Move esp_flash_os_functions_t to esp_private/spi_flash_os.h
   - Update all internal files to include private headers
   - Keep forward declarations in public esp_flash.h

3. Move chip driver header to internal directory
   - Move spi_flash_chip_driver.h to esp_flash_port/spi_flash_chip_driver.h
   - Update all references to use new path
   - Add esp_private/esp_flash_types.h include to the moved header

4. Refactor initialization functions
   - Move init_flash from esp_system/startup_funcs.c to
     spi_flash/esp_flash_spi_init.c
   - Create new init_pm_flash_freq_limit function in startup_funcs.c
     to call esp_pm_flash_freq_limit_init() conditionally
   - Update system_init_fn.txt with new function locations

5. Improve API encapsulation
   - Replace direct access to esp_flash_t->size in
     esp_partition_register_external() with esp_flash_get_size() API
   - Move esp_flash_is_quad_mode from inline function to regular function
     in esp_flash_api.c

6. Update component dependencies
   - Add esp_driver_gpio to spi_flash component PRIV_REQUIRES
   - Remove unused includes and clean up header dependencies

These changes improve code organization by clearly separating public APIs
from internal implementation details, making the codebase more maintainable
and reducing the risk of breaking changes to internal structures.
2026-01-23 03:38:54 +08:00
Song Ruo Jing 526bf6176e Merge branch 'feature/esp32c61_flash_psram_timing_tuning' into 'master'
feat(mspi): support 120MHz flash and psram for esp32c61

Closes IDF-9256, IDF-14918, and IDFCI-3240

See merge request espressif/esp-idf!45012
2026-01-22 16:36:25 +08:00
morris 35bdd8c651 feat(dma): graduate the dma driver from esp_hw_support to esp_driver_dma 2026-01-22 14:14:14 +08:00
morris a4f6980e1f Merge branch 'refactor/create_esp_hal_security' into 'master'
refactor: Created esp_hal_security component

Closes IDF-14086

See merge request espressif/esp-idf!44253
2026-01-22 11:56:46 +08:00
Michael (XIAO Xufeng) d01bd52c35 Merge branch 'feature/support_chip752_pvt_auto_dbias' into 'master'
feat(c5): support chip752mp pvt auto dbias

Closes IDF-8668

See merge request espressif/esp-idf!39755
2026-01-22 01:58:21 +08:00
Song Ruo Jing fc4f07abd6 feat(mspi): support 120MHz flash and psram for esp32c61 2026-01-21 14:38:04 +08:00
Aditya Patwardhan eb4a871eca refactor(esp_hal_security): Updated esp_hal_security build and includes 2026-01-21 10:02:44 +05:30
Marius Vikhammer 8e2eb36b86 feat(esp32s31): add reset reason and panic handler support 2026-01-21 11:55:36 +08:00
Marius Vikhammer 7b8d0a0cf2 test(freertos): enable tests for esp32-s31 2026-01-21 09:38:26 +08:00
yanzihan@espressif.com 8ee245afcc feat(esp_hw_support): use pvt to auto control digital ldo and rtc ldo for esp32c5 2026-01-20 14:28:35 +08:00
Xiao Xufeng e644aed729 fix(esp32p4): fix efuse, encryption and other rev_min usage 2026-01-19 16:58:16 +08:00
Xiao Xufeng 6ab0540658 fix(esp32p4): fix rom and ld misuse min_rev 2026-01-19 16:58:16 +08:00