|
13 | 13 | #include "soc/soc_caps.h" |
14 | 14 | #include "freertos/FreeRTOS.h" |
15 | 15 | #include "esp_private/esp_modem_clock.h" |
| 16 | +#include "esp_private/esp_sleep_internal.h" |
16 | 17 | #include "esp_private/esp_pmu.h" |
17 | 18 | #include "esp_sleep.h" |
18 | 19 | #include "hal/efuse_hal.h" |
@@ -408,7 +409,7 @@ void modem_clock_select_lp_clock_source(periph_module_t module, modem_clock_lpcl |
408 | 409 | #if SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND |
409 | 410 | if (efuse_hal_chip_revision() != 0) { |
410 | 411 | if (src == MODEM_CLOCK_LPCLK_SRC_MAIN_XTAL) { |
411 | | - pmu_sleep_enable_hp_sleep_sysclk(true); |
| 412 | + esp_sleep_clock_config(ESP_SLEEP_CLOCK_BT_USE_WIFI_PWR_CLK, ESP_SLEEP_CLOCK_OPTION_UNGATE); |
412 | 413 | modem_clock_hal_enable_wifipwr_clock(MODEM_CLOCK_instance()->hal, true); |
413 | 414 | modem_clock_domain_clk_gate_disable(MODEM_CLOCK_DOMAIN_WIFIPWR, PMU_HP_ICG_MODEM_CODE_SLEEP); |
414 | 415 | } |
@@ -481,7 +482,7 @@ void modem_clock_deselect_lp_clock_source(periph_module_t module) |
481 | 482 | #if SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND && SOC_LIGHT_SLEEP_SUPPORTED // TODO: [ESP32C5] IDF-8643 |
482 | 483 | if (efuse_hal_chip_revision() != 0) { |
483 | 484 | if (last_src == MODEM_CLOCK_LPCLK_SRC_MAIN_XTAL) { |
484 | | - pmu_sleep_enable_hp_sleep_sysclk(false); |
| 485 | + esp_sleep_clock_config(ESP_SLEEP_CLOCK_BT_USE_WIFI_PWR_CLK, ESP_SLEEP_CLOCK_OPTION_GATE); |
485 | 486 | modem_clock_hal_enable_wifipwr_clock(MODEM_CLOCK_instance()->hal, false); |
486 | 487 | modem_clock_domain_clk_gate_enable(MODEM_CLOCK_DOMAIN_WIFIPWR, PMU_HP_ICG_MODEM_CODE_SLEEP); |
487 | 488 | } |
|
0 commit comments