52 Commits

Author SHA1 Message Date
morris f2d62bba74 feat(gdma): expose interrupt priority as a configurable option
- Add intr_priority field to gdma_channel_t structure
- Add intr_bind_name field to gdma_signal_conn_t for interrupt binding
- Validate intr_priority during channel allocation (must be 0-3)
- Use ESP_INTR_FLAG_SHARED_PRIVATE instead of ESP_INTR_FLAG_SHARED
- Use esp_intr_alloc_info() with bind_by.name for shared interrupts
- Add interrupt priority configuration test case
- Update all gdma_periph.c files with pair-specific bind names (gdma_gXpY)
2026-04-01 10:42:22 +08:00
morris 8509ec1958 refactor(pcnt): use private shared interrupt groups
Route PCNT unit interrupts through private shared groups bound by module
name so units in the same PCNT instance share one CPU line without
allowing other peripherals to join. Remove redundant PCNT-side priority
conflict checks and rely on the interrupt allocator for conflict
validation.

Switch the PCNT test app to unity leak utilities and clean newlib reent
state during teardown so leak checks are more stable with lazy
allocations.
2026-03-27 22:53:14 +08:00
Song Ruo Jing 476004e4b8 fix(gpio): add esp_gpio_reserve check to gpio_config 2026-02-26 16:26:58 +08:00
morris fe436d881e feat(ci): remove common_components dependencies from peripheral drivers
Replace *common_components with specific driver dependencies across all
peripheral driver test apps and examples to prevent unnecessary CI
triggers
when common_components change.

This follows the same pattern established in TWAI driver commit:
6d21cc6c29

Changes made:
- 26 component test apps updated
(esp_driver_*/test_apps/.build-test-rules.yml)
- 1 driver test app updated
(components/driver/test_apps/.build-test-rules.yml)
- Key examples updated in examples/peripherals/.build-test-rules.yml
- Established standard dependency pattern: esp_hal_xxx, esp_hw_support,
soc
- Added esp_driver_gpio for GPIO-dependent drivers
2026-01-29 16:33:17 +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
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
Vaia Patta ef4f475a73 docs: fix anonymous flags in various structs
I noticed a few structs where the flags didn't show up correctly in the
docs.
Naming the flag struct makes the individual flags appear properly in the
nested struct.

Merges https://github.com/espressif/esp-idf/pull/17803
Closes https://github.com/espressif/esp-idf/issues/17804
2025-11-19 23:12:17 +08:00
Chen Jichang 3daafd870f feat(hal): graudate the PCNT hal driver into a new component 2025-11-13 16:52:45 +08:00
wuzhenghui 065dd70056 change(esp_hw_support): move ESP_SLEEP_POWER_DOWN_CPU to Kconfig 2025-10-14 16:33:30 +08:00
Chen Jichang ad5bdc83a7 feat(pcnt): support pcnt on esp32h4 2025-09-01 10:50:55 +08:00
Chen Jichang 04b934951e refactor(pcnt): clean up the soc_caps.h file for PCNT 2025-08-29 17:13:46 +08:00
Marek Fiala 9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
Sudeep Mohanty 11b80a7f11 Merge branch 'feat/freertos_in_flash_by_default' into 'master'
feat(freertos): Place FreeRTOS in flash by default

Closes IDF-12695

See merge request espressif/esp-idf!40579
2025-08-15 02:18:57 +02:00
Chen Jichang e6f5a9ab5a feat(pcnt): support pcnt on esp32h21 2025-08-08 14:45:16 +08:00
Chen Jichang 587583cc5f remove(pcnt): remove unused retention reg 2025-08-08 14:45:16 +08:00
Sudeep Mohanty 26c19928a9 feat(freertos): Place FreeRTOS in flash by default
The following updates have been made in this commit:
- The commit places FreeRTOS code in flash memory by default.
- CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH has been removed.
- CONFIG_FREERTOS_IN_IRAM is unhidden and can be used to restore the
  previous memory placement.
- A test has been added for users to conduct performance impact testing
  based on memory placement configurations.
2025-08-07 19:56:30 +08:00
Sudeep Mohanty c29f473a78 refactor(esptool_py): Remove elf variable dependencies
This commit updates all test_apps that have dependency on the elf
variable. Such test_apps now fetch the executable target from the build
properties.
2025-07-10 11:26:28 +02:00
Chen Jichang 6720cf769e fix(pcnt): fix the accum_value missing when overflow 2025-07-02 11:27:15 +08:00
Chen Jichang 2fb4c6771a test(pcnt): with malloc comes from PSRAM by default 2025-06-11 16:54:41 +08:00
morris c63f51dcb3 refactor(drivers)!: remove unnecessary io_loop_back and pull up/down config option 2025-05-23 18:09:53 +08:00
morris 57420057b6 fix(pcnt): only call esp_pm APIs when CONFIG_PM_ENABLE is enabled
Closes https://github.com/espressif/esp-idf/issues/15923
2025-05-22 17:27:18 +08:00
morris 5cc6cbd4c7 fix(mcpwm): the wrong pm lock type on esp32 and esp32s3 2025-05-08 21:25:47 +08:00
Chen Jichang ca981fdf4d feat(pcnt): re-support pcnt on ESP32-C5 V1.0 2025-04-25 13:07:38 +08:00
Chen Jichang 3b2ab2d145 fix(pcnt): remove the gpi0_reset_pin function 2025-03-20 15:53:26 +08:00
morris 09f5bc736b fix(pcnt): a typo in the PCNT_LL_MIN_LIM
Closes https://github.com/espressif/esp-idf/issues/15554
2025-03-11 22:07:45 +08:00
igor.udot daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
Chen Jichang 08a54bba6c docs(pcnt): remove pm_lock content in glitch_filter
Closes https://github.com/espressif/esp-idf/issues/15027
2024-12-18 14:39:22 +08:00
Chen Jichang dd07504ea5 feat(pcnt): support step_notify on esp32h2 eco5 2024-12-11 16:57:09 +08:00
Chen Jichang a1b42191c2 feat(mcpwm): support mcpwm sleep retention on p4 2024-11-21 11:55:58 +08:00
Li Shuai 8eea8a8ef3 change(esp_hw_support): update some modules sleep retention init dependency bitmap 2024-11-18 15:40:47 +08:00
Chen Jichang 8e4ff8bcba feat(mcpwm): support sleep retention 2024-11-07 12:06:31 +08:00
Chen Jichang ddf6fea6a2 feat(pcnt): add sleep retention init
Currently, due to the lack of sleep callback feature. We only init
sleep module but don't allocate it. Thus the power domain will be
kept during the light sleep. And temporarily disable pcnt sleep
retention support on P4 due to the lack of retention module ID.
2024-10-30 19:34:33 +08:00
morris 9742007ce0 fix(pcnt): install the pm lock upon driver installation 2024-10-15 17:37:56 +08:00
Song Ruo Jing e1d3d830ce refactor(gpio): public some IO configuration functions
This allows different peripheral drivers to act on the same IO.
2024-09-11 18:07:46 +08:00
morris 6d223f1921 refactor(pcnt): ISR handling 2024-07-08 14:52:14 +08:00
laokaiyao cb22b8aaf7 ci(esp32c5): enable c5 target test 2024-07-02 16:45:49 +08:00
Chen Jichang 03e936041d refactor(pcnt): refactor the default isr 2024-06-28 12:12:50 +08:00
Chen Jichang d81546628a feat(pcnt): add support for step notify
PCNT can add watch of value increment that we call step notify.
This commit add a step notify driver and a test for the driver.

Closes https://github.com/espressif/esp-idf/issues/9604
Closes https://github.com/espressif/esp-idf/issues/12136
2024-06-24 15:50:47 +08:00
laokaiyao c731b099ee remove(c5beta3): remove c5 beta3 doxy files 2024-06-17 12:02:15 +08:00
laokaiyao db77f66721 fix(kconfig): fixed peripheral driver kconfig inconsistencies 2024-06-03 11:51:00 +08:00
Frantisek Hrbata fbe8bf89ee fix: properly resolve component dependencies
There is currently a bug in the __build_resolve_and_add_req function in
tools/cmake/build.cmake where the check for registered component
requirements is incorrectly applied to the component itself rather than
its dependencies. This issue likely originated from a typo, using
component_target instead of _component_target. To prevent further
confusion, _component_target has been renamed to _req_target.

Fixing this revealed multiple incorrect dependencies for the Linux
target, which have now been resolved by explicitly specifying the
dependencies for the Linux target.

Closes https://github.com/espressif/esp-idf/issues/13447

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-30 22:01:55 +08:00
morris c0289ee6eb fix(drivers): fix typos found by codespell
codespell components/esp_driver*
2024-03-28 10:01:27 +08:00
morris 16049ab6ad change(pcnt): reenable the target test for esp32p4
by changing the GPIO assignment
2024-01-10 23:03:40 +08:00
Armando 3c5a4f9e8a ci(p4): added todo jira for disabled tests on p4 2024-01-04 09:36:38 +08:00
Armando 907b876354 ci(p4): temporarily disable failed ci tests on p4 2024-01-04 09:36:06 +08:00
Armando 1ab742b3c3 ci(p4): enable esp32p4 target test 2024-01-04 09:34:55 +08:00
morris eb5183f503 feat(mcpwm): refactor mcpwm driver into a component 2023-11-09 22:05:06 +08:00
morris 2ef14fe55e refactor(gptimer): refactor gptimer driver into a component 2023-11-06 17:09:31 +08:00