优化TP驱动,降低速率,优化reset时序
authorSnickerSun <snickersun@163.com>
Thu, 21 Nov 2024 10:14:50 +0000 (18:14 +0800)
committerSnickerSun <snickersun@163.com>
Thu, 21 Nov 2024 10:14:50 +0000 (18:14 +0800)
code/sdk/drivers/peripheral/touch/ft6x46_touch/ft6x46_ctrl.c
code/sdk/drivers/peripheral/touch/ft6x46_touch/ft6x46_touch1.c

index f6a42fd..753f2d8 100644 (file)
@@ -337,7 +337,7 @@ ext_errno ft6x46_host_peripheral_init(ft6x46_ctrl_attr *attr)
 
     /* init i2c */
     errcode_t result;
-    result = uapi_i2c_master_init(FT6X46_I2C_BUS, 400000, I2C_SPEED_MODE_FS); /* 400000: 400KHz */
+    result = uapi_i2c_master_init(FT6X46_I2C_BUS, 100000, I2C_SPEED_MODE_SS); /* 400000: 400KHz */
     if (result != EXT_ERR_SUCCESS) {
         tp_err("tp i2c init fail! ret=0x%x", result);
         return EXT_ERR_SUCCESS;
index 85f2db5..1a7b331 100644 (file)
@@ -726,33 +726,17 @@ ext_errno ft6x46_resume(void)
 
     ft6x46_resume_reset();
 
-    // for (; retry_times < FT6X46_INIT_RETRY_TIMERS; retry_times++) {
-    //     ret = ft6x46_resume_post();
-    //     if (ret != EXT_ERR_SUCCESS) {
-    //         tp_err("resume: post err %d", ret);
-    //         /* retry delay 200ms */
-    //         osDelay(FT6X46_GENERAL_DELAY_200);
-    //     } else {
-    //         break;
-    //     }
-    // }
-
-    // if (retry_times == FT6X46_INIT_RETRY_TIMERS) {
-    //     tp_err("resume: overtimes %d", retry_times);
-    //     goto resume_exit;
-    // }
-    ret = ft6x46_config();
+    /* Step 2 power up */
+    ret = ft6x46_power_sequence();
     if (ret != EXT_ERR_SUCCESS) {
-        tp_err("TOUCH:ft6x46 init fail 0x%x", ret);
-        goto resume_exit;
+        tp_err("TOUCH:init powerup fail 0x%x", ret);
+       goto resume_exit;
     }
-    // ret = ft6x46_configuration();
-    // if (ret != EXT_ERR_SUCCESS) {
-    //     tp_err("TOUCH:resume config fail 0x%x", ret);
-    //     return EXT_ERR_TP_ZTW523_INIT_CONFIG;
-    // }
 
+    /* Record Status For Init */
+    g_ft6x46_drv.chip_status = FT6X46_READY;
     g_ft6x46_drv.work_status = FT6X46_WORK_NORMAL;
+
 #ifdef FT6X46_GESTURE_WAKEUP
     g_ft6x46_drv.gesture_wakeup = TD_FALSE;
 #endif