From 8902758dfd085eb29078439b5cb8d6b38266fa60 Mon Sep 17 00:00:00 2001 From: cjin Date: Wed, 29 Jul 2026 17:50:06 +0800 Subject: [PATCH 1/2] feat(ble): added CONFIG_PM_SLP_IRAM_OPT to make sure cache error check --- examples/bluetooth/nimble/power_save/sdkconfig.32m.esp32h2 | 1 + examples/bluetooth/nimble/power_save/sdkconfig.40m.esp32c6 | 1 + examples/bluetooth/nimble/power_save/sdkconfig.40m.esp32c61 | 1 + examples/bluetooth/nimble/power_save/sdkconfig.48m.esp32c5 | 1 + examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c5 | 1 + examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c6 | 1 + examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c61 | 1 + examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32h2 | 1 + 8 files changed, 8 insertions(+) diff --git a/examples/bluetooth/nimble/power_save/sdkconfig.32m.esp32h2 b/examples/bluetooth/nimble/power_save/sdkconfig.32m.esp32h2 index e25ae2874da..3bb77bf4312 100644 --- a/examples/bluetooth/nimble/power_save/sdkconfig.32m.esp32h2 +++ b/examples/bluetooth/nimble/power_save/sdkconfig.32m.esp32h2 @@ -18,5 +18,6 @@ CONFIG_ESP_MODEM_CLOCK_ENABLE_CHECKING=y # Sleep Config # CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y +CONFIG_PM_SLP_IRAM_OPT=y CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION=y # end of Sleep Config diff --git a/examples/bluetooth/nimble/power_save/sdkconfig.40m.esp32c6 b/examples/bluetooth/nimble/power_save/sdkconfig.40m.esp32c6 index c72be382de0..26534a800fb 100644 --- a/examples/bluetooth/nimble/power_save/sdkconfig.40m.esp32c6 +++ b/examples/bluetooth/nimble/power_save/sdkconfig.40m.esp32c6 @@ -20,5 +20,6 @@ CONFIG_ESP_MODEM_CLOCK_ENABLE_CHECKING=y # CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y CONFIG_ESP_PHY_MAC_BB_PD=y +CONFIG_PM_SLP_IRAM_OPT=y CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION=y # end of Sleep Config diff --git a/examples/bluetooth/nimble/power_save/sdkconfig.40m.esp32c61 b/examples/bluetooth/nimble/power_save/sdkconfig.40m.esp32c61 index 34fd71dd83b..ba02349c378 100644 --- a/examples/bluetooth/nimble/power_save/sdkconfig.40m.esp32c61 +++ b/examples/bluetooth/nimble/power_save/sdkconfig.40m.esp32c61 @@ -18,5 +18,6 @@ CONFIG_ESP_MODEM_CLOCK_ENABLE_CHECKING=y # # Sleep Config # +CONFIG_PM_SLP_IRAM_OPT=y CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION=y # end of Sleep Config diff --git a/examples/bluetooth/nimble/power_save/sdkconfig.48m.esp32c5 b/examples/bluetooth/nimble/power_save/sdkconfig.48m.esp32c5 index f3f2dbe10ca..756a841b708 100644 --- a/examples/bluetooth/nimble/power_save/sdkconfig.48m.esp32c5 +++ b/examples/bluetooth/nimble/power_save/sdkconfig.48m.esp32c5 @@ -18,5 +18,6 @@ CONFIG_ESP_MODEM_CLOCK_ENABLE_CHECKING=y # # Sleep Config # +CONFIG_PM_SLP_IRAM_OPT=y CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION=y # end of Sleep Config diff --git a/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c5 b/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c5 index 943c1c203aa..6f545ebec6b 100644 --- a/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c5 +++ b/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c5 @@ -19,6 +19,7 @@ CONFIG_ESP_MODEM_CLOCK_ENABLE_CHECKING=y # # Sleep Config # +CONFIG_PM_SLP_IRAM_OPT=y CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION=y # end of Sleep Config diff --git a/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c6 b/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c6 index 56afbd9faef..582f7034d12 100644 --- a/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c6 +++ b/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c6 @@ -21,6 +21,7 @@ CONFIG_ESP_MODEM_CLOCK_ENABLE_CHECKING=y # CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y CONFIG_ESP_PHY_MAC_BB_PD=y +CONFIG_PM_SLP_IRAM_OPT=y CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION=y # end of Sleep Config diff --git a/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c61 b/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c61 index cd0f68a6d24..b037beb4f95 100644 --- a/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c61 +++ b/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32c61 @@ -19,6 +19,7 @@ CONFIG_ESP_MODEM_CLOCK_ENABLE_CHECKING=y # # Sleep Config # +CONFIG_PM_SLP_IRAM_OPT=y CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION=y # end of Sleep Config diff --git a/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32h2 b/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32h2 index dad63e95024..d1234542f76 100644 --- a/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32h2 +++ b/examples/bluetooth/nimble/power_save/sdkconfig.defaults.esp32h2 @@ -19,6 +19,7 @@ CONFIG_ESP_MODEM_CLOCK_ENABLE_CHECKING=y # Sleep Config # CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y +CONFIG_PM_SLP_IRAM_OPT=y CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION=y # end of Sleep Config From 3a0cbb0736a8945e98f23efbb69be14364afb528 Mon Sep 17 00:00:00 2001 From: cjin Date: Thu, 30 Jul 2026 10:37:04 +0800 Subject: [PATCH 2/2] fix(bt): fix deselect slow clk missing on ESP32-C5 --- components/bt/controller/esp32c5/bt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/bt/controller/esp32c5/bt.c b/components/bt/controller/esp32c5/bt.c index c0188b0471d..a27625e12d8 100644 --- a/components/bt/controller/esp32c5/bt.c +++ b/components/bt/controller/esp32c5/bt.c @@ -1112,7 +1112,7 @@ modem_deint: esp_bt_controller_log_deinit(); #endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED esp_phy_modem_deinit(); - // modem_clock_deselect_lp_clock_source(PERIPH_BT_MODULE); + modem_clock_deselect_lp_clock_source(PERIPH_BT_MODULE); modem_clock_module_disable(PERIPH_BT_MODULE); free_mem: @@ -1137,7 +1137,7 @@ esp_err_t esp_bt_controller_deinit(void) os_msys_deinit(); esp_phy_modem_deinit(); - // modem_clock_deselect_lp_clock_source(PERIPH_BT_MODULE); + modem_clock_deselect_lp_clock_source(PERIPH_BT_MODULE); modem_clock_module_disable(PERIPH_BT_MODULE); ble_stack_deinitEnv();