--- 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
+#include "cat1_ctl.h"
+#endif
+
-+#ifdef ENABLE_CYWEE
++#ifdef SUPPORT_CYWEE_SERVICE
+extern void cywee_int1_callback(pin_t pin, uintptr_t param);
+#endif
/**
+ { 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
+ { 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
- { 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
*/
+
+
-+//ĬÈÏ¿ªÆô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
+ // 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
+ { 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*/
--- 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
--- 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
--- 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
+#include "cat1_ctl.h"
+#endif
+
-+#ifdef ENABLE_CYWEE
++#ifdef SUPPORT_CYWEE_SERVICE
+extern void cywee_int_callback(pin_t pin, uintptr_t param);
+#endif
/**
+ { 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
+ { 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
- { 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
*/
+
+
-+//ĬÈÏ¿ªÆô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
+ // 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
+ { 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*/
--- 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
--- 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
--- 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