From c67d98fb10e983b1b2474aa8015ecd4a50c49c51 Mon Sep 17 00:00:00 2001 From: wuzhenghui Date: Mon, 11 May 2026 12:20:49 +0800 Subject: [PATCH] change(soc): move _RTC_GPIO_EDGE_WAKEUP_SUPPORTED to soc_caps.h --- components/esp_driver_gpio/src/rtc_io.c | 7 ++----- .../esp_hal_gpio/esp32c5/include/hal/rtc_gpio_caps.h | 2 -- .../esp_hal_gpio/esp32c6/include/hal/rtc_gpio_caps.h | 2 -- .../esp_hal_gpio/esp32c61/include/hal/rtc_gpio_caps.h | 2 -- .../esp_hal_gpio/esp32h4/include/hal/rtc_gpio_caps.h | 2 -- .../esp_hal_gpio/esp32p4/include/hal/rtc_gpio_caps.h | 2 -- .../esp_hal_gpio/esp32s31/include/hal/rtc_gpio_caps.h | 2 -- components/soc/esp32c5/include/soc/Kconfig.soc_caps.in | 4 ++++ components/soc/esp32c5/include/soc/soc_caps.h | 1 + components/soc/esp32c6/include/soc/Kconfig.soc_caps.in | 4 ++++ components/soc/esp32c6/include/soc/soc_caps.h | 1 + components/soc/esp32c61/include/soc/Kconfig.soc_caps.in | 4 ++++ components/soc/esp32c61/include/soc/soc_caps.h | 1 + components/soc/esp32h4/include/soc/Kconfig.soc_caps.in | 4 ++++ components/soc/esp32h4/include/soc/soc_caps.h | 1 + components/soc/esp32p4/include/soc/Kconfig.soc_caps.in | 4 ++++ components/soc/esp32p4/include/soc/soc_caps.h | 1 + 17 files changed, 27 insertions(+), 17 deletions(-) diff --git a/components/esp_driver_gpio/src/rtc_io.c b/components/esp_driver_gpio/src/rtc_io.c index b312de316ad..ec5c9d4c697 100644 --- a/components/esp_driver_gpio/src/rtc_io.c +++ b/components/esp_driver_gpio/src/rtc_io.c @@ -16,9 +16,6 @@ #include "hal/rtc_io_hal.h" #include "hal/rtc_io_periph.h" #include "soc/soc_caps.h" -#if SOC_RTCIO_PIN_COUNT > 0 -#include "hal/rtc_gpio_caps.h" -#endif #if SOC_LP_GPIO_MATRIX_SUPPORTED #include "soc/lp_gpio_pins.h" #endif @@ -320,11 +317,11 @@ esp_err_t rtc_gpio_isolate(gpio_num_t gpio_num) esp_err_t rtc_gpio_wakeup_enable(gpio_num_t gpio_num, gpio_int_type_t intr_type) { ESP_RETURN_ON_FALSE(rtc_gpio_is_valid_gpio(gpio_num), ESP_ERR_INVALID_ARG, RTCIO_TAG, "RTCIO number error"); -#if !RTC_GPIO_CAPS_GET(EDGE_WAKEUP_SUPPORTED) +#if !SOC_RTC_GPIO_EDGE_WAKEUP_SUPPORTED if (intr_type == GPIO_INTR_POSEDGE || intr_type == GPIO_INTR_NEGEDGE || intr_type == GPIO_INTR_ANYEDGE) { return ESP_ERR_INVALID_ARG; // Dont support this mode. } -#endif //!RTC_GPIO_CAPS_GET(EDGE_WAKEUP_SUPPORTED) +#endif //!SOC_RTC_GPIO_EDGE_WAKEUP_SUPPORTED RTCIO_ENTER_CRITICAL(); rtcio_hal_wakeup_enable(rtc_io_number_get(gpio_num), intr_type); RTCIO_EXIT_CRITICAL(); diff --git a/components/esp_hal_gpio/esp32c5/include/hal/rtc_gpio_caps.h b/components/esp_hal_gpio/esp32c5/include/hal/rtc_gpio_caps.h index 0aebcd28f56..340f7a22c7c 100644 --- a/components/esp_hal_gpio/esp32c5/include/hal/rtc_gpio_caps.h +++ b/components/esp_hal_gpio/esp32c5/include/hal/rtc_gpio_caps.h @@ -7,5 +7,3 @@ #pragma once #define RTC_GPIO_CAPS_GET(_attr) _RTC_GPIO_ ## _attr - -#define _RTC_GPIO_EDGE_WAKEUP_SUPPORTED 1 diff --git a/components/esp_hal_gpio/esp32c6/include/hal/rtc_gpio_caps.h b/components/esp_hal_gpio/esp32c6/include/hal/rtc_gpio_caps.h index 0aebcd28f56..340f7a22c7c 100644 --- a/components/esp_hal_gpio/esp32c6/include/hal/rtc_gpio_caps.h +++ b/components/esp_hal_gpio/esp32c6/include/hal/rtc_gpio_caps.h @@ -7,5 +7,3 @@ #pragma once #define RTC_GPIO_CAPS_GET(_attr) _RTC_GPIO_ ## _attr - -#define _RTC_GPIO_EDGE_WAKEUP_SUPPORTED 1 diff --git a/components/esp_hal_gpio/esp32c61/include/hal/rtc_gpio_caps.h b/components/esp_hal_gpio/esp32c61/include/hal/rtc_gpio_caps.h index 0aebcd28f56..340f7a22c7c 100644 --- a/components/esp_hal_gpio/esp32c61/include/hal/rtc_gpio_caps.h +++ b/components/esp_hal_gpio/esp32c61/include/hal/rtc_gpio_caps.h @@ -7,5 +7,3 @@ #pragma once #define RTC_GPIO_CAPS_GET(_attr) _RTC_GPIO_ ## _attr - -#define _RTC_GPIO_EDGE_WAKEUP_SUPPORTED 1 diff --git a/components/esp_hal_gpio/esp32h4/include/hal/rtc_gpio_caps.h b/components/esp_hal_gpio/esp32h4/include/hal/rtc_gpio_caps.h index 0aebcd28f56..340f7a22c7c 100644 --- a/components/esp_hal_gpio/esp32h4/include/hal/rtc_gpio_caps.h +++ b/components/esp_hal_gpio/esp32h4/include/hal/rtc_gpio_caps.h @@ -7,5 +7,3 @@ #pragma once #define RTC_GPIO_CAPS_GET(_attr) _RTC_GPIO_ ## _attr - -#define _RTC_GPIO_EDGE_WAKEUP_SUPPORTED 1 diff --git a/components/esp_hal_gpio/esp32p4/include/hal/rtc_gpio_caps.h b/components/esp_hal_gpio/esp32p4/include/hal/rtc_gpio_caps.h index 0aebcd28f56..340f7a22c7c 100644 --- a/components/esp_hal_gpio/esp32p4/include/hal/rtc_gpio_caps.h +++ b/components/esp_hal_gpio/esp32p4/include/hal/rtc_gpio_caps.h @@ -7,5 +7,3 @@ #pragma once #define RTC_GPIO_CAPS_GET(_attr) _RTC_GPIO_ ## _attr - -#define _RTC_GPIO_EDGE_WAKEUP_SUPPORTED 1 diff --git a/components/esp_hal_gpio/esp32s31/include/hal/rtc_gpio_caps.h b/components/esp_hal_gpio/esp32s31/include/hal/rtc_gpio_caps.h index 8fcac029b16..8d990695c15 100644 --- a/components/esp_hal_gpio/esp32s31/include/hal/rtc_gpio_caps.h +++ b/components/esp_hal_gpio/esp32s31/include/hal/rtc_gpio_caps.h @@ -7,5 +7,3 @@ #pragma once #define RTC_GPIO_CAPS_GET(_attr) _RTC_GPIO_ ## _attr - -#define _RTC_GPIO_EDGE_WAKEUP_SUPPORTED 1 diff --git a/components/soc/esp32c5/include/soc/Kconfig.soc_caps.in b/components/soc/esp32c5/include/soc/Kconfig.soc_caps.in index b079f1bf76e..05567c449e7 100644 --- a/components/soc/esp32c5/include/soc/Kconfig.soc_caps.in +++ b/components/soc/esp32c5/include/soc/Kconfig.soc_caps.in @@ -579,6 +579,10 @@ config SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP bool default y +config SOC_RTC_GPIO_EDGE_WAKEUP_SUPPORTED + bool + default y + config SOC_LP_IO_CLOCK_IS_INDEPENDENT bool default y diff --git a/components/soc/esp32c5/include/soc/soc_caps.h b/components/soc/esp32c5/include/soc/soc_caps.h index b645470bdbc..bdbe1cce0a1 100644 --- a/components/soc/esp32c5/include/soc/soc_caps.h +++ b/components/soc/esp32c5/include/soc/soc_caps.h @@ -227,6 +227,7 @@ // GPIO0~7 on ESP32C5 can support chip HP peripheral powerdown-ed sleep wakeup #define SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP (1) #define SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP +#define SOC_RTC_GPIO_EDGE_WAKEUP_SUPPORTED (1) // LP IO peripherals have independent clock gating to manage #define SOC_LP_IO_CLOCK_IS_INDEPENDENT (1) diff --git a/components/soc/esp32c6/include/soc/Kconfig.soc_caps.in b/components/soc/esp32c6/include/soc/Kconfig.soc_caps.in index b2863279a67..3a14ce33a43 100644 --- a/components/soc/esp32c6/include/soc/Kconfig.soc_caps.in +++ b/components/soc/esp32c6/include/soc/Kconfig.soc_caps.in @@ -499,6 +499,10 @@ config SOC_LP_IO_CLOCK_IS_INDEPENDENT bool default y +config SOC_RTC_GPIO_EDGE_WAKEUP_SUPPORTED + bool + default y + config SOC_GPIO_IN_RANGE_MAX int default 30 diff --git a/components/soc/esp32c6/include/soc/soc_caps.h b/components/soc/esp32c6/include/soc/soc_caps.h index 2f84c538d40..ae3cb874159 100644 --- a/components/soc/esp32c6/include/soc/soc_caps.h +++ b/components/soc/esp32c6/include/soc/soc_caps.h @@ -202,6 +202,7 @@ #define SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP // LP IO peripherals have independent clock gating to manage #define SOC_LP_IO_CLOCK_IS_INDEPENDENT (1) +#define SOC_RTC_GPIO_EDGE_WAKEUP_SUPPORTED (1) #define SOC_GPIO_VALID_GPIO_MASK ((1U<