mirror of
https://github.com/espressif/esp-idf.git
synced 2025-11-26 20:53:11 +00:00
Merge branch 'bugfix/fix_esp32s3_psram_access_failed_in_dfs_master' into 'master'
esp_pm: fix esp32s3 psram access failed when dfs is enabled Closes IDF-7400 and IDF-4120 See merge request espressif/esp-idf!24144
This commit is contained in:
@@ -31,6 +31,10 @@
|
||||
#include "xtensa/core-macros.h"
|
||||
#endif
|
||||
|
||||
#if SOC_SPI_MEM_SUPPORT_TIMING_TUNING
|
||||
#include "esp_private/mspi_timing_tuning.h"
|
||||
#endif
|
||||
|
||||
#include "esp_private/pm_impl.h"
|
||||
#include "esp_private/pm_trace.h"
|
||||
#include "esp_private/esp_timer_private.h"
|
||||
@@ -475,7 +479,17 @@ static void IRAM_ATTR do_switch(pm_mode_t new_mode)
|
||||
if (switch_down) {
|
||||
on_freq_update(old_ticks_per_us, new_ticks_per_us);
|
||||
}
|
||||
rtc_clk_cpu_freq_set_config_fast(&new_config);
|
||||
if (new_config.source == SOC_CPU_CLK_SRC_PLL) {
|
||||
rtc_clk_cpu_freq_set_config_fast(&new_config);
|
||||
#if SOC_SPI_MEM_SUPPORT_TIMING_TUNING
|
||||
mspi_timing_change_speed_mode_cache_safe(false);
|
||||
#endif
|
||||
} else {
|
||||
#if SOC_SPI_MEM_SUPPORT_TIMING_TUNING
|
||||
mspi_timing_change_speed_mode_cache_safe(true);
|
||||
#endif
|
||||
rtc_clk_cpu_freq_set_config_fast(&new_config);
|
||||
}
|
||||
if (!switch_down) {
|
||||
on_freq_update(old_ticks_per_us, new_ticks_per_us);
|
||||
}
|
||||
|
||||
@@ -15,13 +15,20 @@
|
||||
* Feel free to change when debugging.
|
||||
*/
|
||||
static const int DRAM_ATTR s_trace_io[] = {
|
||||
#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
|
||||
#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2
|
||||
BIT(4), BIT(5), // ESP_PM_TRACE_IDLE
|
||||
BIT(16), BIT(17), // ESP_PM_TRACE_TICK
|
||||
BIT(18), BIT(18), // ESP_PM_TRACE_FREQ_SWITCH
|
||||
BIT(19), BIT(19), // ESP_PM_TRACE_CCOMPARE_UPDATE
|
||||
BIT(25), BIT(26), // ESP_PM_TRACE_ISR_HOOK
|
||||
BIT(27), BIT(27), // ESP_PM_TRACE_SLEEP
|
||||
#elif CONFIG_IDF_TARGET_ESP32S3
|
||||
BIT(4), BIT(5), // ESP_PM_TRACE_IDLE
|
||||
BIT(6), BIT(7), // ESP_PM_TRACE_TICK
|
||||
BIT(14), BIT(14), // ESP_PM_TRACE_FREQ_SWITCH
|
||||
BIT(15), BIT(15), // ESP_PM_TRACE_CCOMPARE_UPDATE
|
||||
BIT(16), BIT(17), // ESP_PM_TRACE_ISR_HOOK
|
||||
BIT(18), BIT(18), // ESP_PM_TRACE_SLEEP
|
||||
#else
|
||||
BIT(2), BIT(3), // ESP_PM_TRACE_IDLE
|
||||
BIT(4), BIT(5), // ESP_PM_TRACE_TICK
|
||||
|
||||
Reference in New Issue
Block a user