Commit Graph
7291 Commits
Author SHA1 Message Date
Xiao Xufeng 3411286544 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-29 03:28:30 +08:00
Xiao Xufeng 170061e971 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-29 03:28:30 +08:00
Michael (XIAO Xufeng) 5d4d12f28b Merge branch 'feat/remove_sdm_set_duty_api_v6.0' into 'release/v6.0'
feat(sdm): remove `sdm_channel_set_duty` API (v6.0)

See merge request espressif/esp-idf!45071
2026-01-28 22:30:35 +08:00
Michael (XIAO Xufeng) ad10e60b25 Merge branch 'ci/exclude-tools-cmakev2-test-ci-linter_v6.0' into 'release/v6.0'
ci: exclude tools/cmakev2/test while running test script linter (v6.0)

See merge request espressif/esp-idf!45484
2026-01-28 22:24:39 +08:00
Jiang Jiang Jian 2359d58fbf Merge branch 'refactor/independent_esp_hal_pmu_v6.0' into 'release/v6.0'
feat(hal): graduate pmu/rtc_cntl hal driver into a new component: esp_hal_pmu (v6.0)

See merge request espressif/esp-idf!44954
2026-01-28 19:02:36 +08:00
Fu Hanxi b29535d19c ci: exclude tools/cmakev2/test while running test script linter 2026-01-28 10:32:41 +01:00
Chen Chen ea6d1ec54e feat(sdm): remove sdm_channel_set_duty API 2026-01-14 09:44:09 +08:00
Jiang Jiang Jian c7d81c24e6 Merge branch 'feat/add_esp32c5_eco3_wifi_support_v6.0' into 'release/v6.0'
Feat(wifi): add full support for esp32c5 v1.2 and esp32c61 v1.1

See merge request espressif/esp-idf!44991
2026-01-12 20:46:24 +08:00
wuzhenghui de5e57d296 feat(esp_hal_pmu): graduate pmu/rtc_cntl hal driver into a new component: esp_hal_pmu 2026-01-12 14:48:49 +08:00
Mahavir Jain d7d7c06b81 Merge branch 'fix/partial-hardware-aes-gcm-and-software-non-aes-ciphers_v6.0' into 'release/v6.0'
Fix partial hardware AES-GCM, software-fallback for non-AES ciphers (v6.0)

See merge request espressif/esp-idf!44752
2026-01-12 09:10:49 +05:30
yinqingzhao 7089093fde test(system): add esp32c61 eco4 build test 2026-01-10 13:23:59 +08:00
wanglei b946312646 test(system): add esp32c5 eco3 build test 2026-01-10 13:22:20 +08:00
Roland Dobai 0c592432ef change(cmake): add temporary hotfix to skip warnings for specific components
Temporary workaround for avoiding to produce warnings for esp_wifi (
https://github.com/espressif/esp-idf/issues/18036,
https://github.com/espressif/esp-idf/issues/17840).
2026-01-10 00:39:39 +08:00
harshal.patil 3c4dadff0b 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-09 13:55:51 +05:30
Jiang Jiang Jian d98ae48da3 Merge branch 'feat/drop_esp_idf_size_2_0_restriction_v6.0' into 'release/v6.0'
feat(tools): Clean up esp-idf-size new generation (v6.0)

See merge request espressif/esp-idf!44437
2026-01-09 10:16:26 +08:00
Jiang Jiang Jian 71928b2ec7 Merge branch 'fix/buildv2_produces_larger_binaries_v6.0' into 'release/v6.0'
Fix the order of project initialization in cmakev2 (v6.0)

See merge request espressif/esp-idf!44796
2026-01-08 20:38:43 +08:00
Jiang Jiang Jian 1c7ec05187 Merge branch 'fix/picolibc_psram_issue_v6.0' into 'release/v6.0'
fix(picolibc): add psram fix for libc functions (v6.0)

See merge request espressif/esp-idf!44560
2026-01-08 20:14:08 +08:00
Jiang Jiang Jian 8d0fc97530 Merge branch 'bugfix/idfgh-16634_v6.0' into 'release/v6.0'
backport v6.0: remove the configurable constraint for sleep memory usage optimization option

See merge request espressif/esp-idf!44754
2026-01-08 13:49:39 +08:00
yinqingzhao 28800ed85b refactor(wifi): remove enum values WIFI_BW_HT20 and WIFI_BW_HT40 2026-01-08 11:28:17 +08:00
Marek Fiala 20faecf847 feat(tools): Clean up esp-idf-size new generation 2026-01-06 00:01:17 +08:00
Sudeep Mohanty 9680db6bae fix(cmakev2): Remove redundant picolibc flags from project.cmake
This commit removes picolibc flags from project.cmake file since they
are added by the esp_libc component when project_include.cmake files are
evaluated.
2026-01-05 10:38:41 +01:00
Sudeep Mohanty a69cbb5384 fix(cmakev2): Fix the order of project initialization in cmakev2
This commit moves the project initialization by moving the
__init_project_configuration() after the sdkconfig is generated and
included. This is because __init_project_configuration() depends on
config options.
2026-01-05 10:38:41 +01:00
Song Ruo Jing a0c91ea082 refactor(uart): remove soc/uart_channel.h 2026-01-04 16:02:57 +08:00
Song Ruo Jing ce475d901d refactor(uart): split UART HAL into separate component 2026-01-04 16:02:57 +08:00
Li Shuai 3518d1a16c change(tools): disable place rtc clock and rtc time modules into iram for flash auto suspend test 2026-01-04 10:42:53 +08:00
Alexey Lapshin bbe311569c fix(picolibc): add psram fix for libc functions 2025-12-25 10:41:25 +07:00
Mahavir Jain 7da79a653c Merge branch 'feature/mbedtls_psa_migration_v6.0' into 'release/v6.0'
feat(mbedtls): PSA Migration to release v6.0

See merge request espressif/esp-idf!43323
2025-12-21 13:52:48 +05:30
Jiang Jiang Jian d28cc92535 Merge branch 'fix/cmakev2_component_srcs_and_validation_v6.0' into 'release/v6.0'
Correctly set SRCS property for cmakev2 components and add component validation checks (v6.0)

See merge request espressif/esp-idf!44428
2025-12-21 15:38:55 +08:00
Jiang Jiang Jian 8c379b517f Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20251215_v6.0' into 'release/v6.0'
feat(tools): update openocd version to v0.12.0-esp32-20251215 (v6.0)

See merge request espressif/esp-idf!44310
2025-12-21 15:27:47 +08:00
Ashish Sharma b02538834c fix: resolves MR comments 2025-12-20 23:02:25 +08:00
Sudeep Mohanty 5a91508507 test(cmakev2): Enabled component validation tests for cmakev2 2025-12-19 15:33:19 +01:00
Sudeep Mohanty 242eb47ef7 feat(cmakev2): Added component validation checks for cmakev2
This commit adds component validation checks for cmakev2. The file
component_validation.cmake is ported to cmakev2 and updated to work in
the buildv2 environment.
2025-12-19 15:33:19 +01:00
Sudeep Mohanty 4e72f30234 fix(cmakev2): Correctly set SRCS property for cmakev2 components
The function __set_component_cmakev1_properties() sets cmakev1
properties for cmakev2 components to maintain backword copatibility.
However, the function was setting SOURCES property instead of SRCS
property as was intended.
2025-12-19 15:33:19 +01:00
Ashish Sharma 76287081ea feat: code cleanup 2025-12-19 07:29:43 +08:00
Ashish Sharma 98afd06c8f fix(pytest): patch to test panic test failures 2025-12-19 07:29:08 +08:00
Ashish Sharma f306dbea84 feat(mbedtls): migrates ESP-TEE with PSA APIs 2025-12-19 07:28:33 +08:00
Ashish Sharma 7d17e8a024 feat(mbedtls): adds AES drivers with PSA 2025-12-19 07:28:28 +08:00
Ashish Sharma a088d2ccdc feat(mbedtls): fix build errors with PSA migration 2025-12-18 21:18:58 +08:00
Ashish Sharma b4fea9cccc feat(lwip): migrate to to PSA API interface 2025-12-18 21:18:58 +08:00
Aditya Patwardhan 574a60289d feat(protocomm): Migrate to PSA api interface 2025-12-18 21:18:58 +08:00
Martin Vychodil 4b919caa17 Merge branch 'feat/vfs_remove_old_api_v6.0' into 'release/v6.0'
feat(storage/vfs): v6 API breaking changes (v6.0)

See merge request espressif/esp-idf!44315
2025-12-18 05:02:41 +08:00
Erhan Kurubas 754122a2a9 feat(tools): update openocd version to v0.12.0-esp32-20251215 2025-12-17 17:15:15 +01:00
Tomáš Rohlínek 1bf8b030e3 feat(storage/vfs): Remove old API usage 2025-12-17 14:00:22 +01:00
Roland Dobai f38faa9bc4 Merge branch 'feat/cmakev2_depgraph_v6.0' into 'release/v6.0'
feat(cmakev2/build): add idf_build_generate_depgraph function (v6.0)

See merge request espressif/esp-idf!44194
2025-12-17 09:11:05 +01:00
morris 311bec8f82 Merge branch 'fix/spi_edma_and_hal_component_6.0' into 'release/v6.0'
feat(driver_spi): split esp_hal_gpspi and support master driver edma (v6.0)

See merge request espressif/esp-idf!44222
2025-12-17 14:54:05 +08:00
wanckl d12f941787 feat(driver_spi): split spi hal component 2025-12-16 20:38:09 +08:00
Chen Chen 1b015d22eb refactor(esp_system): clear dependency on hal components 2025-12-16 09:11:59 +08:00
Frantisek Hrbata 211b2da437 feat(cmakev2/build): add idf_build_generate_depgraph function
The idf_build_generate_depgraph function creates a component dependency
graph in dot (graphviz) format for a specified executable. It uses
existing helper functions from cmakev1, ensuring that the generated dot
files are produced in the same manner as in cmakev1. While adjustments
might be needed in the future if necessary, the current implementation
is intended to offer the same functionality as cmakev1.  Similar to
cmakev1, the dot files are only generated only when the
__BUILD_COMPONENT_DEPGRAPH_ENABLED build property is set.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-12-12 11:55:35 +01:00
Sergei Silnov 2dc0f49c59 Merge branch 'feat/add_components_source_to_project_description_v6.0' into 'release/v6.0'
Feat: Add source of the component into project_description.json (v6.0)

See merge request espressif/esp-idf!44009
2025-12-11 16:41:58 +01:00
Roland Dobai 77c5324b09 Merge branch 'fix/env_locale_check_v6.0' into 'release/v6.0'
Locale encoding check (v6.0)

See merge request espressif/esp-idf!44133
2025-12-11 15:02:59 +01:00