From 36aaa54056c4f4e150f6ee0636610d9a68470a08 Mon Sep 17 00:00:00 2001
From: lin <lin@kickpi.com>
Date: Fri, 21 Mar 2025 02:07:15 +0000
Subject: [PATCH] fix(touchscreen) fixed the problem of gt9xx touch abnormality

---
 longan/kernel/linux-4.9/drivers/input/touchscreen/gt9xx/gt9xx.c             |   10 +++++-----
 longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-lvds-7-1024-600.dtsi  |    4 ++--
 longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi |    4 ++--
 longan/device/config/chips/a133/configs/c3/dtbo/board1.dts                  |    9 ---------
 longan/device/config/chips/a133/configs/c3/dtbo/board1.dtbo                 |    0 
 android/device/softwinner/ceres-c3/dtbo.img                                 |    0 
 longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi  |    8 ++++----
 7 files changed, 13 insertions(+), 22 deletions(-)

diff --git a/android/device/softwinner/ceres-c3/dtbo.img b/android/device/softwinner/ceres-c3/dtbo.img
index 91d1ede..10a935e 100644
--- a/android/device/softwinner/ceres-c3/dtbo.img
+++ b/android/device/softwinner/ceres-c3/dtbo.img
Binary files differ
diff --git a/longan/device/config/chips/a133/configs/c3/dtbo/board1.dtbo b/longan/device/config/chips/a133/configs/c3/dtbo/board1.dtbo
index 05f102e..482c6ac 100644
--- a/longan/device/config/chips/a133/configs/c3/dtbo/board1.dtbo
+++ b/longan/device/config/chips/a133/configs/c3/dtbo/board1.dtbo
Binary files differ
diff --git a/longan/device/config/chips/a133/configs/c3/dtbo/board1.dts b/longan/device/config/chips/a133/configs/c3/dtbo/board1.dts
index 83b9ff0..7ff5ad3 100644
--- a/longan/device/config/chips/a133/configs/c3/dtbo/board1.dts
+++ b/longan/device/config/chips/a133/configs/c3/dtbo/board1.dts
@@ -19,12 +19,3 @@
 		dtbo_type = <1>;
 	};
 };
-&twi0 {
-	ctp {
-		ctp_screen_max_x = <1280>;
-		ctp_screen_max_y = <800>;
-		ctp_revert_x_flag = <0>;
-		ctp_revert_y_flag = <1>;
-		ctp_exchange_x_y_flag = <0>;
-	};
-};
diff --git a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-lvds-7-1024-600.dtsi b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-lvds-7-1024-600.dtsi
index 9ea766e..e364edb 100644
--- a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-lvds-7-1024-600.dtsi
+++ b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-lvds-7-1024-600.dtsi
@@ -206,8 +206,8 @@
                 reg = <0x5D>;
                 ctp_screen_max_x = <1024>;
                 ctp_screen_max_y = <600>;
-                ctp_revert_x_flag = <0x1>;
-                ctp_revert_y_flag = <0x1>;
+                ctp_revert_x_flag = <0x0>;
+                ctp_revert_y_flag = <0x0>;
                 ctp_exchange_x_y_flag = <0x0>;
                 ctp_int_port = <&pio PE 3 6 0xffffffff 0xffffffff 0>;
                 ctp_wakeup =   <&pio PE 4 1 0xffffffff 0xffffffff 1>;
diff --git a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi
index 379a9cd..e2a9ec5 100644
--- a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi
+++ b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi
@@ -228,8 +228,8 @@
                 reg = <0x5D>;
                 ctp_screen_max_x = <800>;
                 ctp_screen_max_y = <1280>;
-                ctp_revert_x_flag = <0x1>;
-                ctp_revert_y_flag = <0x1>;
+                ctp_revert_x_flag = <0x0>;
+                ctp_revert_y_flag = <0x0>;
                 ctp_exchange_x_y_flag = <0x0>;
                 ctp_int_port = <&pio PE 3 6 0xffffffff 0xffffffff 0>;
                 ctp_wakeup =   <&pio PE 4 1 0xffffffff 0xffffffff 1>;
diff --git a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi
index 4f48679..04cad8f 100644
--- a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi
+++ b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi
@@ -226,10 +226,10 @@
                 ctp_twi_id = <0x0>;
         	ctp_name = "gt9xx";
                 reg = <0x5D>;
-                ctp_screen_max_x = <800>;
-                ctp_screen_max_y = <1280>;
-                ctp_revert_x_flag = <0x1>;
-                ctp_revert_y_flag = <0x1>;
+                ctp_screen_max_x = <0x320>;
+                ctp_screen_max_y = <0x500>;
+                ctp_revert_x_flag = <0x0>;
+                ctp_revert_y_flag = <0x0>;
                 ctp_exchange_x_y_flag = <0x0>;
                 ctp_int_port = <&pio PE 3 6 0xffffffff 0xffffffff 0>;
                 ctp_wakeup =   <&pio PE 4 1 0xffffffff 0xffffffff 1>;
diff --git a/longan/kernel/linux-4.9/drivers/input/touchscreen/gt9xx/gt9xx.c b/longan/kernel/linux-4.9/drivers/input/touchscreen/gt9xx/gt9xx.c
index 19196a0..9111b01 100755
--- a/longan/kernel/linux-4.9/drivers/input/touchscreen/gt9xx/gt9xx.c
+++ b/longan/kernel/linux-4.9/drivers/input/touchscreen/gt9xx/gt9xx.c
@@ -1583,11 +1583,11 @@
 		return ret;
 	}
 #else
-	//ret = of_property_read_u32(np, "ctp_screen_max_x", &screen_max_x);
-	//of_property_read_u32(np, "ctp_screen_max_y", &screen_max_y);
-	//of_property_read_u32(np, "ctp_revert_x_flag", &revert_x_flag);
-	//of_property_read_u32(np, "ctp_revert_y_flag", &revert_y_flag);
-	//of_property_read_u32(np, "ctp_exchange_x_y_flag", &exchange_x_y_flag);
+	ret = of_property_read_u32(np, "ctp_screen_max_x", &screen_max_x);
+	of_property_read_u32(np, "ctp_screen_max_y", &screen_max_y);
+	of_property_read_u32(np, "ctp_revert_x_flag", &revert_x_flag);
+	of_property_read_u32(np, "ctp_revert_y_flag", &revert_y_flag);
+	of_property_read_u32(np, "ctp_exchange_x_y_flag", &exchange_x_y_flag);
 #endif
 	sunxi_gpio_to_name(CTP_IRQ_NUMBER,irq_pin_name);
 	pr_err("gt %s, line:%d irq_pin_name = %s \n",__FUNCTION__, __LINE__, irq_pin_name);

--
Gitblit v1.6.2