forked from espressif/esp-idf
change(esp_hw_support): only do mpll disable in lightsleep process
This commit is contained in:
@@ -368,6 +368,7 @@ TCM_IRAM_ATTR uint32_t pmu_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt,
|
|||||||
// the return process, which results in dirty cachelines in L1 Cache again.
|
// the return process, which results in dirty cachelines in L1 Cache again.
|
||||||
pmu_sleep_cache_sync_items(SMMU_GID_DEFAULT, CACHE_SYNC_WRITEBACK, CACHE_MAP_L1_DCACHE, 0, 0);
|
pmu_sleep_cache_sync_items(SMMU_GID_DEFAULT, CACHE_SYNC_WRITEBACK, CACHE_MAP_L1_DCACHE, 0, 0);
|
||||||
|
|
||||||
|
if (!dslp) {
|
||||||
#if CONFIG_SPIRAM
|
#if CONFIG_SPIRAM
|
||||||
psram_ctrlr_ll_wait_all_transaction_done();
|
psram_ctrlr_ll_wait_all_transaction_done();
|
||||||
#endif
|
#endif
|
||||||
@@ -386,6 +387,7 @@ TCM_IRAM_ATTR uint32_t pmu_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt,
|
|||||||
#endif
|
#endif
|
||||||
rtc_clk_mpll_disable();
|
rtc_clk_mpll_disable();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#if CONFIG_SPIRAM && CONFIG_ESP_LDO_RESERVE_PSRAM
|
#if CONFIG_SPIRAM && CONFIG_ESP_LDO_RESERVE_PSRAM
|
||||||
@@ -438,7 +440,7 @@ TCM_IRAM_ATTR bool pmu_sleep_finish(bool dslp)
|
|||||||
|
|
||||||
pmu_ll_imm_set_pad_slp_sel(PMU_instance()->hal->dev, false);
|
pmu_ll_imm_set_pad_slp_sel(PMU_instance()->hal->dev, false);
|
||||||
|
|
||||||
if (s_mpll_freq_mhz_before_sleep) {
|
if (s_mpll_freq_mhz_before_sleep && !dslp) {
|
||||||
rtc_clk_mpll_enable();
|
rtc_clk_mpll_enable();
|
||||||
rtc_clk_mpll_configure(clk_hal_xtal_get_freq_mhz(), s_mpll_freq_mhz_before_sleep);
|
rtc_clk_mpll_configure(clk_hal_xtal_get_freq_mhz(), s_mpll_freq_mhz_before_sleep);
|
||||||
#if CONFIG_SPIRAM
|
#if CONFIG_SPIRAM
|
||||||
|
Reference in New Issue
Block a user