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
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
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
morris
9cad94e697
feat(ana_cmpr): support analog comparator on esp32h21
2026-03-23 10:28:29 +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
476004e4b8
fix(gpio): add esp_gpio_reserve check to gpio_config
2026-02-26 16:26:58 +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
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
laokaiyao
1e54a82e42
feat(touch_sens): support touch sensor on esp32h4
2025-12-15 11:18:37 +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
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
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
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
Song Ruo Jing
24a9cb7dde
refactor(dedic_gpio): clean up dedic gpio soc caps
2025-09-16 11:18:10 +08:00
morris
661590940a
refactor(etm): enhance thread safety and clean up soc macros
2025-08-18 14:58:24 +08:00
Song Ruo Jing
9a2984b4c0
fix(gpio): fix ESP32 GPIO sleep mode handling
...
The previous workaround does not work, the backup/restore should apply to RTC IO registers.
Also moved the workaround to sleep_gpio.c to avoid gpio hal using kconfig.
2025-08-05 21:02:09 +08:00
Olivér Remény
9317ecb4ea
fix(gpio): Avoid error message when calling reset on an input only pin.
...
The `gpio_reset_pin` function attempted to enable internal pullup on pins which does not have one. This change adds a guard to `gpio_reset_pin` for calling `gpio_pullup_en` - the same guard that makes `gpio_pullup_en` print the error.
2025-08-04 12:16:31 +08:00
Song Ruo Jing
60bef64f5c
feat(gpio): esp_rom_gpio_connect_in/out_signal now has their hal implementation
2025-06-11 20:41:37 +08:00
Chen Jichang
91f92b0e57
fix(glithc_filter): only call esp_pm APIs when CONFIG_PM_ENABLE is enabled
2025-05-22 17:38:58 +08:00
Song Ruo Jing
abc9c1fd55
test(gpio,gpio_ext,ppa): test with malloc from psram by default
2025-05-15 11:21:06 +08:00
Song Ruo Jing
6994be3acd
fix(gpio): add some detailed error log for gpio_pullup_en and gpio_pulldown_en
2025-04-18 19:03:16 +08:00
Song Ruo Jing
cbf7a66030
feat(gpio): gpio_reset_pin should do IO reservation revoke
...
Closes https://github.com/espressif/esp-idf/issues/15598
2025-03-20 14:56:16 +08:00
Song Ruo Jing
8f74c54a8a
refactor(gpio): simplified gpio_reset_pin function to not call gpio_configure
...
Closes https://github.com/espressif/esp-idf/pull/15569
2025-03-20 14:56:16 +08:00
gaoxu
7e54886a4e
feat(esp32h21): move gpio intr source to gpio_ll.h
2025-02-24 17:32:01 +08:00
Song Ruo Jing
53d8b70e8b
fix(gpio): fix IO output enable control
...
oen_sel and oen_inv_sel fields from func_out_sel_cfg register
2025-02-20 19:49:28 +08:00
wuzhenghui
51205a8fd8
fix(esp_hw_support): fix esp32s2/esp32s3 RTC IOMUX clock management
2025-02-19 16:02:25 +08:00
Song Ruo Jing
a6ac2bb322
refactor(gpio): improve gpio_get_io_config API
2025-02-10 21:44:51 +08:00
Song Ruo Jing
3a8d065908
refactor(gpio): improve gpio_iomux_in/out API
2025-02-10 21:44:07 +08:00
Song Ruo Jing
52c0278361
feat(gpio): add gpio_config_as_analog API
2025-01-08 21:58:12 +08:00
Song Ruo Jing
3fde2017cd
refactor(rtcio): update comments for rtc_io header file
...
Closes https://github.com/espressif/esp-idf/issues/13735
2025-01-08 16:49:34 +08:00
gaoxu
25731d0c1e
feat(esp32h21): finnal introduce hello world support
2024-12-30 20:14:40 +08:00
Marius Vikhammer
d8de8c6e40
Merge branch 'bugfix/enable_additional_lp_io_wakeup' into 'master'
...
fix(lp_io): enable setting edge type wakeup sources for targets that support this
See merge request espressif/esp-idf!35122
2024-12-26 10:41:23 +08:00
Song Ruo Jing
c749ec66f6
fix(gpio): fix pu, pd, drv value incorrect from gpio_dump_io_configuration on esp32
...
Closes https://github.com/espressif/esp-idf/issues/14931
2024-12-18 22:38:25 +08:00
Ihor Nehrutsa
4d9d164541
feat(gpio): Add gpio_get_io_config()
...
Signed-off-by: IhorNehrutsa <Ihor.Nehrutsa@gmail.com >
2024-12-18 22:38:25 +08:00
Marius Vikhammer
c35f188efb
fix(lp_io): allow edge wakeup types for LP-IO on chips which support it
2024-12-17 10:00:48 +08:00
morris
1c1198cf4a
feat(dedic_gpio): enable pad input for the input signal
...
previously, we asked the user to enable the gpio direction before
initialize the dedicated GPIO.
Now the dedicated GPIO driver will help enable the input/output path
according to the in_en and out_en flags.
2024-10-14 11:35:16 +08:00
morris
611fb654ce
refactor(lcd): clean up GPIO initialization
2024-10-10 16:01:05 +08:00