diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi
index 43e133eb7c1f..2786445c4226 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi
@@ -1406,7 +1406,7 @@
};
};
-&i2c1 {
+/*&i2c1 {
status = "okay";
gt1x: gt1x@14 {
@@ -1417,7 +1417,7 @@
goodix,rst-gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
goodix,irq-gpio = <&gpio0 RK_PB5 IRQ_TYPE_LEVEL_LOW>;
};
-};
+};*/
&i2c5 {
status = "okay";
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi
index cce9a6c4f559..315dc4a2c402 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi
@@ -93,6 +93,52 @@
regulator-always-on;
regulator-boot-on;
};
+
+ vcc_tp: vcc-tp-regulator {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ regulator-boot-on;
+ gpio = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&touch_vcc>;
+ regulator-name = "vcc_tp";
+ };
+};
+
+&i2c1 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ gt9xx: gt9xx@14 {
+ status = "okay";
+ compatible = "goodix,gt9xx";
+ reg = <0x14>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&touch_gpio>;
+ touch-gpio = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
+ reset-gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
+ touchscreen-size-x = <1280>;
+ touchscreen-size-y = <800>;
+ max-x = <1280>;
+ max-y = <800>;
+ tp-size = <9111>;
+ tp-supply = <&vcc_tp>;
+ wakeup-source;
+ touchscreen-key-map = <158>; //KEY_HOMEPAGE=172,KEY_BACK=158,KEY_MENU=139
+ goodix,driver-send-cfg = <0>;
+ goodix,cfg-group0 =[
+ 42 00 03 00 04 0A 45 03 22 1F 28 0F 64 3C 03 0F 00 00 00 00 11 00
+ 08 00 00 00 00 8B 29 0E 71 6F B2 04 00 00 00 39 02 10 00 21 00 00
+ 00 03 64 32 00 00 00 3C 78 94 D5 02 07 00 00 04 C8 40 00 B1 4A 00
+ 9E 55 00 8E 61 00 7F 70 00 7F 70 00 00 00 F0 90 3C FF FF 07 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 1C 1A 18 16 14 12 10 0E 0C 0A 08 06 04 02 FF FF FF FF FF FF
+ FF FF FF FF FF FF FF FF FF FF 00 02 04 06 08 0A 0C 0F 10 12 13 16
+ 18 1C 1D 1E 1F 20 21 22 FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+ FF FF FF FF FF FF FF FF F6 01
+
+ ];
+ };
};
&combphy0_us {
@@ -199,9 +245,9 @@
* power-supply should switche to vcc3v3_lcd1_n
* when mipi panel is connected to dsi1.
*/
->1x {
+/*>1x {
power-supply = <&vcc3v3_lcd0_n>;
-};
+};*/
&i2c4 {
status = "disabled";
@@ -252,6 +298,18 @@
rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
+
+ touch {
+ touch_gpio: touch-gpio {
+ rockchip,pins =
+ <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
+ <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ touch_vcc: touch-vcc {
+ rockchip,pins =
+ <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
};
diff --git a/arch/arm64/configs/rockchip_defconfig b/arch/arm64/configs/rockchip_defconfig
index 570e1b2c3683..074fb8c63495 100644
--- a/arch/arm64/configs/rockchip_defconfig
+++ b/arch/arm64/configs/rockchip_defconfig
@@ -448,7 +448,7 @@ CONFIG_TOUCHSCREEN_GSL3676=y
CONFIG_TOUCHSCREEN_GT9XX=y
CONFIG_TOUCHSCREEN_HYN_CST2XX=y
CONFIG_TOUCHSCREEN_WACOM_W9013=y
-CONFIG_TOUCHSCREEN_GT1X=y
+# CONFIG_TOUCHSCREEN_GT1X is not set
CONFIG_TOUCHSCREEN_FTS=y
CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5=y
CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICETREE_SUPPORT=y
diff --git a/drivers/input/touchscreen/gt9xx/gt9xx.c b/drivers/input/touchscreen/gt9xx/gt9xx.c
index 67b1b3451dab..31995a38268b 100644
--- a/drivers/input/touchscreen/gt9xx/gt9xx.c
+++ b/drivers/input/touchscreen/gt9xx/gt9xx.c
@@ -2677,7 +2677,7 @@ static int goodix_ts_probe(struct i2c_client *client, const struct i2c_device_id
m89or101 = FALSE;
bgt9111 = TRUE;
gtp_change_x2y = TRUE;
- gtp_x_reverse = FALSE;
+ gtp_x_reverse = TRUE;
gtp_y_reverse = FALSE;
} else if (val == 970) {
m89or101 = FALSE;
由于RK3399使用这个I2C TP是正常的,查看dumpsys input 和 cat /proc/bus/input/devices可以看到goodix设备,看了3399的DTS里面有gt9xx的配置,于是仿照3399添加了dts配置,VCC的gpio对应原理图的EN , touch-gpiod对应原理图的INT中断脚, reset-gpio对应原理图的RST脚。
添加之后,查看dmesg打印,goodix初始化失败,原来是和gt1x的配置有冲突,把DTS里面gt1x的配置去掉,或者在config里面去掉GT1X的驱动配置,这样gt9xx的TP就添加成功了。