diff --git a/components/esp_hw_support/sleep_modes.c b/components/esp_hw_support/sleep_modes.c index 8a06ef4705..768ef06a1f 100644 --- a/components/esp_hw_support/sleep_modes.c +++ b/components/esp_hw_support/sleep_modes.c @@ -2748,6 +2748,13 @@ static SLEEP_FN_ATTR uint32_t get_power_down_flags(void) } } #endif + +#if CONFIG_IDF_TARGET_ESP32C6 + if (!(pd_flags & PMU_SLEEP_PD_TOP)) { + // TOP power domain depends on the RTC_PERIPH power domain on ESP32C6, RTC_PERIPH should only be disabled when the TOP domain is down. + pd_flags &= ~RTC_SLEEP_PD_RTC_PERIPH; + } +#endif return pd_flags; }