From 042aa93fa2df40cfa0d72128ddf9544e3727750a Mon Sep 17 00:00:00 2001 From: wuzhenghui Date: Fri, 24 Mar 2023 11:47:35 +0800 Subject: [PATCH] workaround: bypass clock power_domain maintaining since esp32h2 sleep is not supported --- components/esp_hw_support/modem_clock.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/components/esp_hw_support/modem_clock.c b/components/esp_hw_support/modem_clock.c index 6d5cdc4b15..d0ed5f7a0f 100644 --- a/components/esp_hw_support/modem_clock.c +++ b/components/esp_hw_support/modem_clock.c @@ -288,6 +288,7 @@ void modem_clock_select_lp_clock_source(periph_module_t module, modem_clock_lpcl MODEM_CLOCK_instance()->lpclk_src[module - PERIPH_MODEM_MODULE_MIN] = src; portEXIT_CRITICAL_SAFE(&MODEM_CLOCK_instance()->lock); +#if !CONFIG_IDF_TARGET_ESP32H2 // TODO: IDF-6267 /* The power domain of the low-power clock source required by the modem * module remains powered on during sleep */ esp_sleep_pd_domain_t pd_domain = (esp_sleep_pd_domain_t) ( \ @@ -304,6 +305,9 @@ void modem_clock_select_lp_clock_source(periph_module_t module, modem_clock_lpcl : ESP_PD_DOMAIN_MAX); esp_sleep_pd_config(pd_domain, ESP_PD_OPTION_OFF); esp_sleep_pd_config(pu_domain, ESP_PD_OPTION_ON); +#else + (void)last_src; // Only for bypass compile warning, delete if IDF-6267 resloved +#endif //!CONFIG_IDF_TARGET_ESP32H2 } void modem_clock_deselect_lp_clock_source(periph_module_t module) @@ -336,6 +340,7 @@ void modem_clock_deselect_lp_clock_source(periph_module_t module) MODEM_CLOCK_instance()->lpclk_src[module - PERIPH_MODEM_MODULE_MIN] = MODEM_CLOCK_LPCLK_SRC_INVALID; portEXIT_CRITICAL_SAFE(&MODEM_CLOCK_instance()->lock); +#if !CONFIG_IDF_TARGET_ESP32H2 // TODO: IDF-6267 esp_sleep_pd_domain_t pd_domain = (esp_sleep_pd_domain_t) ( \ (last_src == MODEM_CLOCK_LPCLK_SRC_RC_FAST) ? ESP_PD_DOMAIN_RC_FAST \ : (last_src == MODEM_CLOCK_LPCLK_SRC_MAIN_XTAL) ? ESP_PD_DOMAIN_XTAL \ @@ -343,4 +348,7 @@ void modem_clock_deselect_lp_clock_source(periph_module_t module) : (last_src == MODEM_CLOCK_LPCLK_SRC_XTAL32K) ? ESP_PD_DOMAIN_XTAL32K \ : ESP_PD_DOMAIN_MAX); esp_sleep_pd_config(pd_domain, ESP_PD_OPTION_OFF); +#else + (void)last_src; // Only for bypass compile warning, delete if IDF-6267 resloved +#endif //!CONFIG_IDF_TARGET_ESP32H2 }