patch_615_1104_pm_sleep 1469/2 1469/head 1472/target/1 1694/target/1
authorSnickerSun <snickersun@163.com>
Wed, 27 Nov 2024 08:17:52 +0000 (16:17 +0800)
committerSnickerSun <snickersun@163.com>
Wed, 27 Nov 2024 08:17:52 +0000 (16:17 +0800)
code/sdk/build/config/target_config/brandy/target_config.py
code/sdk/drivers/drivers/driver/rtc_unified/rtc.c
code/sdk/middleware/chips/brandy/pm/service/pm_sleep.c
patch_615_1104_pm_sleep.txt [new file with mode: 0644]

index eb231f3..dcebb30 100644 (file)
@@ -53,8 +53,8 @@ target_template = {
                     "USE_CMSIS_OS", "USE_LITEOS", "VERSION_STANDARD", "_ALL_SOURCE", "__LITEOS__",
                     "CONFIG_NV_SUPPORT_SINGLE_CORE_SYSTEM", 'CONFIG_NV_FEATURE_SUPPORT', 'CONFIG_SPI_SUPPORT_LPC',
                     "RISCV_70", 'SUPPORT_DIAG_V2_PROTOCOL', 'CONFIG_PINCTRL_SUPPORT_IE', 'CONFIG_TIMER_SUPPORT_HIGH_PRECISION',
-                    'CONFIG_RTC_START_DELAY_SUPPORT', 'CONFIG_RTC_START_DELAY_USING_TCXO',
                     "DUMP_MEM_SUPPORT", "DUMP_REG_SUPPORT", "SUPPORT_DFX_EXCEPTION", 'CONFIG_SPI_SUPPORT_DMA',
+                    'CONFIG_RTC_START_DELAY_SUPPORT', 'CONFIG_RTC_START_DELAY_USING_TCXO', 'CONFIG_RTC_SUPPORT_LPM',
                     'CONFIG_I2C_SUPPORT_DMA', 'CONFIG_I2C_SUPPORT_LPC', 'CONFIG_EFUSE_CLK_EN'],
         'defines_set': ['chip_defines', 'version_defines'],
         'ram_component': ['brandy_std_lds', 'liteos_207_1_0', 'partition', 'chip_brandy', 'driver_header', 'nand_flash',
@@ -89,11 +89,11 @@ target_template = {
                     "LIBBUILD_VERSION", "LIBCMD", "LIBCONNECTIVITY", "LIBCPU_LOAD", "LIBCPU_UTILS", "LIBCRC", "LIBDFX",
                     "LIBLIB_UTILS", "LIBLOG", "LIBLOG_READER", "LIBOSAL", "LIBPANIC", "LIBTEST_COMMON",
                     "MASTER_LOAD_SLAVE", "SRCPACKGE_BUILD", "SUPPORT_CXX", 'CONFIG_TIMER_SUPPORT_HIGH_PRECISION',
-                    'CONFIG_RTC_START_DELAY_SUPPORT', 'CONFIG_RTC_START_DELAY_USING_TCXO',
                     "USE_CMSIS_OS", "VERSION_STANDARD", "_ALL_SOURCE", "__FREERTOS__", "RISCV_70",
                     "CONFIG_NV_SUPPORT_SINGLE_CORE_SYSTEM", 'CONFIG_NV_FEATURE_SUPPORT', 'CONFIG_SPI_SUPPORT_LPC',
                     "CONFIG_XIP_ENABLE_READ_OVERTIME", 'SUPPORT_DIAG_V2_PROTOCOL', 'CONFIG_PINCTRL_SUPPORT_IE',
                     "DUMP_MEM_SUPPORT", "DUMP_REG_SUPPORT", "SUPPORT_DFX_EXCEPTION", 'CONFIG_SPI_SUPPORT_DMA',
+                    'CONFIG_RTC_START_DELAY_SUPPORT', 'CONFIG_RTC_START_DELAY_USING_TCXO', 'CONFIG_RTC_SUPPORT_LPM',
                     'CONFIG_I2C_SUPPORT_DMA', 'FREERTOS_DEBUG', 'CONFIG_I2C_SUPPORT_LPC', 'CONFIG_EFUSE_CLK_EN'],
         'defines_set': ['chip_defines', 'version_defines'],
         'ram_component': ['brandy_std_lds', 'chip_brandy', 'brandy_app_standard', 'driver_header',
@@ -169,7 +169,7 @@ target_template = {
                     "LIBOSAL", "LIBPANIC", "LIBTEST_COMMON", "MASTER_LOAD_SLAVE", 'CONFIG_SPI_SUPPORT_LPC',
                     "SRCPACKGE_BUILD", "SUPPORT_CXX", "USE_CMSIS_OS", 'SUPPORT_DIAG_V2_PROTOCOL',
                     "VERSION_STANDARD", "_ALL_SOURCE", "__FREERTOS__", "CONFIG_UART_SUPPORT_TX", "OSALLOG_DISABLE",
-                    "CONFIG_UART_SUPPORT_RX", "RISCV_70", 'CONFIG_PINCTRL_SUPPORT_IE',
+                    "CONFIG_UART_SUPPORT_RX", "RISCV_70", 'CONFIG_PINCTRL_SUPPORT_IE', "-:UPG_CFG_DEBUG_PRINT_ENABLED=1",
                     'CONFIG_I2C_SUPPORT_LPC', 'CONFIG_DFX_SUPPORT_TRANSMIT_FILE=0', 'CONFIG_DFX_SUPPORT_SOC_LOG=0',
                     'CONFIG_DFX_SUPPORT_DIAG_BEAT_HEART=0', 'CONFIG_DFX_SUPPORT_DIAG_VRTTUAL_SHELL=0',
                     'CONFIG_DFX_SUPPORT_DIAG_CONNECT_BLE=0', 'CONFIG_DFX_SUPPORT_OFFLINE_LOG_FILE=0',
@@ -213,7 +213,7 @@ target_template = {
                     "RISCV_70", "CONFIG_XIP_ENABLE_READ_OVERTIME", 'SUPPORT_DIAG_V2_PROTOCOL', 'CONFIG_SPI_SUPPORT_LPC',
                     "SUPPORT_GPU_JPEG", "SUPPORT_GPU_GMMU", "SUPPORT_GPU_OPENVG", 'CONFIG_PINCTRL_SUPPORT_IE',
                     'CONFIG_SPI_SUPPORT_DMA', 'CONFIG_I2C_SUPPORT_DMA', 'CONFIG_UART_SUPPORT_DMA',
-                    'CONFIG_RTC_START_DELAY_SUPPORT', 'CONFIG_RTC_START_DELAY_USING_TCXO',
+                    'CONFIG_RTC_START_DELAY_SUPPORT', 'CONFIG_RTC_START_DELAY_USING_TCXO', 'CONFIG_RTC_SUPPORT_LPM',
                     'CONFIG_I2C_SUPPORT_LPC', 'CONFIG_EFUSE_CLK_EN', 'CONFIG_TIMER_SUPPORT_HIGH_PRECISION'],
         'defines_set': ['chip_defines', 'version_defines'],
         'ram_component': ['brandy_std_lds', 'liteos_207_1_0', 'chip_brandy', 'driver_header', 'nand_flash',
index 851f589..d161ba2 100644 (file)
@@ -660,8 +660,8 @@ uint32_t uapi_rtc_get_latest_timeout(void)
         }
         nxt_count = cur_count < nxt_count ? cur_count : nxt_count;
     }
-    uint32_t nxt_ms = rtc_porting_cycle_2_ms(nxt_count);
-    return nxt_ms;
+    uint32_t nxt_us = rtc_porting_cycle_2_us(nxt_count);
+    return nxt_us;
 }
 
 errcode_t uapi_rtc_suspend(uintptr_t val)
index 2d7d18b..e1f6194 100644 (file)
@@ -14,6 +14,7 @@
 #include "pm_lpc.h"
 #include "pm_core.h"
 #include "pm_clocks.h"
+#include "hal_rtc.h"
 #include "arch_encoding.h"
 #include "arch_barrier.h"
 #include "debug_print.h"
@@ -297,7 +298,7 @@ void pm_enter_sleep(uint32_t sleep_ms_val)
         return;
     }
     rtc_times /= PM_OS_US_TO_MS;
-    if (sleep_ms > rtc_times && rtc_times != 0 && sleep_ms <= g_pm_sleep_threshold) {
+    if (sleep_ms > rtc_times && rtc_times != 0) {
         sleep_ms = rtc_times;
     }
     if (sleep_ms <= PM_SLEEP_THRESHOLD_WFI_ONLY_MS || pm_get_sleep_veto()) {
@@ -314,7 +315,7 @@ void pm_enter_sleep(uint32_t sleep_ms_val)
 
     pm_enter_deepsleep_set_flag();
     status = pm_os_irq_lock();
-    if ((sleep_ms <= g_pm_sleep_threshold) || pm_get_sleep_veto()) {
+    if ((sleep_ms <= g_pm_sleep_threshold) || pm_get_sleep_veto() || hal_rtc_get_int_status(0) == 1) {
         pm_enter_deepsleep_cancel_flag();
         pm_enter_light_sleep();
     } else {
@@ -345,8 +346,6 @@ void pm_set_mcu_dynamic_power_flag(uint8_t flag)
 
 void uapi_pm_enter_sleep(void)
 {
-    uint32_t status = pm_os_irq_lock();
     uint32_t sleep_ms = pm_os_get_sleep_ms();
     pm_enter_sleep(sleep_ms);
-    pm_os_irq_restore(status);
 }
diff --git a/patch_615_1104_pm_sleep.txt b/patch_615_1104_pm_sleep.txt
new file mode 100644 (file)
index 0000000..a4bb7a4
--- /dev/null
@@ -0,0 +1,19 @@
+【补丁名称】patch_615_1104_pm_sleep\r
+【基础版本】b615 + 0906 + 1009 +1029\r
+【修复问题】\r
+PLT合入内容\r
+    1、深睡前如果有rtc中断产生则进浅睡\r
+    2、去掉低功耗流程外层中断锁保护\r
+【修改影响】NA\r
+\r
+【使用方法】\r
+    1、合入0906补丁\r
+    2、合入1009补丁\r
+    3、合入1029补丁\r
+    4、合入patch_615_1104_pm_sleep\r
+【自测情况】\r
+    自验证范围:\r
+       全功能冒烟\r
+    自验证target:\r
+       Native-js、target3 rc版本\r
+【是否合入版本】根据测试结果确定\r