|
|
@@ -414,7 +414,13 @@ void IRAM_ATTR call_start_cpu0(void)
|
|
|
DPORT_CLEAR_PERI_REG_MASK(DPORT_APPCPU_CTRL_B_REG, DPORT_APPCPU_CLKGATE_EN); // stop the other core
|
|
|
#elif CONFIG_IDF_TARGET_ESP32S3
|
|
|
REG_CLR_BIT(SYSTEM_CORE_1_CONTROL_0_REG, SYSTEM_CONTROL_CORE_1_CLKGATE_EN);
|
|
|
+#if SOC_APPCPU_HAS_CLOCK_GATING_BUG
|
|
|
+ /* The clock gating signal of the App core is invalid. We use RUNSTALL and RESETING
|
|
|
+ signals to ensure that the App core stops running in single-core mode. */
|
|
|
+ REG_SET_BIT(SYSTEM_CORE_1_CONTROL_0_REG, SYSTEM_CONTROL_CORE_1_RUNSTALL);
|
|
|
+ REG_CLR_BIT(SYSTEM_CORE_1_CONTROL_0_REG, SYSTEM_CONTROL_CORE_1_RESETING);
|
|
|
#endif
|
|
|
+#endif // CONFIG_IDF_TARGET_ESP32
|
|
|
#endif // !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
|
|
|
#endif // SOC_CPU_CORES_NUM > 1
|
|
|
|