Commit Graph
119 Commits
Author SHA1 Message Date
David Cermak 4a3b631143 fix(ci): Temporarily add esp_wifi_he.h to public header exceptions
Since it causes issues when including directly by the checker
* causes conflicts with remote and local versions of esp_wifi_he_types.h
* this issue will be solved by replacing #pragma once with old style
  sentinels, thus including either remote or local version
2026-02-27 09:15:29 +01: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
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
C.S.M d5054072eb ci(header_check): Add check for public header should not include freertos 2025-11-28 19:15:17 +08:00
Erhan Kurubas 79cda70029 change(app_trace): move sysview to component registry 2025-11-10 15:55:41 +08:00
Mahavir Jain 439b1d6d08 cleanup: move cJSON to component manager 2025-10-06 14:08:06 +05:30
peter.marcisovsky b3bb053160 refactor(usb_host): Remove usb component form esp-idf
- usb component was relocated from esp-idf to esp-usb
    - the component is now a managed component
2025-09-29 17:15:17 +02:00
Konstantin Kondrashov 6b8d4cc1fb remove(log): Remove deprecated functions and header file 2025-08-15 18:04:08 +08:00
igor.masar 84a5812d55 refactor(usb_phy): Move USB PHY implementation to esp_hw_support
Moved USB PHY source and headers from `usb/` to `esp_hw_support/`
to better reflect their hardware-specific nature.
Replaced use of public GPIO driver APIs with internal LL (Low-Level) APIs
for more precise hardware control and alignment with ESP-IDF HAL best practices.
Deleted deprecated PHY helper functions.
Consolidated all SoC-specific declarations under `usb_periph.h`.

BREAKING CHANGE: deprecated USB PHY APIs have been removed; update
callers to use the new interfaces in esp_hw_support/usb_phy.h
2025-07-10 14:52:47 +02:00
akshat e532499e5d bugfix(wifi): Fix header file errors and remove esp_supplicant from check_public_headers_exceptions.txt 2025-02-10 17:56:52 +08:00
Guillaume Souchere 8ff8b520f3 Merge branch 'feat/update-to-latest-tlsf' into 'master'
feat(heap): Update component to latest TLSF

See merge request espressif/esp-idf!33193
2024-09-19 17:55:38 +08:00
Guillaume Souchere ccd8486462 feat(heap): Update component to latest TLSF
The new TLSF architecture has changed. tlsf.h public API
header is now moved into an include folder. tlsf_common.h
is removed from the repo.

This commit updates the heap component and respective
esp_rom patches to take into account this new
architecture.
2024-09-16 09:02:44 +02:00
David Cermak 22f213b518 feat(lwip): Add support for lwip 2.2.0-esp release 2024-09-11 16:48:00 +02:00
Wan Lei 602691e974 Merge branch 'fix/p4_enable_generic_test' into 'master'
test(esp_driver_spi): enable single board test for esp32p4

Closes IDF-8942

See merge request espressif/esp-idf!31972
2024-07-12 14:07:31 +08:00
wanlei f3968eb8fb fix(esp_driver_spi): enable single board test for esp32p4 2024-07-08 20:32:04 +08:00
David Čermák 5c6272c6ac Merge branch 'feat/lwip_more_sockets' into 'master'
change(lwip): bump max sockets in lwip Kconfig (GItHubPR)

Closes IDFGH-12906

See merge request espressif/esp-idf!31155
2024-07-08 13:39:13 +08:00
Xiaoyu Liu bdfdca24f3 change(esp_rom): RM esp_rom header files from check_public_headers_exceptions.txt
replace endian with stdint
2024-07-03 11:05:15 +08:00
Rodrigo Silva 48295d31ca change: bump max sockets in lwip Kconfig
Tested under ESP32S3, running 50 tasks, each with a client, and a server
listening to one client, totalizing 150 sockets/files open, forwarding
data from PPP to Ethernet and vice versa.
Reasoning for 255 total sockets/files is VFS local_fd_t being a uint8_t.
Since FD_SETSIZE is defined at tool level, a CMakeLists user definition
is needed in cases above 64 (the default value).

Merges https://github.com/espressif/esp-idf/pull/13866
2024-06-28 21:19:47 +08:00
Xiaoyu Liu 2cb9419b14 change(esp_rom): optimize target-specific header files layout in components/esp_rom 2024-06-27 11:24:45 +08:00
laokaiyao 1d894680a8 remove(c5beta3): remove c5 beta3 rom files 2024-06-17 12:02:15 +08:00
andylinpersonal 100f23a1c1 fix(bootloader_support): Add missing c linkage to some headers
Merges https://github.com/espressif/esp-idf/pull/13890
2024-06-04 12:39:39 +03:00
David Cermak 4d40751158 fix(ci): Simplify and document public header checker
Documented specific checks/subchecks for header file verification
Simplified the process, now we use simple regex to remove macros from
the current header. Before, we re-ran preprocess_one_header()
function with removed `#include ...`s from the header under test, so
we were looking into the actual header (rather than included headers)
when checking for `extern "C"` keyword.
The procedure is easier to follow without this recursion (mostly because
in the second execution we might encounter compilation failers and
ignore them).
Note that this procedure is not 100% correct (we might see some false
positive and false negatives)
2024-04-04 08:45:15 +02:00
zwx 6d2f9c2991 fix(esp_phy): header file produces non-zero object 2024-04-02 12:14:17 +08:00
zwx d2e0b9419f fix(CI): fix CI to pass fast build app 2024-03-29 16:03:24 +08:00
Wu Zheng Hui c6b884d2af Merge branch 'feature/esp32p4_sleep_cpu_retention_support' into 'master'
feat(esp_hw_support): esp32p4 sleep support (Stage 2: support dualcore software sleep retention 🔋)

See merge request espressif/esp-idf!28485
2024-03-18 20:12:00 +08:00
wuzhenghui 03e5e4970d refactor(esp_hw_support): split pd_cpu retention initialization by target 2024-03-15 18:13:24 +08:00
wanlei c50cbfe2ed feat(esp32c61): new chip add rom and efuse support 2024-03-15 15:16:14 +08:00
laokaiyao 8de41350eb feat(esp32c5mp): support to build g0 components 2024-03-14 15:09:22 +08:00
laokaiyao 45a094367d change(doxyfile): move soc files to target specific doxygen
soc files relies on target variable, which not correct while there are multiple versions for one target
2024-03-01 10:16:45 +08:00
laokaiyao 3a5d080ec0 refactor(esp32c5): change beta3 path in esp_rom 2024-03-01 10:13:45 +08:00
KonstantinKondrashov b471d9d22c change(all): Clearing unused efuse rom headers 2024-01-22 18:02:55 +02:00
laokaiyao 1c9ecfa159 feat(esp32c5): supplement of esp_rom for esp32c5 beta3 target 2023-12-05 22:01:15 +08:00
xueyunfei 9df662703b Fix(esp_wifi): Add the missing header file to the wifi header files. 2023-11-13 16:08:45 +08:00
muhaidong dea39f359e update(esp_coexist): update esp coexist header file 2023-11-06 21:54:59 +08:00
Darian Leung 2025a77dd6 change(freertos/idf): Move v10.5.1 kernel files
This commit moves the v10.5.1 kernel files to the 'FreeRTOS-Kernel' directory.
2023-10-21 04:39:16 +08:00
Darian Leung b09462eae8 feat(freertos): Add beta support for FreeRTOS v10.5.1 kernel
This commit adds beta support for the FreeRTOS v10.5.1 kernel which can be
enabled by enabling the CONFIG_FREERTOS_USE_KERNEL_10_5_1 option.

The following changes have been made:

- Updated freertos/CMakeLists.txt to build v10.5.1 kernel with v10.4.3. ports
- Updated existing Xtensa and RISC-V ports to work with V10.5.1
- Modifications to other ESP-IDF components to work with v10.5.1
- Added some ESP-IDF specific tracing changes to v10.5.1 kernel
- Make CONFIG_FREERTOS_USE_KERNEL_10_5_1 a public option

Note: The beta release is missing some minor fixes, performance improvements,
and features. Using this beta release for production is not recommended.

Closes https://github.com/espressif/esp-idf/issues/7137
2023-09-18 21:32:14 +08:00
Planck (Lu Zeyu) 255d499884 fix(ll): fix cpp compile error
Merges https://github.com/espressif/esp-idf/pull/12093

fix(ll): remove FLAG_ATTR macro

Such kind of operator overload will not work because C++ thinks such overload is ambiguous and it still prefer the built-in one which accepts and returns integer. Manually force type conversion seems to be unavoidable.
2023-09-14 14:48:12 +08:00
Armando cbe4470a1b change(soc): remove no longer used mmu.h on p4 2023-09-05 15:47:26 +08:00
Cao Sen Miao de85f47bc9 feat(i2c): Add I2C driver support for esp32p4 2023-08-11 12:37:11 +08:00
Marius Vikhammer fc83060fba ci(esp32p4): fixed public header check and build failure for P4 2023-08-11 10:23:02 +08:00
Jakob Hasse 8b9f8555ea refactor(tools): public header check also checks c++ now
* Also changed --only-dir argument to accept system-wide
  directories instead of directories from IDF root
2023-08-09 16:23:13 +08:00
Jakob Hasse 342a5b428c fix(esp_event): made #include <stdint.h> explicit 2023-08-09 16:17:06 +08:00
Fu Hanxi 60db076a96 ci: add pre-commit to cleanup ignore lists 2023-08-09 12:09:31 +08:00
Armando 3461449494 feat(esp32p4): added esp_rom support 2023-07-13 12:38:54 +08:00
Planck (Lu Zeyu) 333553caf2 fix(hal): check the public header files and fix violations
fix(hal/include): fix header violations in hal component
fix(hal/include): Move type definitions from `xx_hal.h` to `xx_types.h`
fix(hal/include): Move type definitions from `xx_hal.h` to `xx_types.h`
fix(hal/include): Add comment for a far away `#endif`
fix(hal/include): change scope for cpp guard
ci: Remove components/hal/ comment from public headers check exceptions
Add missing include macro sdkconfig.h for header files
Add missing include macro stdbool.h for header files
Add missing include macro stdint.h for header files
Add missing capability guard macro for header files
Add missing cpp guard macro for header files
Remove some useless include macros
Add some missing `inline` attribute for functions defined in header files
Remove components/hal/ from public headers check exceptions
fix(hal/include): fix invalid licenses
fix(hal/include): fix invalid licenses
fix(hal/include): add missing soc_caps.h
fix(hal): include soc_caps.h before cap macro is used
fix(hal): Remove unnecessary target check
fix(hal): fix header and macro problems
Add missing include macro
Remove loop dependency in hal
Add comment for far-away endif
fix(hal): Add missing soc_caps.h
ci: update check_copyright_ignore.txt
Change the sequence of `#include` macro, cpp guard macro
Change the wrap scope of capacity macro

fix(hal): Change position of C++ guard to pass test
2023-07-05 17:33:32 +08:00
morris 1c0be26531 fix(soc): soc header files can pass CI check 2023-06-26 23:00:45 +08:00
laokaiyao bf2a7b2df6 esp32h4: removed esp32h4 related codes 2023-04-23 12:03:07 +00:00
liuning 7817c23623 esp_coex: correct Kconfig name 2023-02-26 06:58:18 +00:00
liuning 38316b38b5 esp_wifi: move coex part from esp_wifi to esp_coex 2023-02-26 06:58:18 +00:00