154 Commits

Author SHA1 Message Date
morris
38c4f27102 fix(iomux): move clock source gating to IOMUX consumers
Remove io_mux_set_clock_source internal source enabling and make SDM,
ana_cmpr, and gpio glitch filter drivers explicitly manage clock source
enable/disable with safe cleanup paths.
2026-05-22 19:10:08 +08:00
wuzhenghui
b7ec505923 feat(esp_driver_gpio): support rtc_io edge wakeup deepsleep 2026-05-20 11:04:00 +08:00
wuzhenghui
c67d98fb10 change(soc): move _RTC_GPIO_EDGE_WAKEUP_SUPPORTED to soc_caps.h 2026-05-13 10:51:24 +08:00
Chen Jichang
3c3b9a6a4e ci(esp32h4): disable tests which cannot pass 2026-05-11 16:48:58 +08:00
wuzhenghui
7c10126309 feat(esp_hw_support): isolate all digital io to suppress pad leakage on TOP pd sleep 2026-05-07 08:39:56 +08:00
Song Ruo Jing
e689feee9d refactor(rtcio): align LP GPIO matrix related APIs with GPIO matrix APIs 2026-04-29 12:17:37 +08:00
Song Ruo Jing
1d50587ab2 refactor(rtcio): split rtcio/gpio switch with rtc iomux func sel func
This allows rtc_gpio_deinit to always switch the pad back to GPIO,
regardless of lp io clock enabled or not, so that gpio_config can
always switch the IO back to GPIO use after wakeup from deep sleep.
2026-04-29 12:17:37 +08:00
Song Ruo Jing
9c2a8281c1 fix(uart): lp uart rx iomux pin was not working as expected
Introduced in 8818157e42
The workaround in the commit routes the signal to LP GPIO matrix first.
When uses LP IOMUX pin as UART RX, the signal did not bypass the matrix,
which caused the issue.

This commit adds rtc_gpio_iomux_input and rtc_gpio_iomux_output APIs
to align with existing GPIO driver APIs.
2026-04-09 17:07:01 +08:00
morris
572e732aca refactor(gpio): derive ETM registers from GPIO_EXT
Use GPIO_EXT.etm as the ETM register base and remove standalone GPIO_ETM symbols to avoid manual offset address maintenance errors across targets.
2026-04-08 15:07:27 +08:00
morris
b79cf6d8eb feat(gpio): support glitch filter on esp32s31 2026-04-08 15:07:27 +08:00
Chen Chen
cbb529bf97 feat(rtcio): support rtcio on esp32s31 2026-04-01 08:51:47 +08:00
laokaiyao
b5c68aa481 feat(gpio): support to attach gpio signals internally 2026-03-31 12:26:35 +08:00
wuzhenghui
61dc18139a feat(esp_hw_support): add esp32/esp32s2/esp32s3 deepsleep gpio wakeup test case 2026-03-25 10:49:48 +08:00
wuzhenghui
b6fcdb1f48 feat(esp_hw_support): support GPIO wakeup deepsleep on esp32/esp32s2/esp32s3
and expand gpio_wakeup_mask/gpio_trigger_mode to 64bit
2026-03-25 10:49:47 +08:00
wuzhenghui
a441be19a7 feat(esp_hw_support): add esp_sleep_rtcio_channel_to_gpio_num for channel to IO num conversion 2026-03-25 10:49:47 +08:00
morris
9cad94e697 feat(ana_cmpr): support analog comparator on esp32h21 2026-03-23 10:28:29 +08: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
Song Ruo Jing
e3a2865606 Merge branch 'bugfix/lp_io_clock_control' into 'master'
fix(rtcio): RTC GPIO configuration should be written only if LP IO clock exists

Closes IDF-14951

See merge request espressif/esp-idf!46146
2026-03-04 19:23:33 +08:00
Song Ruo Jing
d6031c859a Merge branch 'feature/psram_halfsleep_mode_support' into 'master'
feat(psram): allow PSRAM to enter halfsleep mode during light sleep

Closes IDF-8413

See merge request espressif/esp-idf!45363
2026-03-02 17:01:21 +08:00
Song Ruo Jing
acb49e9520 fix(rtcio): RTC GPIO configuration should be written if LP IO clock exists 2026-03-02 15:03:30 +08:00
He Binglin
1b547ca0ba Merge branch 'bugfix/esp_idf_s3_deepsleep_dead' into 'master'
fix(hal): fix the issue of dual-core contention for RTC_CNTL regs

See merge request espressif/esp-idf!41680
2026-03-02 11:35:53 +08:00
Song Ruo Jing
69def0c3ea feat(psram): allow PSRAM to enter halfsleep mode during light sleep 2026-02-28 22:33:34 +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
ab16c09947 refactor(hints): move driver migration hints to own components 2026-02-14 15:51:18 +08:00
hebinglin
baeabe48c3 fix(hal): fix the issue of dual-core contention for RTC_CNTL regs 2026-02-10 12:08:03 +08:00
Wu Zheng Hui
13730111e3 Merge branch 'fix/make_deepsleep_gpio_wakeup_usable_for_pd_top_lightsleep' into 'master'
change(esp_hw_support): deepsleep gpio wakeup API renaming to support PD_TOP lightsleep wakeup

See merge request espressif/esp-idf!38712
2026-02-02 10:38:11 +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
4c26ab876b ci: update build-test-rules to use common_components 2026-01-23 10:14:09 +08:00
wuzhenghui
e80eb6c5c8 change(hal): deprecate 'gpio deep sleep wakeup' naming in hal
rename `gpio_hal_deepsleep_wakeup_enable/disable` to
       `gpio_hal_wakeup_enable/disable_on_hp_periph_powerdown_sleep`

rename `gpio_hal_deepsleep_wakeup_is_enabled` to
       `gpio_hal_wakeup_is_enabled_on_hp_periph_powerdown_sleep`

rename `gpio_ll_deepsleep_wakeup_enable/disable` to
       `gpio_ll_wakeup_enable/disable_on_hp_periph_powerdown_sleep`
2026-01-21 19:48:26 +08:00
wuzhenghui
78b3fca2b4 change(esp_driver_gpio): deprecate gpio_deep_sleep_wakeup_enable/disable API
rename gpio_deep_sleep_wakeup_enable to gpio_wakeup_enable_on_hp_periph_powerdown_sleep
rename gpio_deep_sleep_wakeup_disable to gpio_wakeup_disable_on_hp_periph_powerdown_sleep
rename GPIO_IS_DEEP_SLEEP_WAKEUP_VALID_GPIO to GPIO_IS_HP_PERIPH_PD_WAKEUP_VALID_IO
2026-01-21 19:48:25 +08:00
wuzhenghui
d188ad96b7 change(soc): rename peripheral powerdowned sleep wakeable IO soc_caps
rename SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK to SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_MASK
rename SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT to SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_PIN_CNT
rename SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP to SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP
2026-01-21 19:47:33 +08:00
Chen Chen
a8ef2b0c0c feat(gpio): support dedicated gpio for s31 2026-01-15 14:48:55 +08:00
Chen Chen
f98b9e2b21 feat(gpio): basic support of gpio on s31 2025-12-26 14:54:56 +08:00
Song Ruo Jing
74aeb3f41f refactor(uart): split UART HAL into separate component 2025-12-25 14:41:28 +08:00
laokaiyao
1e54a82e42 feat(touch_sens): support touch sensor on esp32h4 2025-12-15 11:18:37 +08:00
C.S.M
e3eaee53e2 Merge branch 'ci/esp32s31_build_ena' into 'master'
ci(esp32s31): Add ci build test for esp32s31

See merge request espressif/esp-idf!44045
2025-12-12 14:59:42 +08:00
C.S.M
f405e51784 ci(esp32s31): Add ci build test for esp32s31 2025-12-11 15:17:15 +08:00
wanckl
6449181ce0 feat(driver_spi): split spi hal component 2025-12-11 15:00:18 +08:00
morris
af02c173fb refactor(soc): remove soc_caps_full.h 2025-12-04 10:48:07 +08:00
Song Ruo Jing
06970a5284 refactor(esp_hal_gpio): move some caps definitions to esp_hal_gpio 2025-11-26 15:35:27 +08:00
Song Ruo Jing
1862fdec74 refactor(gpio): split GPIO HAL into separate component
cleaned up some includes in GPIO peripheral files
2025-11-26 15:35:07 +08:00
morris
892611191b feat(gpio): support fast gpio driver on esp32h4 2025-11-18 16:59:27 +08:00
Song Ruo Jing
f4703a2629 fix(gpio): oe control by register only take effect when func sel is GPIO 2025-11-17 21:52:18 +08:00
morris
f86febdc87 feat(gpio): add fast gpio && sdm && filter support on esp32h21 2025-11-14 18:34:06 +08:00
Song Ruo Jing
c17644a400 feat(gpio): add IO hold support for Deep-sleep for ESP32-P4 ECO5 2025-11-11 17:03:24 +08:00
Song Ruo Jing
56cbd596f5 refactor(gpio): add esp_err_t return type to gpio_uninstall_isr_service
Closes https://github.com/espressif/esp-idf/issues/14114
2025-11-07 15:26:52 +08:00
Zhang Shu Xian
e8ce6566d5 Merge branch 'docs/update_reference_to_esp32_errata' into 'master'
docs: Update reference to the specific section in ESP32 Errata

Closes DOC-10080

See merge request espressif/esp-idf!42514
2025-10-20 17:54:19 +08:00
Zhang Shuxian
52aa593617 docs: Update reference to the specific section in ESP32 Errata 2025-10-16 10:08:16 +08:00
Chen Chen
29f8fcf7b7 fix(i2c/gpio): Add error checks to the i2c driver
Add more checks to i2c driver, as well as fixed some GPIO issues
together with it.
2025-10-15 10:38:59 +08:00