浏览代码

fix ble restart faild when enable ble sleep

zhiweijian@espressif.com 5 年之前
父节点
当前提交
28fd413bf5
共有 2 个文件被更改,包括 4 次插入1 次删除
  1. 1 1
      components/esp32s3/system_api_esp32s3.c
  2. 3 0
      components/soc/esp32s3/include/soc/syscon_reg.h

+ 1 - 1
components/esp32s3/system_api_esp32s3.c

@@ -93,7 +93,7 @@ void IRAM_ATTR esp_restart_noos(void)
                       SYSTEM_BB_RST | SYSTEM_FE_RST | SYSTEM_MAC_RST |
                       SYSTEM_BT_RST | SYSTEM_BTMAC_RST | SYSTEM_SDIO_RST |
                       SYSTEM_SDIO_HOST_RST | SYSTEM_EMAC_RST | SYSTEM_MACPWR_RST |
-                      SYSTEM_RW_BTMAC_RST | SYSTEM_RW_BTLP_RST);
+                      SYSTEM_RW_BTMAC_RST | SYSTEM_RW_BTLP_RST | SYSTEM_BLE_REG_RST | SYSTEM_PWR_REG_RST | SYSTEM_BB_REG_RST);
     REG_WRITE(SYSTEM_CORE_RST_EN_REG, 0);
 
     // Reset timer/spi/uart

+ 3 - 0
components/soc/esp32s3/include/soc/syscon_reg.h

@@ -214,6 +214,9 @@ extern "C" {
 #define SYSTEM_WIFI_RST_M ((SYSTEM_WIFI_RST_V) << (SYSTEM_WIFI_RST_S))
 #define SYSTEM_WIFI_RST_V 0xFFFFFFFF
 #define SYSTEM_WIFI_RST_S 0
+#define SYSTEM_BB_REG_RST (BIT(13))
+#define SYSTEM_PWR_REG_RST (BIT(12))
+#define SYSTEM_BLE_REG_RST (BIT(11))
 #define SYSTEM_RW_BTLP_RST (BIT(10))
 #define SYSTEM_RW_BTMAC_RST (BIT(9))
 #define SYSTEM_MACPWR_RST (BIT(8))