修复编译问题 1752/4 1752/head 1757/target/2 1758/target/1
authorpenglei <1624952103@qq.com>
Mon, 19 May 2025 03:19:41 +0000 (11:19 +0800)
committerpenglei <1624952103@qq.com>
Mon, 19 May 2025 03:19:41 +0000 (11:19 +0800)
.vscode/settings.json
code/sdk/application/wearable/fd230/service/broadcast/include/broadcast_feature.h
code/sdk/build/config/target_config/brandy/config.py
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a
code/sdk/zhihui/drivers/cywee/src/main_dml.c
code/sdk/zhihui/drivers/ppg/hx3695/hx3695.c
code/sdk/zhihui/drivers/ppg/ppgBleService/CMakeLists.txt
code/sdk/zhihui/services/ble_service/bleservice/bleService.c
code/sdk/zhihui/utils/custom_fileoperate_service.c
fd230_driver_patch/0523sdk_driver_patch/diff/local_diff_patch.txt
fd230_driver_patch/0626sdk_driver_patch/diff/local_diff_patch.txt

index 259e890..7bb1ba3 100644 (file)
         "stdbool.h": "c",
         "custom_runtime.h": "c",
         "hx3695.h": "c",
-        "configmodelc.h": "c"
+        "configmodelc.h": "c",
+        "factorytest_protocol.h": "c"
     }
 }
\ No newline at end of file
index 5ef35dd..7a461ac 100644 (file)
@@ -57,7 +57,7 @@ typedef enum {
     TOPIC_EVENT_BLE_TRAINING,\r
     TOPIC_EVENT_BLE_TRANSMIT,\r
     TOPIC_EVENT_GOAL_SHOW_VIEW,\r
-// #endif\r
+#endif\r
 #ifdef SUPPORT_CHARGER_PLUG_DETECTION_NOTIFICATION\r
     TOPIC_EVENT_CHARGE_PLUG,\r
     TOPIC_EVENT_CHARGE_UNPLUG,\r
index 98742d3..841ca68 100644 (file)
@@ -366,7 +366,7 @@ target = {
             'CYWEE_MAC_ACTIVE',
             'SUPPORT_CAT1_SERVICE',
             #'SUPPORT_TCPIP',                                  
-            'SUPPORT_HID_SERVICE',
+            #'SUPPORT_HID_SERVICE',
             'SUPPORT_BAIDU_MAP',
             'CFG_FLASH_SIZE=16',
             'SINGLE_USER_PARTITION',
index fc8a9d8..5a34925 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a differ
index e256366..87fee83 100644 (file)
 #include "ppg_hal.h"
 #endif
 
+#ifdef SUPPORT_BLE_SERVICE
+#include "bleInstruct.h"
+#endif
+
+
 #define AP_ENABLE_DML_SDO_LISTEN
 
 #define GSENSON_MSG_COUNT   64
@@ -621,7 +626,8 @@ void cywee_save_data(void)
         msleep(10);
     }
     uapi_dev_runtime_set_goal_storage_status(1);
-   
+    
+#ifdef SUPPORT_BLE_SERVICE
     int step=history_step+stepcount;
     CWM_OS_saveData(&step,sizeof(int),CYWEE_SAVE_DATA_STEP);
     CWM_OS_OneHourAgo_saveData(&history_step_,sizeof(int),CYWEE_SAVE_DATA_STEP);
@@ -638,12 +644,13 @@ void cywee_save_data(void)
     int fat=history_fat+new_fat;
     CWM_OS_saveData(&fat,sizeof(int),CYWEE_SAVE_DATA_FAT);
     CWM_OS_OneHourAgo_saveData(&history_fat_,sizeof(uint16_t),CYWEE_SAVE_DATA_FAT);
-
+#endif
     uapi_dev_runtime_set_goal_storage_status(0);
 }
 
 void cywee_restoreData(void)
 {
+#ifdef SUPPORT_BLE_SERVICE
     CWM_OS_restoreData(&history_step,sizeof(int),CYWEE_SAVE_DATA_STEP);
     CWM_OS_OneHourAgo_restoreData(&history_step_,sizeof(int),CYWEE_SAVE_DATA_STEP);
 
@@ -657,7 +664,7 @@ void cywee_restoreData(void)
     CWM_OS_restoreData(&history_fat,sizeof(int),CYWEE_SAVE_DATA_FAT);
     CWM_OS_OneHourAgo_restoreData(&history_fat_,sizeof(uint16_t),CYWEE_SAVE_DATA_FAT);
    
-
+#endif
     //WM_OS_restoreData(int* data, uint32_t len,uint8_t type)(int* data, uint32_t len,uint8_t type);
 }
 
@@ -728,30 +735,37 @@ void stand_history_save(uint32_t time) {
 
 void step_history_save(uint32_t time)
 {
+#ifdef SUPPORT_BLE_SERVICE
     int data = get_step_data();
     // CWM_OS_dbgPrintf("step_history is saving\n");
     CWM_OS_saveData_history(&data,&history_step_,sizeof(int),CYWEE_SAVE_DATA_STEP,time);
+#endif
 }
 
 
 void calories_history_save(uint32_t time)
 {
+#ifdef SUPPORT_BLE_SERVICE
     int data= get_calories_data();
     float history_calories = (float)data;
     // CWM_OS_dbgPrintf("history_calories is saving\n");
     CWM_OS_saveData_history(&history_calories,&history_calories_,sizeof(float),CYWEE_SAVE_DATA_CALORIES,time);
+#endif
 }
 
 void distances_history_save(uint32_t time)
 {
+#ifdef SUPPORT_BLE_SERVICE
     int data= get_distance_data();
     float history_distances_now = (float)data / 1000.0;
     // CWM_OS_dbgPrintf("history_distances is saving\n");
     CWM_OS_saveData_history(&history_distances_now,&history_distances_,sizeof(float),CYWEE_SAVE_DATA_DISTANCE,time);
+#endif
 }
 
 void fat_history_save(uint32_t time)
 {
+#ifdef SUPPORT_BLE_SERVICE
     int data= get_fat_time_data();
     int16_t temp_data=0;
     temp_data = data / 60;
@@ -762,6 +776,7 @@ void fat_history_save(uint32_t time)
         return;
     }
     CWM_OS_saveData_history(&temp_data,&history_fat_,sizeof(uint16_t),CYWEE_SAVE_DATA_FAT,time);
+#endif
 }
 
 int32_t get_now_hour_data(void*value, uint8_t type)
@@ -771,6 +786,7 @@ int32_t get_now_hour_data(void*value, uint8_t type)
     int16_t data_;
     switch (type)
     {
+#ifdef SUPPORT_BLE_SERVICE
         case CYWEE_SAVE_DATA_STEP:
           
             data= get_step_data()-history_step_;
@@ -801,6 +817,7 @@ int32_t get_now_hour_data(void*value, uint8_t type)
             return 0;
             memcpy_s(value,2,&data_,2);
             return 1;
+#endif
     default:
         break;
     }
index 410bd63..7ae4135 100644 (file)
@@ -3181,7 +3181,7 @@ void hx3695_hrs_ppg_Int_handle(void)
             encoded_hrm[15] = ppg_s_data.green_cur;//绿灯电流\r
             encoded_hrm[16] = ppg_s_data.ir_cur;//红外电流\r
 \r
-#ifdef SUPPORT_BLE_SERVICE\r
+#ifdef SUPPORT_PPG_BLE_SERVICE\r
             if(cm_custom_ble_service_on_flag())\r
               ble_ppgtest_server_send_input_report(encoded_hrm,PPG_DATA_LEN_MAX);\r
 #endif\r
@@ -3627,7 +3627,7 @@ if(hrs_ble_falg)
             \r
             encoded_hrm[15] = cal.R_LED;\r
             encoded_hrm[16] = cal.IR_LED1;\r
-#ifdef SUPPORT_BLE_SERVICE\r
+#ifdef SUPPORT_PPG_BLE_SERVICE\r
             if(cm_custom_ble_service_on_flag())\r
               ble_ppgtest_server_send_input_report(encoded_hrm,PPG_DATA_LEN_MAX);\r
 #endif \r
index 8da126f..4b7f6bc 100644 (file)
@@ -1248,9 +1248,10 @@ static void svr_ble_bt_gatts_service_add_cb(uint8_t server_id, bt_uuid_t *uuid,
 #ifdef FACTORYTEST_SERVICE\r
         || uuid_tmp == BLE_UUID_ATE_FACTORYTEST_SERVICE \r
 #endif\r
-#ifdef SUPPORT_PPG_SERVICE\r
+#ifdef SUPPORT_PPG_BLE_SERVICE\r
         || uuid_tmp == BLE_UUID_PPG_BLE_SERVICE \r
         //|| uuid_tmp == ALIPAYY_SERVICE_ID\r
+#endif\r
 #ifdef SUPPORT_CYWEE_SERVICE\r
         || uuid_tmp == BLE_UUID_CYWEE_REPORT_SERVICE\r
 #endif\r
@@ -1282,7 +1283,7 @@ static void svr_ble_bt_gatts_service_add_cb(uint8_t server_id, bt_uuid_t *uuid,
     bt_uuid_t factory_service_uuid = {0};\r
     bts_data_to_uuid_len2(BLE_UUID_ATE_FACTORYTEST_SERVICE, &factory_service_uuid);\r
 #endif\r
-#ifdef SUPPORT_PPG_SERVICE\r
+#ifdef SUPPORT_PPG_BLE_SERVICE\r
     bt_uuid_t ppg_service_uuid = {0};\r
     bts_data_to_uuid_len2(BLE_UUID_PPG_BLE_SERVICE, &ppg_service_uuid);\r
 #endif\r
@@ -1338,13 +1339,13 @@ static void svr_ble_bt_gatts_service_add_cb(uint8_t server_id, bt_uuid_t *uuid,
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "factorytest service svr_ble_bt_gatts_service_add_cb ret:%d\r\n",ret);\r
     }\r
 #endif\r
-#ifdef SUPPORT_PPG_SERVICE\r
+#ifdef SUPPORT_PPG_BLE_SERVICE\r
     if (ble_gatts_cmp_uuid(uuid, &ppg_service_uuid) == true){\r
         ble_ppgtest_add_characters_and_descriptors(server_id,srv_handle);\r
         ret = gatts_start_service(server_id, srv_handle);\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ppg ble service svr_ble_bt_gatts_service_add_cb ret:%d\r\n",ret);\r
     }\r
-\r
+#endif\r
 #ifdef SUPPORT_CYWEE_SERVICE\r
     if (ble_gatts_cmp_uuid(uuid, &cywee_ble_service_uuid) == true){\r
         ble_cywee_add_characters_and_descriptors(server_id,srv_handle);\r
@@ -1559,7 +1560,7 @@ static void svr_ble_bt_gatts_characteristic_add_cb(uint8_t server_id, bt_uuid_t
     }\r
     #endif \r
 \r
-#ifdef SUPPORT_PPG_SERVICE\r
+#ifdef SUPPORT_PPG_BLE_SERVICE\r
     bt_uuid_t ppgtest_report_uuid = {0};\r
     bts_data_to_uuid_len2(BLE_UUID_PPG_NOTIFY, &ppgtest_report_uuid);\r
     if (ble_gatts_cmp_uuid(uuid, &ppgtest_report_uuid) == true) {\r
@@ -1568,7 +1569,7 @@ static void svr_ble_bt_gatts_characteristic_add_cb(uint8_t server_id, bt_uuid_t
         handle_num++;\r
         ble_ppgtest_store_report_handle(result->value_handle);\r
     }\r
-    \r
+#endif\r
 #ifdef SUPPORT_CYWEE_SERVICE\r
     bt_uuid_t cywee_report_uuid = {0};\r
     bts_data_to_uuid_len2(BLE_UUID_CYWEE_RX, &cywee_report_uuid);\r
@@ -2239,6 +2240,8 @@ static void blesrv_service_check_task(void const *arg)
         //     mail.msg_data[2]);\r
 \r
         #if 1\r
+        if(server_handle == 0)\r
+        {}\r
         // if (server_handle == get_factory_ate_write_handl()) \r
         // {\r
         //     factory_recv_cmd_data(p_msgbuf,msg_len,server_handle);\r
index 2a4cd41..7826623 100644 (file)
@@ -84,8 +84,10 @@ void custom_save_nap_data(void){}
 #include "bleInstruct.h"
 #endif
 
+#ifdef FACTORYTEST_SERVICE
 #include "factorytest_protocol.h"
 #endif
+#endif
 
 #ifdef FD230_650
 #include "mmc5603_hal.h"
index 4975585..3b69b74 100644 (file)
@@ -3,79 +3,79 @@ index e3152c2ca..c1c31962b 100644
 --- a/code/sdk/application/audio/vendor/CMakeLists.txt
 +++ b/code/sdk/application/audio/vendor/CMakeLists.txt
 @@ -39,6 +39,21 @@ set(COMPONENT_INC ${COMPONENT_INC}
- )\r
- endif()\r
- \r
-+if("${CFG_SAP_VENDOR_DRIVER_AW88166_SUPPORT}" STREQUAL "y")\r
-+set(COMPONENT_SRC ${COMPONENT_SRC}\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw88166.c\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx.c\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx_calib.c\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx_device.c\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/product_init_files/aw88166/aw883xx_pid_2066_init.c\r
-+)\r
-+set(COMPONENT_INC ${COMPONENT_INC}\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/product_init_files/aw88166\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/config/aw88166/mono/16bit\r
-+)\r
-+endif()\r
-+\r
- if("${CFG_SAP_VENDOR_DRIVER_ANC_CODEC_SUPPORT}" STREQUAL "y")\r
- set(COMPONENT_SRC ${COMPONENT_SRC}\r
-     ${CMAKE_CURRENT_SOURCE_DIR}/anc_codec/anc_codec.c\r
+ )
+ endif()
+ 
++if("${CFG_SAP_VENDOR_DRIVER_AW88166_SUPPORT}" STREQUAL "y")
++set(COMPONENT_SRC ${COMPONENT_SRC}
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw88166.c
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx.c
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx_calib.c
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx_device.c
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/product_init_files/aw88166/aw883xx_pid_2066_init.c
++)
++set(COMPONENT_INC ${COMPONENT_INC}
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/product_init_files/aw88166
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/config/aw88166/mono/16bit
++)
++endif()
++
+ if("${CFG_SAP_VENDOR_DRIVER_ANC_CODEC_SUPPORT}" STREQUAL "y")
+ set(COMPONENT_SRC ${COMPONENT_SRC}
+     ${CMAKE_CURRENT_SOURCE_DIR}/anc_codec/anc_codec.c
 diff --git a/code/sdk/application/audio/vendor/aw88166/aw88166.c b/code/sdk/application/audio/vendor/aw88166/aw88166.c
 index d25e8db7f..a0f2d29a3 100644
 --- a/code/sdk/application/audio/vendor/aw88166/aw88166.c
 +++ b/code/sdk/application/audio/vendor/aw88166/aw88166.c
 @@ -19,8 +19,8 @@
- \r
- static td_bool g_aw88166_i2c_inited = TD_FALSE;\r
- \r
--#define AW88166_PWR_ON_PIN   S_MGPIO4\r
--#define AW88166_I2C_BUS_ID   I2C_BUS_0\r
-+#define AW88166_PWR_ON_PIN   S_AGPIO_L25\r
-+#define AW88166_I2C_BUS_ID   I2C_BUS_3\r
- #define AW88166_I2C_DEV_ADDR 0x34\r
- \r
- static td_s32 aw_dev0_i2c_write_func(td_u16 dev_addr, td_u8 reg_addr, td_u8 *pdata, td_u16 len)\r
+ 
+ static td_bool g_aw88166_i2c_inited = TD_FALSE;
+ 
+-#define AW88166_PWR_ON_PIN   S_MGPIO4
+-#define AW88166_I2C_BUS_ID   I2C_BUS_0
++#define AW88166_PWR_ON_PIN   S_AGPIO_L25
++#define AW88166_I2C_BUS_ID   I2C_BUS_3
+ #define AW88166_I2C_DEV_ADDR 0x34
+ 
+ static td_s32 aw_dev0_i2c_write_func(td_u16 dev_addr, td_u8 reg_addr, td_u8 *pdata, td_u16 len)
 diff --git a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c
 index a812c9efc..479f285ec 100644
 --- a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c
 +++ b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c
 @@ -28,6 +28,8 @@
- #include "tma525b_drv1.h"\r
- #elif defined(TPTYPE_ZTW523)\r
- #include "ztw523_touch1.h"\r
-+#elif defined(TPTYPE_FT6X46)\r
-+#include "ft6x46_touch1.h"\r
- #else\r
- #include "ztw523_touch1.h"\r
- #endif\r
+ #include "tma525b_drv1.h"
+ #elif defined(TPTYPE_ZTW523)
+ #include "ztw523_touch1.h"
++#elif defined(TPTYPE_FT6X46)
++#include "ft6x46_touch1.h"
+ #else
+ #include "ztw523_touch1.h"
+ #endif
 @@ -40,9 +42,13 @@
-  * define AUDIO_SMARTPA_AW88166 : macro to init smartpa aw88166;\r
-  * define AUDIO_SMARTPA_AW88166_I2S_ID UAPI_SND_OUT_PORT_I2S0 : macro to specify i2s id connecting to smartpa aw88166;\r
-  */\r
-+#if 0\r
- #define AUDIO_SMARTPA_AW88262\r
- #define AUDIO_SMARTPA_AW88262_I2S_ID UAPI_SND_OUT_PORT_I2S2\r
--\r
-+#else\r
-+#define AUDIO_SMARTPA_AW88166\r
-+#define AUDIO_SMARTPA_AW88166_I2S_ID UAPI_SND_OUT_PORT_I2S0\r
-+#endif\r
- #endif /* DSP_EXIST */\r
- #include "panic.h"\r
- #include "board_init.h"\r
+  * define AUDIO_SMARTPA_AW88166 : macro to init smartpa aw88166;
+  * define AUDIO_SMARTPA_AW88166_I2S_ID UAPI_SND_OUT_PORT_I2S0 : macro to specify i2s id connecting to smartpa aw88166;
+  */
++#if 0
+ #define AUDIO_SMARTPA_AW88262
+ #define AUDIO_SMARTPA_AW88262_I2S_ID UAPI_SND_OUT_PORT_I2S2
+-
++#else
++#define AUDIO_SMARTPA_AW88166
++#define AUDIO_SMARTPA_AW88166_I2S_ID UAPI_SND_OUT_PORT_I2S0
++#endif
+ #endif /* DSP_EXIST */
+ #include "panic.h"
+ #include "board_init.h"
 @@ -71,6 +77,8 @@ static void sample_gfx_init(void)
-     tma525b_host_init_sample();\r
- #elif defined(TPTYPE_ZTW523)\r
-     ztw523_host_init_sample();\r
-+#elif defined(TPTYPE_FT6X46)\r
-+    ft6x46_host_init_sample();\r
- #else\r
-     ztw523_host_init_sample();\r
- #endif\r
+     tma525b_host_init_sample();
+ #elif defined(TPTYPE_ZTW523)
+     ztw523_host_init_sample();
++#elif defined(TPTYPE_FT6X46)
++    ft6x46_host_init_sample();
+ #else
+     ztw523_host_init_sample();
+ #endif
 diff --git a/code/sdk/application/wearable/nativeapp/nativeui/rebootdevice/src/RebootPresenter.cpp b/code/sdk/application/wearable/nativeapp/nativeui/rebootdevice/src/RebootPresenter.cpp
 index 7dcdf3238..35ba07c27 100644
 --- a/code/sdk/application/wearable/nativeapp/nativeui/rebootdevice/src/RebootPresenter.cpp
@@ -175,7 +175,7 @@ index eb3d405d1..d3b5782d9 100644
 +#include "cat1_ctl.h"
 +#endif
 +
-+#ifdef ENABLE_CYWEE
++#ifdef SUPPORT_CYWEE_SERVICE
 +extern void cywee_int1_callback(pin_t pin, uintptr_t param);
 +#endif
  /**
@@ -264,9 +264,9 @@ index eb3d405d1..d3b5782d9 100644
 +    { HAL_PIO_FUNC_I2C0_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO12 I2C0 SDA
 +    { HAL_PIO_FUNC_I2C1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO13 I2C1 SCL touch i2c
 +    { HAL_PIO_FUNC_I2C1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO14  I2C1 SDA
-+    { HAL_PIO_FUNC_I2C2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },  // S_MGPIO15 I2C2 SCL Sensor 6Öá Ö¸ÄÏÕë ÐÄÂÊ
++    { HAL_PIO_FUNC_I2C2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },  // S_MGPIO15 I2C2 SCL Sensor 6�� ָ���� ����
 +    { HAL_PIO_FUNC_I2C2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },  // S_MGPIO16 I2C2 SDA Sensor
-+    { HAL_PIO_FUNC_I2C3_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_MGPIO17 i2c3 SCL    smart pa\ ԤÁôÂí´ï¿ØÖÆ \°²ȫоƬ
++    { HAL_PIO_FUNC_I2C3_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_MGPIO17 i2c3 SCL    smart pa\ Ԥ��������� \��ȫоƬ
 +    { HAL_PIO_FUNC_I2C3_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_MGPIO18  I2C3 SDA
      { HAL_PIO_FUNC_UART1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },    // S_MGPIO19 uart1 tx
      { HAL_PIO_FUNC_UART1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE },      // S_MGPIO20 uart1 rx
@@ -345,11 +345,11 @@ index eb3d405d1..d3b5782d9 100644
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_AGPIO_L16   NC
 +    
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },    // S_AGPIO_L17 HX3507_INT   not use
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },    // S_AGPIO_L18  VDDEN  //ÔÝʱÎÞÓ㬲ÉÓÃVDDIO Ä¬ÈÏ¿ªÆô EXt V3.0 EXt V1.8
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE },  // S_AGPIO_L19  G_INT2  //ÔÝʱ²»Óà
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },    // S_AGPIO_L18  VDDEN  //��ʱ���ã�����VDDIO Ĭ�Ͽ��� EXt V3.0 EXt V1.8
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE },  // S_AGPIO_L19  G_INT2  //��ʱ���� 
 +
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L20  0.2C_CHRG
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },    // S_AGPIO_L21  NTC_VDD_ON ¸øµÍ´ò¿ª NTCÉÏÀ­µçԴ
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },    // S_AGPIO_L21  NTC_VDD_ON ���ʹ� NTC������Դ
  #ifdef QSPI_DISPLAY
      { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },    // S_AGPIO_L22 QSPI TE
  #else
@@ -377,32 +377,32 @@ index eb3d405d1..d3b5782d9 100644
 -    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R8
 -    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R9
 -    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R10
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L23 CAT_1_PWR_ON ¿ØÖÆCAT_1¿ª»ú½Å£¬»òÕß¿ØÖÆ CAT1µçÔ´   À­¸ßÓÐЧ
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L23 CAT_1_PWR_ON ����CAT_1�����ţ����߿��� CAT1��Դ   ������Ч
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L24 LCM_EN
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L25  //////////// audio pa reset
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L26 ÐÄÂʸ´λ PPG reset
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L26 ���ʸ�λ PPG reset
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L27    LCM reset
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L28    CAT_1¸´Î» CAT1_RESET_N  À­µÍÓÐЧ
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_AGPIO_L29    charge done info ¼ì²âÊÇ·ñ³äÂúµç
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L30   KP_MKIN1 »½ÐÑ CAT1 £¬Êä³ö
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_AGPIO_L31    KP_MKOUIT1 »½ÐÑ À¶ÑÀ ,ÊäÈë
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L28    CAT_1��λ CAT1_RESET_N  ������Ч
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_AGPIO_L29    charge done info ����Ƿ������
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L30   KP_MKIN1 ���� CAT1 �����
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_AGPIO_L31    KP_MKOUIT1 ���� ���� ,����
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_AGPIO_L32    NC
 +
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R0   PRG_LED_POWER ON  ÐÄÂʵȵçÔ´¿ØÖƽÅ
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R1   SE_REST °²È«Ð¾Æ¬¸´Î»»½ÐѽÅ
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R0   PRG_LED_POWER ON  ���ʵȵ�Դ���ƽ�
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R1   SE_REST ��ȫоƬ��λ���ѽ�
 +  #if VIB_USE_PWM
-+    // { HAL_PIO_FUNC_PWMP1_M2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_NONE, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM Âí´ï¿ØÖƽмæÈÝÔ¤ÁôÂí´ïÇý¶¯¸´Î»½Å
-+    // { HAL_PIO_FUNC_PWMN1_M3, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_NONE, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM Âí´ï¿ØÖƽмæÈÝÔ¤ÁôÂí´ïÇý¶¯¸´Î»½Å
++    // { HAL_PIO_FUNC_PWMP1_M2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_NONE, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM ������ƽ� ����Ԥ������������λ��
++    // { HAL_PIO_FUNC_PWMN1_M3, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_NONE, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM ������ƽ� ����Ԥ������������λ��
 +  #else
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM Âí´ï¿ØÖƽмæÈÝÔ¤ÁôÂí´ïÇý¶¯¸´Î»½Å
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM ������ƽ� ����Ԥ������������λ��
 +  #endif
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE  },   // S_AGPIO_R3     NC   
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE  },    // S_AGPIO_R4     tp reset
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE  },   // S_AGPIO_R5     touch int
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },    // S_AGPIO_R6     PRG_INT ÐÄÂÊÖжÏ
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },    // S_AGPIO_R6     PRG_INT �����ж�
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R7     GYRO_INT2
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R8     GYRO_INT1
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R9     BAT_CHARGE_OFF ¹Øµô³äµç Î¶ȸߵÄʱºò
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R9     BAT_CHARGE_OFF �ص���� �¶ȸߵ�ʱ��
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_AGPIO_R10   Key2 ///////////////////HAL_PIO_IE_ENBALE input enable
  
  #if CORE == APPS
@@ -423,11 +423,11 @@ index eb3d405d1..d3b5782d9 100644
   */
 +
 +
-+//ĬÈÏ¿ªÆôCat1 È»ºóÔÙ¸ù¾ÝÅäÖþö¶¨ÊÇ·ñ¹Ø±Õ. 
-+//ĬÈϲ»¿ªÆô ppg checkidʧ°Ü£¬Ô­Òòδ֪£¬ÔÝʱ¿ª»ú¿ªÆôcat1
++//Ĭ�Ͽ���Cat1 Ȼ���ٸ������þ����Ƿ�ر�. 
++//Ĭ�ϲ����� ppg checkidʧ�ܣ�ԭ��δ֪����ʱ��������cat1
 +#define DEFAULT_POWERON_CAT1 0
 +
-+//ÐèÒªÅäÖÃĬÈÏÊä³öµÄ£¬ÒÔ¼°ÐèÒªÅäÖÃĬÈÏÊäÈëÖжϺ¯ÊýµÄ¡£
++//��Ҫ����Ĭ������ģ��Լ���Ҫ����Ĭ�������жϺ����ġ�
  const hal_gpio_config_t g_gpio_function_config[PIN_MAX_NUMBER] = {
  
 -    // S_AGPIO_L17
@@ -457,16 +457,16 @@ index eb3d405d1..d3b5782d9 100644
 +    // S_AGPIO_L13   SCLK_BT
 +    {   S_AGPIO_L13, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
 +
-+     // S_AGPIO_L26 ÐÄÂʸ´λ PPG reset
++     // S_AGPIO_L26 ���ʸ�λ PPG reset
 +    {   S_AGPIO_L26, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
-+    // S_AGPIO_R0 PRG_LED_POWER ON  ÐÄÂʵȵçÔ´¿ØÖƽÅ
++    // S_AGPIO_R0 PRG_LED_POWER ON  ���ʵȵ�Դ���ƽ�
 +    {   S_AGPIO_R0, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
 +
-+    //S_AGPIO_L21 NTC_VDD_ON ¸øµÍ´ò¿ª NTCÉÏÀ­µçÔ´ ,ĬÈϹرÕ
++    //S_AGPIO_L21 NTC_VDD_ON ���ʹ� NTC������Դ ,Ĭ�Ϲر�
 +    {   S_AGPIO_L21, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
-+#if 1  //ĬÈÏÕý³£³äµç 
++#if 1  //Ĭ��������� 
 +//    #define GPIO_PIN_ENABLE_CHARGE S_AGPIO_R9  //low enable
-+// #define GPIO_PIN_ENABLE_CHARGE_0_2C S_AGPIO_L20   //low 0.2c µÍµçÁ÷³äµç
++// #define GPIO_PIN_ENABLE_CHARGE_0_2C S_AGPIO_L20   //low 0.2c �͵������
 +    {   S_AGPIO_R9, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
 +    {   S_AGPIO_L20, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
 +#else
@@ -474,18 +474,18 @@ index eb3d405d1..d3b5782d9 100644
 +    {   S_AGPIO_L20, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
 +#endif
 +
-+//ĬÈϹرÕÂí´ï
++//Ĭ�Ϲر�����
 +    {   S_AGPIO_R2, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
-+//ĬÈÏ¿ªÆô EXT LDO V3.0 V1.8
++//Ĭ�Ͽ��� EXT LDO V3.0 V1.8
 +    {   S_AGPIO_L18, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
 +
-+#ifdef ENABLE_CYWEE
++#ifdef SUPPORT_CYWEE_SERVICE
 +    /**G sensor G_INT1 S_AGPIO_L11 G_INT2 S_AGPIO_L19*/
 +    //{   S_AGPIO_L11, HAL_GPIO_DIRECTION_INPUT, HAL_GPIO_LEVEL_LOW, GPIO_INTERRUPT_RISING_EDGE, cywee_int1_callback },
 +    {   S_AGPIO_L19, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_DEDGE, cywee_int1_callback },
 +    // {   S_AGPIO_L19, HAL_GPIO_DIRECTION_INPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
 +#endif   
-+    /**S_AGPIO_R1 GPO alipayĬÈÏresetpin*/
++    /**S_AGPIO_R1 GPO alipayĬ��resetpin*/
 +    {   S_AGPIO_R1, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
 +#ifdef SUPPORT_CAT1_SERVICE
 +    /**cat1 ring input key*/
@@ -645,188 +645,188 @@ index 54950d78a..d342a8c8e 100644
 --- a/code/sdk/drivers/drivers/driver/lcd/lcd_config.c
 +++ b/code/sdk/drivers/drivers/driver/lcd/lcd_config.c
 @@ -9,11 +9,30 @@
- #include "common_def.h"\r
- #include "lcd_config.h"\r
- \r
-+#define LCD_EDO_466X466_SCREEN_ID  0x1133\r
- #define LCD_EDO_454X454_SCREEN_ID  0xf00\r
- #define LCD_BOE_454X454_SCREEN_ID  0x500\r
- #define LCD_SH_240X296_SCREEN_ID   0x101\r
- #define LCD_BOE_194X368_SCREEN_ID  0x4a00\r
- \r
-+const combo_dev_cfg_t g_panel_466x466_60_config = {\r
-+    .devno = 0,\r
-+    .lane_id = {0, -1},\r
-+    .out_mode = OUT_MODE_DSI_CMD,\r
-+    .out_format = OUT_FORMAT_RGB_24BIT,\r
-+    .sync_info = {\r
-+        .hsa_pixels   = 10,   // hsa 10 pixels\r
-+        .hbp_pixels   = 10,   // hbp 10 pixels\r
-+        .hact_pixels  = 466,  // hact 466 pixels\r
-+        .hfp_pixels   = 10,   // hfp 10 pixels\r
-+        .vsa_lines    = 4,    // vsa 4 lines\r
-+        .vbp_lines    = 12,   // vbp 12 lines\r
-+        .vact_lines   = 466,  // vact 466 lines\r
-+        .vfp_lines    = 10,   // vfp 10 lines\r
-+    },\r
-+    .phy_data_rate = 480,     // 480Mbps\r
-+    .pixel_clk = 20000,       // 20000KHz\r
-+};\r
- const combo_dev_cfg_t g_panel_454x454_60_config = {\r
-     .devno = 0,\r
-     .lane_id = {0, -1},\r
+ #include "common_def.h"
+ #include "lcd_config.h"
+ 
++#define LCD_EDO_466X466_SCREEN_ID  0x1133
+ #define LCD_EDO_454X454_SCREEN_ID  0xf00
+ #define LCD_BOE_454X454_SCREEN_ID  0x500
+ #define LCD_SH_240X296_SCREEN_ID   0x101
+ #define LCD_BOE_194X368_SCREEN_ID  0x4a00
+ 
++const combo_dev_cfg_t g_panel_466x466_60_config = {
++    .devno = 0,
++    .lane_id = {0, -1},
++    .out_mode = OUT_MODE_DSI_CMD,
++    .out_format = OUT_FORMAT_RGB_24BIT,
++    .sync_info = {
++        .hsa_pixels   = 10,   // hsa 10 pixels
++        .hbp_pixels   = 10,   // hbp 10 pixels
++        .hact_pixels  = 466,  // hact 466 pixels
++        .hfp_pixels   = 10,   // hfp 10 pixels
++        .vsa_lines    = 4,    // vsa 4 lines
++        .vbp_lines    = 12,   // vbp 12 lines
++        .vact_lines   = 466,  // vact 466 lines
++        .vfp_lines    = 10,   // vfp 10 lines
++    },
++    .phy_data_rate = 480,     // 480Mbps
++    .pixel_clk = 20000,       // 20000KHz
++};
+ const combo_dev_cfg_t g_panel_454x454_60_config = {
+     .devno = 0,
+     .lane_id = {0, -1},
 @@ -67,6 +86,14 @@ const lcd_cmd_sequ g_common_cmd_display_off[] = {
-     {1, 1, {0x10}, 120},       /* sleep in */\r
- };\r
- \r
-+/* display off sequence for common lcd */\r
-+const lcd_cmd_sequ g_common_466x466_cmd_display_off[] = {\r
-+    {1, 2, {0xfe, 0x00}, 0},   /* select default cmd page */\r
-+    {1, 1, {0x28}, 0},         /* display off */\r
-+    {1, 1, {0x10}, 120},       /* sleep in */\r
-+    {1, 2, {0x4f, 0x01}, 0},   /* ½ødeepstandby ×´Ì¬ */\r
-+};\r
-+\r
- /* sleep in sequence for common lcd */\r
- const lcd_cmd_sequ g_common_cmd_sleep_in[] = {\r
-     {1, 2, {0xfe, 0x00}, 0},   /* select default cmd page */\r
+     {1, 1, {0x10}, 120},       /* sleep in */
+ };
+ 
++/* display off sequence for common lcd */
++const lcd_cmd_sequ g_common_466x466_cmd_display_off[] = {
++    {1, 2, {0xfe, 0x00}, 0},   /* select default cmd page */
++    {1, 1, {0x28}, 0},         /* display off */
++    {1, 1, {0x10}, 120},       /* sleep in */
++    {1, 2, {0x4f, 0x01}, 0},   /* ��deepstandby ״̬ */
++};
++
+ /* sleep in sequence for common lcd */
+ const lcd_cmd_sequ g_common_cmd_sleep_in[] = {
+     {1, 2, {0xfe, 0x00}, 0},   /* select default cmd page */
 @@ -110,6 +137,19 @@ lcd_cmd_sequ g_common_cmd_brightness[] = {
-     {1, 2, {0xfe, 0x00}, 0},\r
-     {1, 2, {0x51, 0xff}, 0},\r
- };\r
-+const lcd_cmd_sequ g_edo_466x466_screen_init_on[] = {\r
-+    {1, 2, {0xfe, 0x00}, 0}, \r
-+    {1, 2, {0x3a, 0x77}, 0}, \r
-+    {1, 2, {0x35, 0x00}, 0}, \r
-+    {1, 2, {0x53, 0x20}, 0}, \r
-+    // {1, 2, {0x51, 0xff}, 0}, \r
-+    {1, 2, {0x63, 0xff}, 0}, \r
-+    {1, 5, {0x2A, 0x00, 0x06, 0x01, 0xd7}, 0}, \r
-+    {1, 5, {0x2B, 0x00, 0x00, 0x01, 0xd1}, 0}, \r
-+    {1, 1, {0x11}, 120}, \r
-+    {1, 1, {0x29}, 0}, \r
-+};\r
-+\r
- \r
- /* init sequence for EDO 454*454 lcd */\r
- const lcd_cmd_sequ g_edo_454x454_screen_init_on[] = {\r
+     {1, 2, {0xfe, 0x00}, 0},
+     {1, 2, {0x51, 0xff}, 0},
+ };
++const lcd_cmd_sequ g_edo_466x466_screen_init_on[] = {
++    {1, 2, {0xfe, 0x00}, 0}, 
++    {1, 2, {0x3a, 0x77}, 0}, 
++    {1, 2, {0x35, 0x00}, 0}, 
++    {1, 2, {0x53, 0x20}, 0}, 
++    // {1, 2, {0x51, 0xff}, 0}, 
++    {1, 2, {0x63, 0xff}, 0}, 
++    {1, 5, {0x2A, 0x00, 0x06, 0x01, 0xd7}, 0}, 
++    {1, 5, {0x2B, 0x00, 0x00, 0x01, 0xd1}, 0}, 
++    {1, 1, {0x11}, 120}, 
++    {1, 1, {0x29}, 0}, 
++};
++
+ 
+ /* init sequence for EDO 454*454 lcd */
+ const lcd_cmd_sequ g_edo_454x454_screen_init_on[] = {
 @@ -193,6 +233,11 @@ const lcd_cmds_sequ g_display_off_cmds = {
-     .cmd_cnt = array_size(g_common_cmd_display_off),\r
- };\r
- \r
-+const lcd_cmds_sequ g_466x466_display_off_cmds = {\r
-+    .cmd = g_common_466x466_cmd_display_off,\r
-+    .cmd_cnt = array_size(g_common_466x466_cmd_display_off),\r
-+};\r
-+\r
- const lcd_cmds_sequ g_idle_in_cmds = {\r
-     .cmd = g_common_cmd_idle_in,\r
-     .cmd_cnt = array_size(g_common_cmd_idle_in),\r
+     .cmd_cnt = array_size(g_common_cmd_display_off),
+ };
+ 
++const lcd_cmds_sequ g_466x466_display_off_cmds = {
++    .cmd = g_common_466x466_cmd_display_off,
++    .cmd_cnt = array_size(g_common_466x466_cmd_display_off),
++};
++
+ const lcd_cmds_sequ g_idle_in_cmds = {
+     .cmd = g_common_cmd_idle_in,
+     .cmd_cnt = array_size(g_common_cmd_idle_in),
 @@ -218,6 +263,11 @@ const lcd_cmds_sequ g_brightness_cmds = {
-     .cmd_cnt = array_size(g_common_cmd_brightness),\r
- };\r
- \r
-+const lcd_cmds_sequ g_edo_466x466_screen_init_on_cmds = {\r
-+    .cmd = g_edo_466x466_screen_init_on,\r
-+    .cmd_cnt = array_size(g_edo_466x466_screen_init_on),\r
-+};\r
-+\r
- const lcd_cmds_sequ g_edo_454x454_screen_init_on_cmds = {\r
-     .cmd = g_edo_454x454_screen_init_on,\r
-     .cmd_cnt = array_size(g_edo_454x454_screen_init_on),\r
+     .cmd_cnt = array_size(g_common_cmd_brightness),
+ };
+ 
++const lcd_cmds_sequ g_edo_466x466_screen_init_on_cmds = {
++    .cmd = g_edo_466x466_screen_init_on,
++    .cmd_cnt = array_size(g_edo_466x466_screen_init_on),
++};
++
+ const lcd_cmds_sequ g_edo_454x454_screen_init_on_cmds = {
+     .cmd = g_edo_454x454_screen_init_on,
+     .cmd_cnt = array_size(g_edo_454x454_screen_init_on),
 @@ -249,6 +299,25 @@ const lcd_cmds_sequ g_sleep_out_cmds = {
- };\r
- \r
- const lcd_drv_cfg g_lcd_driver_ops[] = {\r
-+    {\r
-+        .bus_type             = BUS_DISPLAY_MIPI,\r
-+        .bus_cfg              = &g_panel_466x466_60_config,\r
-+        .x_start              = 0x6,\r
-+        .y_start              = 0,\r
-+        .fps                  = 60,\r
-+        .lcd_id               = LCD_EDO_466X466_SCREEN_ID,\r
-+        .display_on_cmds      = &g_edo_466x466_screen_init_on_cmds,\r
-+        .display_off_cmds     = &g_466x466_display_off_cmds,\r
-+        .enter_idle_cmds      = &g_idle_in_cmds,\r
-+        .exit_idle_cmds       = &g_idle_out_cmds,\r
-+        .te_on_cmds           = &g_te_on_cmds,\r
-+        .te_off_cmds          = &g_te_off_cmds,\r
-+        .set_brightnes_cmds   = &g_brightness_cmds,\r
-+        .sleep_in_cmds        = &g_sleep_in_cmds,\r
-+        .sleep_out_cmds       = &g_sleep_out_cmds,\r
-+        .lcd_id_info.reg_addr = 0x04,\r
-+        .lcd_id_info.read_len = 3,\r
-+    },\r
-     {\r
-         .bus_type             = BUS_DISPLAY_MIPI,\r
-         .bus_cfg              = &g_panel_454x454_60_config,\r
+ };
+ 
+ const lcd_drv_cfg g_lcd_driver_ops[] = {
++    {
++        .bus_type             = BUS_DISPLAY_MIPI,
++        .bus_cfg              = &g_panel_466x466_60_config,
++        .x_start              = 0x6,
++        .y_start              = 0,
++        .fps                  = 60,
++        .lcd_id               = LCD_EDO_466X466_SCREEN_ID,
++        .display_on_cmds      = &g_edo_466x466_screen_init_on_cmds,
++        .display_off_cmds     = &g_466x466_display_off_cmds,
++        .enter_idle_cmds      = &g_idle_in_cmds,
++        .exit_idle_cmds       = &g_idle_out_cmds,
++        .te_on_cmds           = &g_te_on_cmds,
++        .te_off_cmds          = &g_te_off_cmds,
++        .set_brightnes_cmds   = &g_brightness_cmds,
++        .sleep_in_cmds        = &g_sleep_in_cmds,
++        .sleep_out_cmds       = &g_sleep_out_cmds,
++        .lcd_id_info.reg_addr = 0x04,
++        .lcd_id_info.read_len = 3,
++    },
+     {
+         .bus_type             = BUS_DISPLAY_MIPI,
+         .bus_cfg              = &g_panel_454x454_60_config,
 diff --git a/code/sdk/drivers/drivers/driver/lcd/lcd_private.c b/code/sdk/drivers/drivers/driver/lcd/lcd_private.c
 index 039f45c48..ea251e016 100644
 --- a/code/sdk/drivers/drivers/driver/lcd/lcd_private.c
 +++ b/code/sdk/drivers/drivers/driver/lcd/lcd_private.c
 @@ -12,7 +12,7 @@
- #include "gpio.h"\r
- #include "pinctrl_porting.h"\r
- #include "product.h"\r
--\r
-+#include "pinctrl.h"\r
- static void lcd_drv_power_on(void)\r
- {\r
- #ifndef QSPI_DISPLAY\r
+ #include "gpio.h"
+ #include "pinctrl_porting.h"
+ #include "product.h"
+-
++#include "pinctrl.h"
+ static void lcd_drv_power_on(void)
+ {
+ #ifndef QSPI_DISPLAY
 @@ -27,16 +27,35 @@ static void lcd_drv_power_on(void)
-     uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_HIGH);\r
-     uapi_tcxo_delay_ms(10); /* delay 10 ms */\r
- }\r
--\r
-+#define  USE_OUTPUT_CTL 1\r
- static void lcd_drv_power_off(void)\r
- {\r
-+#if USE_OUTPUT_CTL\r
-+    uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_OUTPUT); \r
-     uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_LOW);\r
--    uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_INPUT);\r
--#ifndef QSPI_DISPLAY\r
-+    #ifndef QSPI_DISPLAY\r
-+    uapi_gpio_set_dir(VCI_LCD_GPIO, GPIO_DIRECTION_OUTPUT);\r
-+    uapi_gpio_set_val(VCI_LCD_GPIO, GPIO_LEVEL_LOW);\r
-+    #endif\r
-+    uapi_tcxo_delay_ms(10); /* delay 10 ms */\r
-+    int resetvalue = uapi_gpio_get_output_val(RESET_LCD_GPIO);\r
-+    int lcd_envalue = uapi_gpio_get_output_val(VCI_LCD_GPIO);\r
-+    printf("Output RESET_LCD_GPIO %d , VCI_LCD_GPIO %d\r\n",resetvalue,lcd_envalue);\r
-+#else\r
-+    uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_LOW);\r
-+    uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_INPUT); //ÉèÖóÉInput£¬ÊÇΪÁ˽â¾ö©µç £¿£¿\r
-+    uapi_pin_set_pull(RESET_LCD_GPIO, PIN_PULL_DOWN);\r
-+    #ifndef QSPI_DISPLAY\r
-     uapi_gpio_set_val(VCI_LCD_GPIO, GPIO_LEVEL_LOW);\r
-     uapi_gpio_set_dir(VCI_LCD_GPIO, GPIO_DIRECTION_INPUT);\r
--#endif\r
-+    uapi_pin_set_pull(VCI_LCD_GPIO, PIN_PULL_DOWN);\r
-+    #endif\r
-     uapi_tcxo_delay_ms(10); /* delay 10 ms */\r
-+    int resetvalue = uapi_gpio_get_val(RESET_LCD_GPIO);\r
-+    int lcd_envalue = uapi_gpio_get_val(VCI_LCD_GPIO);\r
-+    printf("Input RESET_LCD_GPIO %d , VCI_LCD_GPIO %d\r\n",resetvalue,lcd_envalue);\r
-+#endif\r
-+   \r
- }\r
- \r
- static lcd_drv_private g_lcd_private_api = {\r
+     uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_HIGH);
+     uapi_tcxo_delay_ms(10); /* delay 10 ms */
+ }
+-
++#define  USE_OUTPUT_CTL 1
+ static void lcd_drv_power_off(void)
+ {
++#if USE_OUTPUT_CTL
++    uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_OUTPUT); 
+     uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_LOW);
+-    uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_INPUT);
+-#ifndef QSPI_DISPLAY
++    #ifndef QSPI_DISPLAY
++    uapi_gpio_set_dir(VCI_LCD_GPIO, GPIO_DIRECTION_OUTPUT);
++    uapi_gpio_set_val(VCI_LCD_GPIO, GPIO_LEVEL_LOW);
++    #endif
++    uapi_tcxo_delay_ms(10); /* delay 10 ms */
++    int resetvalue = uapi_gpio_get_output_val(RESET_LCD_GPIO);
++    int lcd_envalue = uapi_gpio_get_output_val(VCI_LCD_GPIO);
++    printf("Output RESET_LCD_GPIO %d , VCI_LCD_GPIO %d\r\n",resetvalue,lcd_envalue);
++#else
++    uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_LOW);
++    uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_INPUT); //���ó�Input����Ϊ�˽��©�� ����
++    uapi_pin_set_pull(RESET_LCD_GPIO, PIN_PULL_DOWN);
++    #ifndef QSPI_DISPLAY
+     uapi_gpio_set_val(VCI_LCD_GPIO, GPIO_LEVEL_LOW);
+     uapi_gpio_set_dir(VCI_LCD_GPIO, GPIO_DIRECTION_INPUT);
+-#endif
++    uapi_pin_set_pull(VCI_LCD_GPIO, PIN_PULL_DOWN);
++    #endif
+     uapi_tcxo_delay_ms(10); /* delay 10 ms */
++    int resetvalue = uapi_gpio_get_val(RESET_LCD_GPIO);
++    int lcd_envalue = uapi_gpio_get_val(VCI_LCD_GPIO);
++    printf("Input RESET_LCD_GPIO %d , VCI_LCD_GPIO %d\r\n",resetvalue,lcd_envalue);
++#endif
++   
+ }
+ 
+ static lcd_drv_private g_lcd_private_api = {
 diff --git a/code/sdk/drivers/drivers/driver/lcd/soc_lcd_api.c b/code/sdk/drivers/drivers/driver/lcd/soc_lcd_api.c
 index b535f5555..56f8542af 100644
 --- a/code/sdk/drivers/drivers/driver/lcd/soc_lcd_api.c
 +++ b/code/sdk/drivers/drivers/driver/lcd/soc_lcd_api.c
 @@ -173,7 +173,8 @@ static ext_errno lcd_get_ops(void)
-         }\r
-     }\r
- \r
--    g_lcd_info.brightness = DEFAULT_BRIGHTNESS;\r
-+    if (g_lcd_info.brightness == 0)\r
-+       g_lcd_info.brightness = DEFAULT_BRIGHTNESS;\r
- \r
-     return EXT_ERR_SUCCESS;\r
- fail:\r
+         }
+     }
+ 
+-    g_lcd_info.brightness = DEFAULT_BRIGHTNESS;
++    if (g_lcd_info.brightness == 0)
++       g_lcd_info.brightness = DEFAULT_BRIGHTNESS;
+ 
+     return EXT_ERR_SUCCESS;
+ fail:
 diff --git a/code/sdk/drivers/drivers/driver/touch/CMakeLists.txt b/code/sdk/drivers/drivers/driver/touch/CMakeLists.txt
 index 6782d9cc1..6971096df 100644
 --- a/code/sdk/drivers/drivers/driver/touch/CMakeLists.txt
@@ -862,57 +862,57 @@ index d74083a98..4591a7d7e 100644
 --- a/code/sdk/drivers/drivers/driver/touch/touch_screen_drv.c
 +++ b/code/sdk/drivers/drivers/driver/touch/touch_screen_drv.c
 @@ -18,6 +18,9 @@
- #elif defined(TPTYPE_ZTW523)\r
- #include "ztw523_drv1.h"\r
- #include "ztw523_ctrl.h"\r
-+#elif defined(TPTYPE_FT6X46)\r
-+#include "ft6x46_drv1.h"\r
-+#include "ft6x46_ctrl.h"\r
- #else\r
- #include "ztw523_drv1.h"\r
- #include "ztw523_ctrl.h"\r
+ #elif defined(TPTYPE_ZTW523)
+ #include "ztw523_drv1.h"
+ #include "ztw523_ctrl.h"
++#elif defined(TPTYPE_FT6X46)
++#include "ft6x46_drv1.h"
++#include "ft6x46_ctrl.h"
+ #else
+ #include "ztw523_drv1.h"
+ #include "ztw523_ctrl.h"
 @@ -31,6 +34,10 @@
- #define TOUCH_I2C_BUS            ZTW523_I2C_BUS\r
- #define TOUCH_INT_GPIO           ZTW523_INT_GPIO\r
- #define TOUCH_RESET_GPIO         ZTW523_RESET_GPIO\r
-+#elif defined(TPTYPE_FT6X46)\r
-+#define TOUCH_I2C_BUS            FT6X46_I2C_BUS\r
-+#define TOUCH_INT_GPIO           FT6X46_INT_GPIO\r
-+#define TOUCH_RESET_GPIO         FT6X46_RESET_GPIO\r
- #else\r
- #define TOUCH_I2C_BUS            ZTW523_I2C_BUS\r
- #define TOUCH_INT_GPIO           ZTW523_INT_GPIO\r
+ #define TOUCH_I2C_BUS            ZTW523_I2C_BUS
+ #define TOUCH_INT_GPIO           ZTW523_INT_GPIO
+ #define TOUCH_RESET_GPIO         ZTW523_RESET_GPIO
++#elif defined(TPTYPE_FT6X46)
++#define TOUCH_I2C_BUS            FT6X46_I2C_BUS
++#define TOUCH_INT_GPIO           FT6X46_INT_GPIO
++#define TOUCH_RESET_GPIO         FT6X46_RESET_GPIO
+ #else
+ #define TOUCH_I2C_BUS            ZTW523_I2C_BUS
+ #define TOUCH_INT_GPIO           ZTW523_INT_GPIO
 @@ -427,8 +434,15 @@ void touch_screen_suspend(void)
-     touch_peripheral_api *touch_ptr = touch_screen_get_api();\r
-     ext_errno ret = touch_ptr->touch_sleep();\r
-     if (ret != EXT_ERR_SUCCESS) { tp_err("touch sleep ret=0x%x", ret); }\r
-+#if defined(TPTYPE_FT6X46)\r
-+    if (ft6x46_suspend() == EXT_ERR_SUCCESS){\r
-+        i2c_save_reg(TOUCH_I2C_BUS);\r
-+        uapi_gpio_disable_interrupt(TOUCH_INT_GPIO); // close tp_int gpio interrupt\r
-+    }\r
-+#else\r
-     i2c_save_reg(TOUCH_I2C_BUS);\r
-     uapi_gpio_disable_interrupt(TOUCH_INT_GPIO); // close tp_int gpio interrupt\r
-+#endif\r
- }\r
- \r
- void touch_screen_resume(void)\r
+     touch_peripheral_api *touch_ptr = touch_screen_get_api();
+     ext_errno ret = touch_ptr->touch_sleep();
+     if (ret != EXT_ERR_SUCCESS) { tp_err("touch sleep ret=0x%x", ret); }
++#if defined(TPTYPE_FT6X46)
++    if (ft6x46_suspend() == EXT_ERR_SUCCESS){
++        i2c_save_reg(TOUCH_I2C_BUS);
++        uapi_gpio_disable_interrupt(TOUCH_INT_GPIO); // close tp_int gpio interrupt
++    }
++#else
+     i2c_save_reg(TOUCH_I2C_BUS);
+     uapi_gpio_disable_interrupt(TOUCH_INT_GPIO); // close tp_int gpio interrupt
++#endif
+ }
+ 
+ void touch_screen_resume(void)
 @@ -442,6 +456,8 @@ void touch_screen_resume(void)
-     if (ret != EXT_ERR_SUCCESS) { tp_err("touch resume ret=0x%x", ret); }\r
- #elif defined(TPTYPE_ZTW523)\r
-     ztw523_resume();\r
-+#elif defined(TPTYPE_FT6X46)\r
-+    ft6x46_resume();\r
- #else\r
-     ztw523_resume();\r
- #endif\r
+     if (ret != EXT_ERR_SUCCESS) { tp_err("touch resume ret=0x%x", ret); }
+ #elif defined(TPTYPE_ZTW523)
+     ztw523_resume();
++#elif defined(TPTYPE_FT6X46)
++    ft6x46_resume();
+ #else
+     ztw523_resume();
+ #endif
 @@ -466,6 +482,8 @@ void touch_screen_restart(void)
-     tma525b_resume();\r
- #elif defined(TPTYPE_ZTW523)\r
-     ztw523_resume();\r
-+#elif defined(TPTYPE_FT6X46)\r
-+    ft6x46_resume();\r
- #else\r
-     ztw523_resume();\r
- #endif\r
+     tma525b_resume();
+ #elif defined(TPTYPE_ZTW523)
+     ztw523_resume();
++#elif defined(TPTYPE_FT6X46)
++    ft6x46_resume();
+ #else
+     ztw523_resume();
+ #endif
index 55d6047..620d88d 100644 (file)
@@ -85,152 +85,152 @@ index e3152c2ca..c1c31962b 100644
 --- a/code/sdk/application/audio/vendor/CMakeLists.txt
 +++ b/code/sdk/application/audio/vendor/CMakeLists.txt
 @@ -39,6 +39,21 @@ set(COMPONENT_INC ${COMPONENT_INC}
- )\r
- endif()\r
- \r
-+if("${CFG_SAP_VENDOR_DRIVER_AW88166_SUPPORT}" STREQUAL "y")\r
-+set(COMPONENT_SRC ${COMPONENT_SRC}\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw88166.c\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx.c\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx_calib.c\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx_device.c\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/product_init_files/aw88166/aw883xx_pid_2066_init.c\r
-+)\r
-+set(COMPONENT_INC ${COMPONENT_INC}\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/product_init_files/aw88166\r
-+    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/config/aw88166/mono/16bit\r
-+)\r
-+endif()\r
-+\r
- if("${CFG_SAP_VENDOR_DRIVER_ANC_CODEC_SUPPORT}" STREQUAL "y")\r
- set(COMPONENT_SRC ${COMPONENT_SRC}\r
-     ${CMAKE_CURRENT_SOURCE_DIR}/anc_codec/anc_codec.c\r
+ )
+ endif()
+ 
++if("${CFG_SAP_VENDOR_DRIVER_AW88166_SUPPORT}" STREQUAL "y")
++set(COMPONENT_SRC ${COMPONENT_SRC}
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw88166.c
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx.c
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx_calib.c
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/aw883xx_device.c
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/product_init_files/aw88166/aw883xx_pid_2066_init.c
++)
++set(COMPONENT_INC ${COMPONENT_INC}
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/product_init_files/aw88166
++    ${CMAKE_CURRENT_SOURCE_DIR}/aw88166/config/aw88166/mono/16bit
++)
++endif()
++
+ if("${CFG_SAP_VENDOR_DRIVER_ANC_CODEC_SUPPORT}" STREQUAL "y")
+ set(COMPONENT_SRC ${COMPONENT_SRC}
+     ${CMAKE_CURRENT_SOURCE_DIR}/anc_codec/anc_codec.c
 diff --git a/code/sdk/application/audio/vendor/aw88166/aw88166.c b/code/sdk/application/audio/vendor/aw88166/aw88166.c
 index d25e8db7f..a0f2d29a3 100644
 --- a/code/sdk/application/audio/vendor/aw88166/aw88166.c
 +++ b/code/sdk/application/audio/vendor/aw88166/aw88166.c
 @@ -19,8 +19,8 @@
- \r
- static td_bool g_aw88166_i2c_inited = TD_FALSE;\r
- \r
--#define AW88166_PWR_ON_PIN   S_MGPIO4\r
--#define AW88166_I2C_BUS_ID   I2C_BUS_0\r
-+#define AW88166_PWR_ON_PIN   S_AGPIO_L25\r
-+#define AW88166_I2C_BUS_ID   I2C_BUS_3\r
- #define AW88166_I2C_DEV_ADDR 0x34\r
- \r
- static td_s32 aw_dev0_i2c_write_func(td_u16 dev_addr, td_u8 reg_addr, td_u8 *pdata, td_u16 len)\r
+ 
+ static td_bool g_aw88166_i2c_inited = TD_FALSE;
+ 
+-#define AW88166_PWR_ON_PIN   S_MGPIO4
+-#define AW88166_I2C_BUS_ID   I2C_BUS_0
++#define AW88166_PWR_ON_PIN   S_AGPIO_L25
++#define AW88166_I2C_BUS_ID   I2C_BUS_3
+ #define AW88166_I2C_DEV_ADDR 0x34
+ 
+ static td_s32 aw_dev0_i2c_write_func(td_u16 dev_addr, td_u8 reg_addr, td_u8 *pdata, td_u16 len)
 diff --git a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c
 index 93c7f41df..479f285ec 100644
 --- a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c
 +++ b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c
 @@ -28,6 +28,8 @@
- #include "tma525b_drv1.h"\r
- #elif defined(TPTYPE_ZTW523)\r
- #include "ztw523_touch1.h"\r
-+#elif defined(TPTYPE_FT6X46)\r
-+#include "ft6x46_touch1.h"\r
- #else\r
- #include "ztw523_touch1.h"\r
- #endif\r
+ #include "tma525b_drv1.h"
+ #elif defined(TPTYPE_ZTW523)
+ #include "ztw523_touch1.h"
++#elif defined(TPTYPE_FT6X46)
++#include "ft6x46_touch1.h"
+ #else
+ #include "ztw523_touch1.h"
+ #endif
 @@ -40,9 +42,13 @@
-  * define AUDIO_SMARTPA_AW88166 : macro to init smartpa aw88166;\r
-  * define AUDIO_SMARTPA_AW88166_I2S_ID UAPI_SND_OUT_PORT_I2S0 : macro to specify i2s id connecting to smartpa aw88166;\r
-  */\r
-+#if 0\r
- #define AUDIO_SMARTPA_AW88262\r
- #define AUDIO_SMARTPA_AW88262_I2S_ID UAPI_SND_OUT_PORT_I2S2\r
--\r
-+#else\r
-+#define AUDIO_SMARTPA_AW88166\r
-+#define AUDIO_SMARTPA_AW88166_I2S_ID UAPI_SND_OUT_PORT_I2S0\r
-+#endif\r
- #endif /* DSP_EXIST */\r
- #include "panic.h"\r
- #include "board_init.h"\r
+  * define AUDIO_SMARTPA_AW88166 : macro to init smartpa aw88166;
+  * define AUDIO_SMARTPA_AW88166_I2S_ID UAPI_SND_OUT_PORT_I2S0 : macro to specify i2s id connecting to smartpa aw88166;
+  */
++#if 0
+ #define AUDIO_SMARTPA_AW88262
+ #define AUDIO_SMARTPA_AW88262_I2S_ID UAPI_SND_OUT_PORT_I2S2
+-
++#else
++#define AUDIO_SMARTPA_AW88166
++#define AUDIO_SMARTPA_AW88166_I2S_ID UAPI_SND_OUT_PORT_I2S0
++#endif
+ #endif /* DSP_EXIST */
+ #include "panic.h"
+ #include "board_init.h"
 @@ -51,19 +57,11 @@
- #include "ohosfwk_startup.h"\r
- #endif\r
- #include "clocks_config.h"\r
--#include "board_init.h"\r
--#include "upg.h"\r
--#include "upg_definitions.h"\r
--#include "nv.h"\r
--#include "nv_upg.h"\r
- \r
- #define EMMC_BASE_ADDR              0x52062000\r
- #define TASK_PRIORITY_APP           (osPriority_t)(17)\r
- #define TICK_TEN_MS                 (10U)\r
- #define WAIT_BT_BOOTUP_TIME         200U\r
--#define UPG_HEAD_MAGIC              0x55AA55AA\r
--#define UPG_END_MAGIC               0xAA55AA55\r
--#define UPG_FLAG_MAGIC              0xFFFFFFFF\r
- \r
- static void thread_main(const void *unused);\r
- void bt_acore_btc_ipc_receive_init(void);\r
+ #include "ohosfwk_startup.h"
+ #endif
+ #include "clocks_config.h"
+-#include "board_init.h"
+-#include "upg.h"
+-#include "upg_definitions.h"
+-#include "nv.h"
+-#include "nv_upg.h"
+ 
+ #define EMMC_BASE_ADDR              0x52062000
+ #define TASK_PRIORITY_APP           (osPriority_t)(17)
+ #define TICK_TEN_MS                 (10U)
+ #define WAIT_BT_BOOTUP_TIME         200U
+-#define UPG_HEAD_MAGIC              0x55AA55AA
+-#define UPG_END_MAGIC               0xAA55AA55
+-#define UPG_FLAG_MAGIC              0xFFFFFFFF
+ 
+ static void thread_main(const void *unused);
+ void bt_acore_btc_ipc_receive_init(void);
 @@ -79,6 +77,8 @@ static void sample_gfx_init(void)
-     tma525b_host_init_sample();\r
- #elif defined(TPTYPE_ZTW523)\r
-     ztw523_host_init_sample();\r
-+#elif defined(TPTYPE_FT6X46)\r
-+    ft6x46_host_init_sample();\r
- #else\r
-     ztw523_host_init_sample();\r
- #endif\r
+     tma525b_host_init_sample();
+ #elif defined(TPTYPE_ZTW523)
+     ztw523_host_init_sample();
++#elif defined(TPTYPE_FT6X46)
++    ft6x46_host_init_sample();
+ #else
+     ztw523_host_init_sample();
+ #endif
 @@ -249,40 +249,6 @@ static void force_to_sleep(void)
-     }\r
- }\r
- \r
--#ifdef CONFIG_OTA_UPDATE_SUPPORT\r
--static void upg_check_upgrade(void)\r
--{\r
--    uint32_t fota_address = 0;\r
--    errcode_t ret_val = (errcode_t)upg_get_upgrade_flag_flash_start_addr(&fota_address);\r
--    if (ret_val != ERRCODE_SUCC) {\r
--        return;\r
--    }\r
--\r
--    fota_upgrade_flag_area_t upg_flag_info;\r
--    ret_val = (errcode_t)upg_flash_read(fota_address, sizeof(fota_upgrade_flag_area_t), (uint8_t *)(&upg_flag_info));\r
--    if (ret_val != ERRCODE_SUCC) {\r
--        return;\r
--    }\r
--\r
--    if (!(upg_flag_info.head_magic == UPG_HEAD_MAGIC &&\r
--          upg_flag_info.head_end_magic == UPG_END_MAGIC &&\r
--          upg_flag_info.complete_flag == UPG_FLAG_MAGIC)) {\r
--        /* 不需要升级直接返回 */\r
--        PRINT("No need to upgrade...\r\n");\r
--        return;\r
--    }\r
--\r
--    PRINT("upgrading.......\r\n");\r
--    ret_val = uapi_upg_start();\r
--    if (ret_val != ERRCODE_SUCC) {\r
--        PRINT("upgrade failed, ret = 0x%x\r\n", ret_val);\r
--    } else {\r
--        PRINT("upgrade success\r\n");\r
--    }\r
--    upg_reboot();\r
--}\r
--#endif\r
--\r
- static void thread_main(const void *unused)\r
- {\r
-     PRINT("thread_main start "NEWLINE);\r
+     }
+ }
+ 
+-#ifdef CONFIG_OTA_UPDATE_SUPPORT
+-static void upg_check_upgrade(void)
+-{
+-    uint32_t fota_address = 0;
+-    errcode_t ret_val = (errcode_t)upg_get_upgrade_flag_flash_start_addr(&fota_address);
+-    if (ret_val != ERRCODE_SUCC) {
+-        return;
+-    }
+-
+-    fota_upgrade_flag_area_t upg_flag_info;
+-    ret_val = (errcode_t)upg_flash_read(fota_address, sizeof(fota_upgrade_flag_area_t), (uint8_t *)(&upg_flag_info));
+-    if (ret_val != ERRCODE_SUCC) {
+-        return;
+-    }
+-
+-    if (!(upg_flag_info.head_magic == UPG_HEAD_MAGIC &&
+-          upg_flag_info.head_end_magic == UPG_END_MAGIC &&
+-          upg_flag_info.complete_flag == UPG_FLAG_MAGIC)) {
+-        /* 不需要升级直接返回 */
+-        PRINT("No need to upgrade...\r\n");
+-        return;
+-    }
+-
+-    PRINT("upgrading.......\r\n");
+-    ret_val = uapi_upg_start();
+-    if (ret_val != ERRCODE_SUCC) {
+-        PRINT("upgrade failed, ret = 0x%x\r\n", ret_val);
+-    } else {
+-        PRINT("upgrade success\r\n");
+-    }
+-    upg_reboot();
+-}
+-#endif
+-
+ static void thread_main(const void *unused)
+ {
+     PRINT("thread_main start "NEWLINE);
 @@ -323,11 +289,6 @@ static void thread_main(const void *unused)
- #endif\r
-     board_version_class_print();\r
-     uapi_watchdog_kick();\r
--#ifdef CONFIG_OTA_UPDATE_SUPPORT\r
--    upg_check_upgrade();\r
--#endif\r
--    /* nv init and file system init must be before nv_upg_upgrade_task_process */\r
--    (void)nv_upg_upgrade_task_process();\r
-     thread_init();\r
-     button_app_init();\r
-     uapi_calendar_init();\r
+ #endif
+     board_version_class_print();
+     uapi_watchdog_kick();
+-#ifdef CONFIG_OTA_UPDATE_SUPPORT
+-    upg_check_upgrade();
+-#endif
+-    /* nv init and file system init must be before nv_upg_upgrade_task_process */
+-    (void)nv_upg_upgrade_task_process();
+     thread_init();
+     button_app_init();
+     uapi_calendar_init();
 diff --git a/code/sdk/application/wearable/nativeapp/nativeui/rebootdevice/src/RebootPresenter.cpp b/code/sdk/application/wearable/nativeapp/nativeui/rebootdevice/src/RebootPresenter.cpp
 index 7dcdf3238..35ba07c27 100644
 --- a/code/sdk/application/wearable/nativeapp/nativeui/rebootdevice/src/RebootPresenter.cpp
@@ -324,7 +324,7 @@ index eb3d405d1..a063a8c24 100644
 +#include "cat1_ctl.h"
 +#endif
 +
-+#ifdef ENABLE_CYWEE
++#ifdef SUPPORT_CYWEE_SERVICE
 +extern void cywee_int_callback(pin_t pin, uintptr_t param);
 +#endif
  /**
@@ -432,9 +432,9 @@ index eb3d405d1..a063a8c24 100644
 +    { HAL_PIO_FUNC_I2C0_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO12 I2C0 SDA
 +    { HAL_PIO_FUNC_I2C1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO13 I2C1 SCL touch i2c
 +    { HAL_PIO_FUNC_I2C1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO14  I2C1 SDA
-+    { HAL_PIO_FUNC_I2C2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },  // S_MGPIO15 I2C2 SCL Sensor 6Öá Ö¸ÄÏÕë ÐÄÂÊ
++    { HAL_PIO_FUNC_I2C2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },  // S_MGPIO15 I2C2 SCL Sensor 6�� ָ���� ����
 +    { HAL_PIO_FUNC_I2C2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },  // S_MGPIO16 I2C2 SDA Sensor
-+    { HAL_PIO_FUNC_I2C3_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_MGPIO17 i2c3 SCL    smart pa\ ԤÁôÂí´ï¿ØÖÆ \°²ȫоƬ
++    { HAL_PIO_FUNC_I2C3_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_MGPIO17 i2c3 SCL    smart pa\ Ԥ��������� \��ȫоƬ
 +    { HAL_PIO_FUNC_I2C3_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_MGPIO18  I2C3 SDA
      { HAL_PIO_FUNC_UART1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },    // S_MGPIO19 uart1 tx
      { HAL_PIO_FUNC_UART1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE },      // S_MGPIO20 uart1 rx
@@ -513,12 +513,12 @@ index eb3d405d1..a063a8c24 100644
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_AGPIO_L16   NC
 +    
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },    // S_AGPIO_L17 HX3507_INT   not use
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },    // S_AGPIO_L18  VDDEN  //ÔÝʱÎÞÓ㬲ÉÓÃVDDIO Ä¬ÈÏ¿ªÆô EXt V3.0 EXt V1.8
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE },  // S_AGPIO_L19  G_INT2  //ÔÝʱ²»Óà
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },    // S_AGPIO_L18  VDDEN  //��ʱ���ã�����VDDIO Ĭ�Ͽ��� EXt V3.0 EXt V1.8
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE },  // S_AGPIO_L19  G_INT2  //��ʱ���� 
 +
 +
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L20  0.2C_CHRG
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },    // S_AGPIO_L21  NTC_VDD_ON ¸øµÍ´ò¿ª NTCÉÏÀ­µçԴ
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },    // S_AGPIO_L21  NTC_VDD_ON ���ʹ� NTC������Դ
  #ifdef QSPI_DISPLAY
      { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },    // S_AGPIO_L22 QSPI TE
  #else
@@ -546,32 +546,32 @@ index eb3d405d1..a063a8c24 100644
 -    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R8
 -    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R9
 -    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R10
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L23 CAT_1_PWR_ON ¿ØÖÆCAT_1¿ª»ú½Å£¬»òÕß¿ØÖÆ CAT1µçÔ´   À­¸ßÓÐЧ
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L23 CAT_1_PWR_ON ����CAT_1�����ţ����߿��� CAT1��Դ   ������Ч
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L24 LCM_EN
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L25  //////////// audio pa reset
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L26 ÐÄÂʸ´λ PPG reset
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L26 ���ʸ�λ PPG reset
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L27    LCM reset
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L28    CAT_1¸´Î» CAT1_RESET_N  À­µÍÓÐЧ
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_AGPIO_L29    charge done info ¼ì²âÊÇ·ñ³äÂúµç
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L30   KP_MKIN1 »½ÐÑ CAT1 £¬Êä³ö
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_AGPIO_L31    KP_MKOUIT1 »½ÐÑ À¶ÑÀ ,ÊäÈë
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L28    CAT_1��λ CAT1_RESET_N  ������Ч
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_AGPIO_L29    charge done info ����Ƿ������
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_L30   KP_MKIN1 ���� CAT1 �����
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_AGPIO_L31    KP_MKOUIT1 ���� ���� ,����
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_AGPIO_L32    NC
 +
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R0   PRG_LED_POWER ON  ÐÄÂʵȵçÔ´¿ØÖƽÅ
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R1   SE_REST °²È«Ð¾Æ¬¸´Î»»½ÐѽÅ
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R0   PRG_LED_POWER ON  ���ʵȵ�Դ���ƽ�
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R1   SE_REST ��ȫоƬ��λ���ѽ�
 +//   #if VIB_USE_PWM
-+    // { HAL_PIO_FUNC_PWMP1_M2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM Âí´ï¿ØÖƽмæÈÝÔ¤ÁôÂí´ïÇý¶¯¸´Î»½Å
-+    // { HAL_PIO_FUNC_PWMN1_M3, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM Âí´ï¿ØÖƽмæÈÝÔ¤ÁôÂí´ïÇý¶¯¸´Î»½Å
++    // { HAL_PIO_FUNC_PWMP1_M2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM ������ƽ� ����Ԥ������������λ��
++    // { HAL_PIO_FUNC_PWMN1_M3, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM ������ƽ� ����Ԥ������������λ��
 +//   #else
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM Âí´ï¿ØÖƽмæÈÝÔ¤ÁôÂí´ïÇý¶¯¸´Î»½Å
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_AGPIO_R2     VIBR_PWM ������ƽ� ����Ԥ������������λ��
 +//   #endif
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE  },   // S_AGPIO_R3     NC   
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE  },    // S_AGPIO_R4     tp reset
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE  },   // S_AGPIO_R5     touch int
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },    // S_AGPIO_R6     PRG_INT ÐÄÂÊÖжÏ
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },    // S_AGPIO_R6     PRG_INT �����ж�
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R7     GYRO_INT2
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R8     GYRO_INT1
-+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R9     BAT_CHARGE_OFF ¹Øµô³äµç Î¶ȸߵÄʱºò
++    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE },   // S_AGPIO_R9     BAT_CHARGE_OFF �ص���� �¶ȸߵ�ʱ��
 +    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE },   // S_AGPIO_R10   Key2 ///////////////////HAL_PIO_IE_ENBALE input enable
  
  #if CORE == APPS
@@ -592,11 +592,11 @@ index eb3d405d1..a063a8c24 100644
   */
 +
 +
-+//ĬÈÏ¿ªÆôCat1 È»ºóÔÙ¸ù¾ÝÅäÖþö¶¨ÊÇ·ñ¹Ø±Õ. 
-+//ĬÈϲ»¿ªÆô ppg checkidʧ°Ü£¬Ô­Òòδ֪£¬ÔÝʱ¿ª»ú¿ªÆôcat1
++//Ĭ�Ͽ���Cat1 Ȼ���ٸ������þ����Ƿ�ر�. 
++//Ĭ�ϲ����� ppg checkidʧ�ܣ�ԭ��δ֪����ʱ��������cat1
 +#define DEFAULT_POWERON_CAT1 0
 +
-+//ÐèÒªÅäÖÃĬÈÏÊä³öµÄ£¬ÒÔ¼°ÐèÒªÅäÖÃĬÈÏÊäÈëÖжϺ¯ÊýµÄ¡£
++//��Ҫ����Ĭ������ģ��Լ���Ҫ����Ĭ�������жϺ����ġ�
  const hal_gpio_config_t g_gpio_function_config[PIN_MAX_NUMBER] = {
  
 -    // S_AGPIO_L17
@@ -626,16 +626,16 @@ index eb3d405d1..a063a8c24 100644
 +    // S_AGPIO_L13   SCLK_BT
 +    {   S_AGPIO_L13, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
 +
-+     // S_AGPIO_L26 ÐÄÂʸ´λ PPG reset
++     // S_AGPIO_L26 ���ʸ�λ PPG reset
 +    {   S_AGPIO_L26, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
-+    // S_AGPIO_R0 PRG_LED_POWER ON  ÐÄÂʵȵçÔ´¿ØÖƽÅ
++    // S_AGPIO_R0 PRG_LED_POWER ON  ���ʵȵ�Դ���ƽ�
 +    {   S_AGPIO_R0, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
 +
-+    //S_AGPIO_L21 NTC_VDD_ON ¸øµÍ´ò¿ª NTCÉÏÀ­µçÔ´ ,ĬÈϹرÕ
++    //S_AGPIO_L21 NTC_VDD_ON ���ʹ� NTC������Դ ,Ĭ�Ϲر�
 +    {   S_AGPIO_L21, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
-+#if 1  //ĬÈÏÕý³£³äµç 
++#if 1  //Ĭ��������� 
 +//    #define GPIO_PIN_ENABLE_CHARGE S_AGPIO_R9  //low enable
-+// #define GPIO_PIN_ENABLE_CHARGE_0_2C S_AGPIO_L20   //low 0.2c µÍµçÁ÷³äµç
++// #define GPIO_PIN_ENABLE_CHARGE_0_2C S_AGPIO_L20   //low 0.2c �͵������
 +    {   S_AGPIO_R9, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
 +    {   S_AGPIO_L20, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
 +#else
@@ -643,17 +643,17 @@ index eb3d405d1..a063a8c24 100644
 +    {   S_AGPIO_L20, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
 +#endif
 +
-+//ĬÈϹرÕÂí´ï
++//Ĭ�Ϲر�����
 +    {   S_AGPIO_R2, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
-+//ĬÈÏ¿ªÆô EXT LDO V3.0 V1.8
++//Ĭ�Ͽ��� EXT LDO V3.0 V1.8
 +    {   S_AGPIO_L18, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
 +
-+#ifdef ENABLE_CYWEE
-+    /**G sensor G_INT1 S_AGPIO_L11 G_INT2 S_AGPIO_L19   ²ÉÓÃtimer Ê±ÕâЩÖжÏÒªÆÁ±Î*/
++#ifdef SUPPORT_CYWEE_SERVICE
++    /**G sensor G_INT1 S_AGPIO_L11 G_INT2 S_AGPIO_L19   ����timer ʱ��Щ�ж�Ҫ����*/
 +    {   S_AGPIO_L11, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_RISING_EDGE, cywee_int_callback },
 +    //{   S_AGPIO_L19, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_DEDGE, cywee_int_callback },
 +#endif   
-+    /**S_AGPIO_R1 GPO alipayĬÈÏresetpin*/
++    /**S_AGPIO_R1 GPO alipayĬ��resetpin*/
 +    {   S_AGPIO_R1, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
 +#ifdef SUPPORT_CAT1_SERVICE
 +    /**cat1 ring input key*/
@@ -668,14 +668,14 @@ index 18bf0369c..925e372f9 100644
 --- a/code/sdk/drivers/boards/brandy_evb/memory_config/include/memory_config_common.h
 +++ b/code/sdk/drivers/boards/brandy_evb/memory_config/include/memory_config_common.h
 @@ -157,7 +157,7 @@
-  */\r
- \r
- #define FLASH_START     0x70000000\r
--#define FLASH_LENGTH    0x800000\r
-+#define FLASH_LENGTH    0x1000000   //8MB 0x800000, 16MB 0x1000000\r
- #define FLASH_MAX_END   (FLASH_START + FLASH_LENGTH)\r
- \r
- #define FLASH_PAGE_SIZE 4096\r
+  */
+ 
+ #define FLASH_START     0x70000000
+-#define FLASH_LENGTH    0x800000
++#define FLASH_LENGTH    0x1000000   //8MB 0x800000, 16MB 0x1000000
+ #define FLASH_MAX_END   (FLASH_START + FLASH_LENGTH)
+ 
+ #define FLASH_PAGE_SIZE 4096
 diff --git a/code/sdk/drivers/boards/brandy_evb/product/product_evb4_standard.h b/code/sdk/drivers/boards/brandy_evb/product/product_evb4_standard.h
 index 8eefb6bd2..24d6e2bc3 100644
 --- a/code/sdk/drivers/boards/brandy_evb/product/product_evb4_standard.h
@@ -844,189 +844,189 @@ index 54950d78a..7b6075f4f 100644
 --- a/code/sdk/drivers/drivers/driver/lcd/lcd_config.c
 +++ b/code/sdk/drivers/drivers/driver/lcd/lcd_config.c
 @@ -9,11 +9,30 @@
- #include "common_def.h"\r
- #include "lcd_config.h"\r
- \r
-+#define LCD_EDO_466X466_SCREEN_ID  0x1133\r
- #define LCD_EDO_454X454_SCREEN_ID  0xf00\r
- #define LCD_BOE_454X454_SCREEN_ID  0x500\r
- #define LCD_SH_240X296_SCREEN_ID   0x101\r
- #define LCD_BOE_194X368_SCREEN_ID  0x4a00\r
- \r
-+const combo_dev_cfg_t g_panel_466x466_60_config = {\r
-+    .devno = 0,\r
-+    .lane_id = {0, -1},\r
-+    .out_mode = OUT_MODE_DSI_CMD,\r
-+    .out_format = OUT_FORMAT_RGB_24BIT,\r
-+    .sync_info = {\r
-+        .hsa_pixels   = 10,   // hsa 10 pixels\r
-+        .hbp_pixels   = 10,   // hbp 10 pixels\r
-+        .hact_pixels  = 466,  // hact 466 pixels\r
-+        .hfp_pixels   = 10,   // hfp 10 pixels\r
-+        .vsa_lines    = 4,    // vsa 4 lines\r
-+        .vbp_lines    = 12,   // vbp 12 lines\r
-+        .vact_lines   = 466,  // vact 466 lines\r
-+        .vfp_lines    = 10,   // vfp 10 lines\r
-+    },\r
-+    .phy_data_rate = 480,     // 480Mbps\r
-+    .pixel_clk = 20000,       // 20000KHz\r
-+};\r
- const combo_dev_cfg_t g_panel_454x454_60_config = {\r
-     .devno = 0,\r
-     .lane_id = {0, -1},\r
+ #include "common_def.h"
+ #include "lcd_config.h"
+ 
++#define LCD_EDO_466X466_SCREEN_ID  0x1133
+ #define LCD_EDO_454X454_SCREEN_ID  0xf00
+ #define LCD_BOE_454X454_SCREEN_ID  0x500
+ #define LCD_SH_240X296_SCREEN_ID   0x101
+ #define LCD_BOE_194X368_SCREEN_ID  0x4a00
+ 
++const combo_dev_cfg_t g_panel_466x466_60_config = {
++    .devno = 0,
++    .lane_id = {0, -1},
++    .out_mode = OUT_MODE_DSI_CMD,
++    .out_format = OUT_FORMAT_RGB_24BIT,
++    .sync_info = {
++        .hsa_pixels   = 10,   // hsa 10 pixels
++        .hbp_pixels   = 10,   // hbp 10 pixels
++        .hact_pixels  = 466,  // hact 466 pixels
++        .hfp_pixels   = 10,   // hfp 10 pixels
++        .vsa_lines    = 4,    // vsa 4 lines
++        .vbp_lines    = 12,   // vbp 12 lines
++        .vact_lines   = 466,  // vact 466 lines
++        .vfp_lines    = 10,   // vfp 10 lines
++    },
++    .phy_data_rate = 480,     // 480Mbps
++    .pixel_clk = 20000,       // 20000KHz
++};
+ const combo_dev_cfg_t g_panel_454x454_60_config = {
+     .devno = 0,
+     .lane_id = {0, -1},
 @@ -67,6 +86,14 @@ const lcd_cmd_sequ g_common_cmd_display_off[] = {
-     {1, 1, {0x10}, 120},       /* sleep in */\r
- };\r
- \r
-+/* display off sequence for common lcd */\r
-+const lcd_cmd_sequ g_common_466x466_cmd_display_off[] = {\r
-+    {1, 2, {0xfe, 0x00}, 0},   /* select default cmd page */\r
-+    {1, 1, {0x28}, 0},         /* display off */\r
-+    {1, 1, {0x10}, 120},       /* sleep in */\r
-+    {1, 2, {0x4f, 0x01}, 0},   /* 进deepstandby 状态 */\r
-+};\r
-+\r
- /* sleep in sequence for common lcd */\r
- const lcd_cmd_sequ g_common_cmd_sleep_in[] = {\r
-     {1, 2, {0xfe, 0x00}, 0},   /* select default cmd page */\r
+     {1, 1, {0x10}, 120},       /* sleep in */
+ };
+ 
++/* display off sequence for common lcd */
++const lcd_cmd_sequ g_common_466x466_cmd_display_off[] = {
++    {1, 2, {0xfe, 0x00}, 0},   /* select default cmd page */
++    {1, 1, {0x28}, 0},         /* display off */
++    {1, 1, {0x10}, 120},       /* sleep in */
++    {1, 2, {0x4f, 0x01}, 0},   /* 进deepstandby 状态 */
++};
++
+ /* sleep in sequence for common lcd */
+ const lcd_cmd_sequ g_common_cmd_sleep_in[] = {
+     {1, 2, {0xfe, 0x00}, 0},   /* select default cmd page */
 @@ -110,6 +137,20 @@ lcd_cmd_sequ g_common_cmd_brightness[] = {
-     {1, 2, {0xfe, 0x00}, 0},\r
-     {1, 2, {0x51, 0xff}, 0},\r
- };\r
-+const lcd_cmd_sequ g_edo_466x466_screen_init_on[] = {\r
-+    {1, 2, {0xfe, 0x00}, 0}, \r
-+    {1, 2, {0x3a, 0x77}, 0}, \r
-+    {1, 2, {0x35, 0x00}, 0}, \r
-+    {1, 2, {0x53, 0x20}, 0}, \r
-+    // {1, 2, {0x51, 0xff}, 0}, \r
-+    {1, 2, {0x63, 0xff}, 0}, \r
-+    {1, 5, {0x2A, 0x00, 0x06, 0x01, 0xd7}, 0}, \r
-+    {1, 5, {0x2B, 0x00, 0x00, 0x01, 0xd1}, 0}, \r
-+    {1, 3, {0x44, 0x01, 0xc5}, 0},\r
-+    {1, 1, {0x11}, 120}, \r
-+    {1, 1, {0x29}, 0}, \r
-+};\r
-+\r
- \r
- /* init sequence for EDO 454*454 lcd */\r
- const lcd_cmd_sequ g_edo_454x454_screen_init_on[] = {\r
+     {1, 2, {0xfe, 0x00}, 0},
+     {1, 2, {0x51, 0xff}, 0},
+ };
++const lcd_cmd_sequ g_edo_466x466_screen_init_on[] = {
++    {1, 2, {0xfe, 0x00}, 0}, 
++    {1, 2, {0x3a, 0x77}, 0}, 
++    {1, 2, {0x35, 0x00}, 0}, 
++    {1, 2, {0x53, 0x20}, 0}, 
++    // {1, 2, {0x51, 0xff}, 0}, 
++    {1, 2, {0x63, 0xff}, 0}, 
++    {1, 5, {0x2A, 0x00, 0x06, 0x01, 0xd7}, 0}, 
++    {1, 5, {0x2B, 0x00, 0x00, 0x01, 0xd1}, 0}, 
++    {1, 3, {0x44, 0x01, 0xc5}, 0},
++    {1, 1, {0x11}, 120}, 
++    {1, 1, {0x29}, 0}, 
++};
++
+ 
+ /* init sequence for EDO 454*454 lcd */
+ const lcd_cmd_sequ g_edo_454x454_screen_init_on[] = {
 @@ -193,6 +234,11 @@ const lcd_cmds_sequ g_display_off_cmds = {
-     .cmd_cnt = array_size(g_common_cmd_display_off),\r
- };\r
- \r
-+const lcd_cmds_sequ g_466x466_display_off_cmds = {\r
-+    .cmd = g_common_466x466_cmd_display_off,\r
-+    .cmd_cnt = array_size(g_common_466x466_cmd_display_off),\r
-+};\r
-+\r
- const lcd_cmds_sequ g_idle_in_cmds = {\r
-     .cmd = g_common_cmd_idle_in,\r
-     .cmd_cnt = array_size(g_common_cmd_idle_in),\r
+     .cmd_cnt = array_size(g_common_cmd_display_off),
+ };
+ 
++const lcd_cmds_sequ g_466x466_display_off_cmds = {
++    .cmd = g_common_466x466_cmd_display_off,
++    .cmd_cnt = array_size(g_common_466x466_cmd_display_off),
++};
++
+ const lcd_cmds_sequ g_idle_in_cmds = {
+     .cmd = g_common_cmd_idle_in,
+     .cmd_cnt = array_size(g_common_cmd_idle_in),
 @@ -218,6 +264,11 @@ const lcd_cmds_sequ g_brightness_cmds = {
-     .cmd_cnt = array_size(g_common_cmd_brightness),\r
- };\r
- \r
-+const lcd_cmds_sequ g_edo_466x466_screen_init_on_cmds = {\r
-+    .cmd = g_edo_466x466_screen_init_on,\r
-+    .cmd_cnt = array_size(g_edo_466x466_screen_init_on),\r
-+};\r
-+\r
- const lcd_cmds_sequ g_edo_454x454_screen_init_on_cmds = {\r
-     .cmd = g_edo_454x454_screen_init_on,\r
-     .cmd_cnt = array_size(g_edo_454x454_screen_init_on),\r
+     .cmd_cnt = array_size(g_common_cmd_brightness),
+ };
+ 
++const lcd_cmds_sequ g_edo_466x466_screen_init_on_cmds = {
++    .cmd = g_edo_466x466_screen_init_on,
++    .cmd_cnt = array_size(g_edo_466x466_screen_init_on),
++};
++
+ const lcd_cmds_sequ g_edo_454x454_screen_init_on_cmds = {
+     .cmd = g_edo_454x454_screen_init_on,
+     .cmd_cnt = array_size(g_edo_454x454_screen_init_on),
 @@ -249,6 +300,25 @@ const lcd_cmds_sequ g_sleep_out_cmds = {
- };\r
- \r
- const lcd_drv_cfg g_lcd_driver_ops[] = {\r
-+    {\r
-+        .bus_type             = BUS_DISPLAY_MIPI,\r
-+        .bus_cfg              = &g_panel_466x466_60_config,\r
-+        .x_start              = 0x6,\r
-+        .y_start              = 0,\r
-+        .fps                  = 60,\r
-+        .lcd_id               = LCD_EDO_466X466_SCREEN_ID,\r
-+        .display_on_cmds      = &g_edo_466x466_screen_init_on_cmds,\r
-+        .display_off_cmds     = &g_466x466_display_off_cmds,\r
-+        .enter_idle_cmds      = &g_idle_in_cmds,\r
-+        .exit_idle_cmds       = &g_idle_out_cmds,\r
-+        .te_on_cmds           = &g_te_on_cmds,\r
-+        .te_off_cmds          = &g_te_off_cmds,\r
-+        .set_brightnes_cmds   = &g_brightness_cmds,\r
-+        .sleep_in_cmds        = &g_sleep_in_cmds,\r
-+        .sleep_out_cmds       = &g_sleep_out_cmds,\r
-+        .lcd_id_info.reg_addr = 0x04,\r
-+        .lcd_id_info.read_len = 3,\r
-+    },\r
-     {\r
-         .bus_type             = BUS_DISPLAY_MIPI,\r
-         .bus_cfg              = &g_panel_454x454_60_config,\r
+ };
+ 
+ const lcd_drv_cfg g_lcd_driver_ops[] = {
++    {
++        .bus_type             = BUS_DISPLAY_MIPI,
++        .bus_cfg              = &g_panel_466x466_60_config,
++        .x_start              = 0x6,
++        .y_start              = 0,
++        .fps                  = 60,
++        .lcd_id               = LCD_EDO_466X466_SCREEN_ID,
++        .display_on_cmds      = &g_edo_466x466_screen_init_on_cmds,
++        .display_off_cmds     = &g_466x466_display_off_cmds,
++        .enter_idle_cmds      = &g_idle_in_cmds,
++        .exit_idle_cmds       = &g_idle_out_cmds,
++        .te_on_cmds           = &g_te_on_cmds,
++        .te_off_cmds          = &g_te_off_cmds,
++        .set_brightnes_cmds   = &g_brightness_cmds,
++        .sleep_in_cmds        = &g_sleep_in_cmds,
++        .sleep_out_cmds       = &g_sleep_out_cmds,
++        .lcd_id_info.reg_addr = 0x04,
++        .lcd_id_info.read_len = 3,
++    },
+     {
+         .bus_type             = BUS_DISPLAY_MIPI,
+         .bus_cfg              = &g_panel_454x454_60_config,
 diff --git a/code/sdk/drivers/drivers/driver/lcd/lcd_private.c b/code/sdk/drivers/drivers/driver/lcd/lcd_private.c
 index 039f45c48..064395295 100644
 --- a/code/sdk/drivers/drivers/driver/lcd/lcd_private.c
 +++ b/code/sdk/drivers/drivers/driver/lcd/lcd_private.c
 @@ -12,7 +12,7 @@
- #include "gpio.h"\r
- #include "pinctrl_porting.h"\r
- #include "product.h"\r
--\r
-+#include "pinctrl.h"\r
- static void lcd_drv_power_on(void)\r
- {\r
- #ifndef QSPI_DISPLAY\r
+ #include "gpio.h"
+ #include "pinctrl_porting.h"
+ #include "product.h"
+-
++#include "pinctrl.h"
+ static void lcd_drv_power_on(void)
+ {
+ #ifndef QSPI_DISPLAY
 @@ -27,16 +27,35 @@ static void lcd_drv_power_on(void)
-     uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_HIGH);\r
-     uapi_tcxo_delay_ms(10); /* delay 10 ms */\r
- }\r
--\r
-+#define  USE_OUTPUT_CTL 1\r
- static void lcd_drv_power_off(void)\r
- {\r
-+#if USE_OUTPUT_CTL\r
-+    //uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_OUTPUT); \r
-+    //uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_LOW);\r
-+    #ifndef QSPI_DISPLAY\r
-+    uapi_gpio_set_dir(VCI_LCD_GPIO, GPIO_DIRECTION_OUTPUT);\r
-+    uapi_gpio_set_val(VCI_LCD_GPIO, GPIO_LEVEL_LOW);\r
-+    #endif\r
-+    uapi_tcxo_delay_ms(10); /* delay 10 ms */\r
-+    int resetvalue = uapi_gpio_get_output_val(RESET_LCD_GPIO);\r
-+    int lcd_envalue = uapi_gpio_get_output_val(VCI_LCD_GPIO);\r
-+    printf("Output RESET_LCD_GPIO %d , VCI_LCD_GPIO %d\r\n",resetvalue,lcd_envalue);\r
-+#else\r
-     uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_LOW);\r
--    uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_INPUT);\r
--#ifndef QSPI_DISPLAY\r
-+    uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_INPUT); //ÉèÖóÉInput£¬ÊÇΪÁ˽â¾ö©µç £¿£¿\r
-+    uapi_pin_set_pull(RESET_LCD_GPIO, PIN_PULL_DOWN);\r
-+    #ifndef QSPI_DISPLAY\r
-     uapi_gpio_set_val(VCI_LCD_GPIO, GPIO_LEVEL_LOW);\r
-     uapi_gpio_set_dir(VCI_LCD_GPIO, GPIO_DIRECTION_INPUT);\r
--#endif\r
-+    uapi_pin_set_pull(VCI_LCD_GPIO, PIN_PULL_DOWN);\r
-+    #endif\r
-     uapi_tcxo_delay_ms(10); /* delay 10 ms */\r
-+    int resetvalue = uapi_gpio_get_val(RESET_LCD_GPIO);\r
-+    int lcd_envalue = uapi_gpio_get_val(VCI_LCD_GPIO);\r
-+    printf("Input RESET_LCD_GPIO %d , VCI_LCD_GPIO %d\r\n",resetvalue,lcd_envalue);\r
-+#endif\r
-+   \r
- }\r
- \r
- static lcd_drv_private g_lcd_private_api = {\r
+     uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_HIGH);
+     uapi_tcxo_delay_ms(10); /* delay 10 ms */
+ }
+-
++#define  USE_OUTPUT_CTL 1
+ static void lcd_drv_power_off(void)
+ {
++#if USE_OUTPUT_CTL
++    //uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_OUTPUT); 
++    //uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_LOW);
++    #ifndef QSPI_DISPLAY
++    uapi_gpio_set_dir(VCI_LCD_GPIO, GPIO_DIRECTION_OUTPUT);
++    uapi_gpio_set_val(VCI_LCD_GPIO, GPIO_LEVEL_LOW);
++    #endif
++    uapi_tcxo_delay_ms(10); /* delay 10 ms */
++    int resetvalue = uapi_gpio_get_output_val(RESET_LCD_GPIO);
++    int lcd_envalue = uapi_gpio_get_output_val(VCI_LCD_GPIO);
++    printf("Output RESET_LCD_GPIO %d , VCI_LCD_GPIO %d\r\n",resetvalue,lcd_envalue);
++#else
+     uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_LOW);
+-    uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_INPUT);
+-#ifndef QSPI_DISPLAY
++    uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_INPUT); //���ó�Input����Ϊ�˽��©�� ����
++    uapi_pin_set_pull(RESET_LCD_GPIO, PIN_PULL_DOWN);
++    #ifndef QSPI_DISPLAY
+     uapi_gpio_set_val(VCI_LCD_GPIO, GPIO_LEVEL_LOW);
+     uapi_gpio_set_dir(VCI_LCD_GPIO, GPIO_DIRECTION_INPUT);
+-#endif
++    uapi_pin_set_pull(VCI_LCD_GPIO, PIN_PULL_DOWN);
++    #endif
+     uapi_tcxo_delay_ms(10); /* delay 10 ms */
++    int resetvalue = uapi_gpio_get_val(RESET_LCD_GPIO);
++    int lcd_envalue = uapi_gpio_get_val(VCI_LCD_GPIO);
++    printf("Input RESET_LCD_GPIO %d , VCI_LCD_GPIO %d\r\n",resetvalue,lcd_envalue);
++#endif
++   
+ }
+ 
+ static lcd_drv_private g_lcd_private_api = {
 diff --git a/code/sdk/drivers/drivers/driver/lcd/soc_lcd_api.c b/code/sdk/drivers/drivers/driver/lcd/soc_lcd_api.c
 index b535f5555..56f8542af 100644
 --- a/code/sdk/drivers/drivers/driver/lcd/soc_lcd_api.c
 +++ b/code/sdk/drivers/drivers/driver/lcd/soc_lcd_api.c
 @@ -173,7 +173,8 @@ static ext_errno lcd_get_ops(void)
-         }\r
-     }\r
- \r
--    g_lcd_info.brightness = DEFAULT_BRIGHTNESS;\r
-+    if (g_lcd_info.brightness == 0)\r
-+       g_lcd_info.brightness = DEFAULT_BRIGHTNESS;\r
- \r
-     return EXT_ERR_SUCCESS;\r
- fail:\r
+         }
+     }
+ 
+-    g_lcd_info.brightness = DEFAULT_BRIGHTNESS;
++    if (g_lcd_info.brightness == 0)
++       g_lcd_info.brightness = DEFAULT_BRIGHTNESS;
+ 
+     return EXT_ERR_SUCCESS;
+ fail:
 diff --git a/code/sdk/drivers/drivers/driver/touch/CMakeLists.txt b/code/sdk/drivers/drivers/driver/touch/CMakeLists.txt
 index 6782d9cc1..6971096df 100644
 --- a/code/sdk/drivers/drivers/driver/touch/CMakeLists.txt
@@ -1062,74 +1062,74 @@ index e729a5a34..4591a7d7e 100644
 --- a/code/sdk/drivers/drivers/driver/touch/touch_screen_drv.c
 +++ b/code/sdk/drivers/drivers/driver/touch/touch_screen_drv.c
 @@ -18,6 +18,9 @@
- #elif defined(TPTYPE_ZTW523)\r
- #include "ztw523_drv1.h"\r
- #include "ztw523_ctrl.h"\r
-+#elif defined(TPTYPE_FT6X46)\r
-+#include "ft6x46_drv1.h"\r
-+#include "ft6x46_ctrl.h"\r
- #else\r
- #include "ztw523_drv1.h"\r
- #include "ztw523_ctrl.h"\r
+ #elif defined(TPTYPE_ZTW523)
+ #include "ztw523_drv1.h"
+ #include "ztw523_ctrl.h"
++#elif defined(TPTYPE_FT6X46)
++#include "ft6x46_drv1.h"
++#include "ft6x46_ctrl.h"
+ #else
+ #include "ztw523_drv1.h"
+ #include "ztw523_ctrl.h"
 @@ -31,6 +34,10 @@
- #define TOUCH_I2C_BUS            ZTW523_I2C_BUS\r
- #define TOUCH_INT_GPIO           ZTW523_INT_GPIO\r
- #define TOUCH_RESET_GPIO         ZTW523_RESET_GPIO\r
-+#elif defined(TPTYPE_FT6X46)\r
-+#define TOUCH_I2C_BUS            FT6X46_I2C_BUS\r
-+#define TOUCH_INT_GPIO           FT6X46_INT_GPIO\r
-+#define TOUCH_RESET_GPIO         FT6X46_RESET_GPIO\r
- #else\r
- #define TOUCH_I2C_BUS            ZTW523_I2C_BUS\r
- #define TOUCH_INT_GPIO           ZTW523_INT_GPIO\r
+ #define TOUCH_I2C_BUS            ZTW523_I2C_BUS
+ #define TOUCH_INT_GPIO           ZTW523_INT_GPIO
+ #define TOUCH_RESET_GPIO         ZTW523_RESET_GPIO
++#elif defined(TPTYPE_FT6X46)
++#define TOUCH_I2C_BUS            FT6X46_I2C_BUS
++#define TOUCH_INT_GPIO           FT6X46_INT_GPIO
++#define TOUCH_RESET_GPIO         FT6X46_RESET_GPIO
+ #else
+ #define TOUCH_I2C_BUS            ZTW523_I2C_BUS
+ #define TOUCH_INT_GPIO           ZTW523_INT_GPIO
 @@ -113,7 +120,12 @@ static void report_or_enqueue_event(input_event_info* touch_info, struct ts_driv
- static void report_event_to_power_manager(input_event_info *touch_info)\r
- {\r
-     if (g_power_manager_cb != NULL) {\r
--        g_power_manager_cb(touch_info->tp_event, 0);\r
-+        input_dev_data_t data;\r
-+        convert_touch_info(&data, touch_info);\r
-+        if (data.state == INDEV_STATE_UNKNOWN) {\r
-+            return;\r
-+        }\r
-+        g_power_manager_cb(data.state, 0);\r
-     }\r
-     return;\r
- }\r
+ static void report_event_to_power_manager(input_event_info *touch_info)
+ {
+     if (g_power_manager_cb != NULL) {
+-        g_power_manager_cb(touch_info->tp_event, 0);
++        input_dev_data_t data;
++        convert_touch_info(&data, touch_info);
++        if (data.state == INDEV_STATE_UNKNOWN) {
++            return;
++        }
++        g_power_manager_cb(data.state, 0);
+     }
+     return;
+ }
 @@ -422,8 +434,15 @@ void touch_screen_suspend(void)
-     touch_peripheral_api *touch_ptr = touch_screen_get_api();\r
-     ext_errno ret = touch_ptr->touch_sleep();\r
-     if (ret != EXT_ERR_SUCCESS) { tp_err("touch sleep ret=0x%x", ret); }\r
-+#if defined(TPTYPE_FT6X46)\r
-+    if (ft6x46_suspend() == EXT_ERR_SUCCESS){\r
-+        i2c_save_reg(TOUCH_I2C_BUS);\r
-+        uapi_gpio_disable_interrupt(TOUCH_INT_GPIO); // close tp_int gpio interrupt\r
-+    }\r
-+#else\r
-     i2c_save_reg(TOUCH_I2C_BUS);\r
-     uapi_gpio_disable_interrupt(TOUCH_INT_GPIO); // close tp_int gpio interrupt\r
-+#endif\r
- }\r
- \r
- void touch_screen_resume(void)\r
+     touch_peripheral_api *touch_ptr = touch_screen_get_api();
+     ext_errno ret = touch_ptr->touch_sleep();
+     if (ret != EXT_ERR_SUCCESS) { tp_err("touch sleep ret=0x%x", ret); }
++#if defined(TPTYPE_FT6X46)
++    if (ft6x46_suspend() == EXT_ERR_SUCCESS){
++        i2c_save_reg(TOUCH_I2C_BUS);
++        uapi_gpio_disable_interrupt(TOUCH_INT_GPIO); // close tp_int gpio interrupt
++    }
++#else
+     i2c_save_reg(TOUCH_I2C_BUS);
+     uapi_gpio_disable_interrupt(TOUCH_INT_GPIO); // close tp_int gpio interrupt
++#endif
+ }
+ 
+ void touch_screen_resume(void)
 @@ -437,6 +456,8 @@ void touch_screen_resume(void)
-     if (ret != EXT_ERR_SUCCESS) { tp_err("touch resume ret=0x%x", ret); }\r
- #elif defined(TPTYPE_ZTW523)\r
-     ztw523_resume();\r
-+#elif defined(TPTYPE_FT6X46)\r
-+    ft6x46_resume();\r
- #else\r
-     ztw523_resume();\r
- #endif\r
+     if (ret != EXT_ERR_SUCCESS) { tp_err("touch resume ret=0x%x", ret); }
+ #elif defined(TPTYPE_ZTW523)
+     ztw523_resume();
++#elif defined(TPTYPE_FT6X46)
++    ft6x46_resume();
+ #else
+     ztw523_resume();
+ #endif
 @@ -461,6 +482,8 @@ void touch_screen_restart(void)
-     tma525b_resume();\r
- #elif defined(TPTYPE_ZTW523)\r
-     ztw523_resume();\r
-+#elif defined(TPTYPE_FT6X46)\r
-+    ft6x46_resume();\r
- #else\r
-     ztw523_resume();\r
- #endif\r
+     tma525b_resume();
+ #elif defined(TPTYPE_ZTW523)
+     ztw523_resume();
++#elif defined(TPTYPE_FT6X46)
++    ft6x46_resume();
+ #else
+     ztw523_resume();
+ #endif
 diff --git a/code/sdk/tools/pkg/chip_packet/brandy/packet.py b/code/sdk/tools/pkg/chip_packet/brandy/packet.py
 index a7ce8a108..b4451d336 100644
 --- a/code/sdk/tools/pkg/chip_packet/brandy/packet.py