Commit Graph

7375 Commits

Author SHA1 Message Date
Alexey Lapshin fff49a4555 Merge branch 'fix/gdbstub_xtensa_fpu_registers' into 'master'
fix(gdbstub): xtensa: fix FPU registers read and write

See merge request espressif/esp-idf!44624
2026-02-03 09:44:16 +04:00
Fu Hanxi 12a8c15c2d Merge branch 'ci/rev_default' into 'master'
ci: rev_default instead of eco_default

See merge request espressif/esp-idf!45269
2026-02-02 12:34:52 +01:00
Mahavir Jain 24984ac376 Merge branch 'fix/esp_mac_drivers' into 'master'
Enable and separate ESP-MAC driver

See merge request espressif/esp-idf!45232
2026-02-02 16:27:23 +05:30
Roland Dobai bc724193b2 Merge branch 'contrib/github_pr_18174' into 'master'
fix(build): Correct the usage example for function (GitHub PR)

Closes IDFGH-17161

See merge request espressif/esp-idf!45478
2026-02-02 11:52:50 +01:00
Alexey Lapshin c57443c2b6 fix(gdbstub): xtensa: fix FPU registers read and write
Closes https://github.com/espressif/esp-idf/issues/17944
2026-02-02 10:49:16 +07:00
harshal.patil 53072bfa9d fix(mbedtls): Enable h/w accel for CMAC and HMAC operations
- Refactor ESP-MAC drivers
2026-01-31 00:45:11 +05:30
Marius Vikhammer 1a0ed26104 Merge branch 'bugfix/core_esp32s31_wrong_jira_id' into 'master'
fix(core): fixed misc wrong jira references

Closes IDF-14685 and IDF-14655

See merge request espressif/esp-idf!45457
2026-01-29 01:19:02 +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
Marius Vikhammer 961626e016 fix(core): fixed misc wrong jira references 2026-01-28 11:05:13 +08:00
david zuhn d25272d0de fix(build): Correct the usage example for idf_build_replace_option_from_property 2026-01-27 12:42:53 -06:00
Fu Hanxi 266323482d ci: exclude tools/cmakev2/test while running test script linter 2026-01-27 13:30:17 +01:00
igor.udot 4c26ab876b ci: update build-test-rules to use common_components 2026-01-23 10:14:09 +08:00
igor.udot 70775b1f5f ci(sort_yaml): add mock common components 2026-01-23 10:12:17 +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
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
Erhan Kurubas 2c28cfe8a2 Merge branch 'gcov_over_uart' into 'master'
Gcov over uart

Closes IDF-15030 and OCD-1191

See merge request espressif/esp-idf!44615
2026-01-21 06:54:31 +01:00
Aditya Patwardhan eb4a871eca refactor(esp_hal_security): Updated esp_hal_security build and includes 2026-01-21 10:02:44 +05:30
Erhan Kurubas f1d43df4a1 feat(examples): dump coverage over uart 2026-01-20 11:30:03 +03:00
Fu Hanxi 0b71f5c42b ci: rename eco_default to rev_default 2026-01-20 08:58:10 +01:00
Erhan Kurubas caa0697240 test(panic): add retry logic to espcoredump subprocess call 2026-01-20 10:32:18 +03:00
Song Ruo Jing ce6e80c129 Merge branch 'refactor/esp_hal_clock' into 'master'
refactor(clk): split clock HAL into separate component

Closes IDF-14108

See merge request espressif/esp-idf!44768
2026-01-19 11:33:35 +08:00
Frantisek Hrbata e2548ce30c Merge branch 'fix/cmakev2_component_get_property_raw' into 'master'
feat(cmakev2): reduce reconfiguration time

See merge request espressif/esp-idf!45065
2026-01-17 09:54:39 +01:00
Ferdinand Bachmann d3afb79c98 fix(cmake): Fix "IMPORTED_LOCATION not set for imported target" errors
esp-idf uses imported targets as dummy targets that are never linked.
Previous CMake versions would ignore these and not error on unset
IMPORTED_LOCATION if they are never actually linked. CMake 4.2 and newer
errors during codemodel-v2 api queries when imported targets are missing
IMPORTED_LOCATION, so set a dummy location that would error when
actually linked, which fixes the error during api queries.

Closes https://github.com/espressif/esp-idf/pull/18103
2026-01-14 21:49:07 +08:00
morris 8e8d83a167 Merge branch 'feat/remove_sdm_set_duty_api' into 'master'
feat(sdm): remove `sdm_channel_set_duty` API

Closes IDF-15132

See merge request espressif/esp-idf!45057
2026-01-14 08:57:34 +08:00
Frantisek Hrbata 0f4ec41421 fix(cmakev2/component): use __idf_component_get_property_unchecked
In some instances, the COMPONENTS_DISCOVERED build property is used to
walk through the component list and obtain component properties, such as
during configuration preparation or the inclusion of project_include
files. Since we know the component interfaces from the
COMPONENT_INTERFACES build property, we can switch to the faster
`__idf_component_get_property_unchecked` method to obtain component properties
in these cases. This change reduces the reconfiguration time by 0.4
seconds on my computer.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-01-13 16:49:12 +01:00
Frantisek Hrbata 368b90245b fix(cmakev2/component_validation): accelerate component validation
The commit f951ae5b18 ("feat(cmakev2): Added component validation
checks for ...") introduced support for validating component sources and
include directories. It heavily relies on iterating through the
registered components to obtain their properties. For instance, it
examines all components for each component source file to ensure that
the source files do not originate from other components. However, it
turns out that `idf_component_get_property` is a bottleneck in this
process, causing reconfiguration to take 3-4 times longer than before
the introduction of this check. Since we know of all the component
interfaces, we can bypass the checks performed by
`idf_component_get_property` and instead use the raw version,
`__idf_component_get_property_unchecked`, which operates much faster.

Following are hello_world example reconfigure times before and after.

before:

-- Configuring done (11.1s)
-- Generating done (0.2s)

after:

-- Configuring done (3.9s)
-- Generating done (0.2s)

A new library property LIBRARY_COMPONENT_INTERFACES_LINKED is added that
keeps component interfaces linked to the library.

Fixes: f951ae5b18 ("feat(cmakev2): Added component validation checks for ..")
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-01-13 16:47:25 +01:00
Frantisek Hrbata d01979e3d8 feat(cmakev2): introduce __idf_component_get_property_unchecked helper
Retrieve the value of the specified component property quickly. The
existing `idf_component_get_property` function performs various checks
to identify the component interface target, which keeps the component
properties, and accepts a component name, target, target alias, or
interface. While `idf_component_get_property` uses a cache to identify
the component interface relatively quickly, it is still much slower
compared to the raw `get_property`. The
`__idf_component_get_property_unchecked` function provides a faster way how to
obtain component property if the component interface is already known.
It skips all the checks, so it must be used carefully.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-01-13 16:45:01 +01:00
Frantisek Hrbata 0f011477aa fix(cmake): disable MINIMAL_BUILD build property if COMPONENTS is defined
The MINIMAL_BUILD build property and the COMPONENTS variable are both
used to determine the initial component list for the build.

Currently, if the COMPONENTS variable is set, the MINIMAL_BUILD logic
is ignored during component selection, but the MINIMAL_BUILD build
property remains set. This leads to an inconsistent state where
menuconfig displays information indicating MINIMAL_BUILD is active,
even though it was ignored in favor of the COMPONENTS variable.

Fix this by setting the MINIMAL_BUILD property to OFF if the
COMPONENTS variable is used.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-01-13 21:58:55 +08:00
Chen Chen 60284a9c86 feat(sdm): remove sdm_channel_set_duty API 2026-01-13 16:26:57 +08:00
Song Ruo Jing 62511d61e9 refactor(clk): split clock HAL into separate component 2026-01-13 15:50:20 +08:00
Erhan Kurubas 392dfed30b Merge branch 'feat/coredump_rtc_noinit' into 'master'
Add a new attribute COREDUMP_NOINIT_ATTR

See merge request espressif/esp-idf!44843
2026-01-13 08:24:11 +01:00
He Binglin 7f98da97d3 Merge branch 'bugfix/esp_idf_c5_eco3_cpu_lockup' into 'master'
change: support top pd during sleep for esp32c5 eco3 and remove sleep mmu related flow

Closes IDF-13953

See merge request espressif/esp-idf!43587
2026-01-13 11:04:59 +08:00
hebinglin 4756d62584 change(esp_driver): set cases with toppd check only run in esp32c5eco3 rather than eco2 2026-01-12 14:30:57 +08:00
Erhan Kurubas 14c16bee61 feat(coredump): add coredump_noinit attribute 2026-01-11 18:57:37 +03:00
yinqingzhao 80ee62d104 test(system): add esp32c61 eco4 build test 2026-01-09 17:24:59 +08:00
Erhan Kurubas f8d0e9a79e Merge branch 'fix/coredump_test_tcb_corrupted' into 'master'
test(espcoredump): fix test for corrupted TCB handling in coredump

Closes IDFCI-5663

See merge request espressif/esp-idf!44619
2026-01-06 13:09:18 +01:00
Michael (XIAO Xufeng) c299c0b749 Merge branch 'refactor/remove_idf_test_component' into 'master'
refactor: Remove idf_test component

Closes IDF-12578

See merge request espressif/esp-idf!43733
2026-01-06 16:20:20 +08:00
Erhan Kurubas 82643a03c8 test(espcoredump): fix test for corrupted TCB handling in coredump 2026-01-05 22:16:43 +03:00
Erhan Kurubas 85e7ef753d test(panic): improve stack dump capture to return full hex content 2026-01-05 22:11:23 +03:00
harshal.patil e91d50ed1e fix(mbedtls): Support partial hardware AES-GCM and s/w fallback for non-AES ciphers
- Support software-fallback for unsupported hardware AES lengths
2026-01-03 12:17:50 +05:30
Xiao Xufeng 438e07b30e refactor: Remove idf_test component
Split the idf_performance.h and target ver, which hold the performance
thresholds, into the headers of each testing.

In the past pytest also parse the common header to get the thresholds.
Now the logic is also removed. Performance thresholds are supposed to be
in the pytest scripts.
2026-01-01 02:26:42 +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
Wu Zheng Hui dcca718908 Merge branch 'refactor/independent_rtc_timer_hal' into 'master'
feat(hal): graduate rtc_cntl_timer/lp_timer hal/ll  into a new component: esp_hal_rtc_timer and unify naming

Closes IDF-15045

See merge request espressif/esp-idf!44573
2025-12-31 05:22:06 +08:00
Ashish Sharma 345844cd58 feat: migrates tools/test_apps to PSA APIs 2025-12-30 09:31:49 +05:30
Ashish Sharma cbd925837e feat: migrates mbedtls port layer to PSA APIs 2025-12-30 09:31:49 +05:30
wuzhenghui 0d93c29143 feat(esp_hal_rtc_timer): introduce new RTC timer component and refactor existing timer functions 2025-12-30 10:33:34 +08:00
Li Shuai c588eb5ca2 change(tools): disable place rtc clock and rtc time modules into iram for flash auto suspend test 2025-12-27 12:34:17 +08:00
armando 4777ce6e8c ci(intr_dump): added mspi intr 2025-12-26 01:04:45 +00:00