1. 簡介
- [專欄總目錄]
- 本文是基于RK3588平臺, 電容觸控芯片GT9XX觸摸調(diào)試總結(jié)。
- 觸摸芯片:電容觸控芯片GT9271
- 驅(qū)動代碼:"kerneldriversinput ouchscreengt9xxgt9xx.c"(驅(qū)動用的是系統(tǒng)自帶的驅(qū)動代碼)
2. 電容觸控芯片GT9XX觸摸調(diào)試
2.1 調(diào)試總覽,調(diào)試步驟分析
- 步驟 ① 先將gt9xx驅(qū)動添加進(jìn)SDK編譯規(guī)則
- 步驟 ② dts配置
- 步驟 ③ 觸摸編譯燒寫,調(diào)試
2.2 調(diào)試過程
- 步驟 ① :將gt9xx驅(qū)動添加進(jìn)kernel編譯規(guī)則
一.在Makefile添加:`obj-$(CONFIG_TOUCHSCREEN_GT9XX) += gt9xx/` Makefile所在路徑:"kerneldriversinput ouchscreenMakefile" 二.在Kconfig添加:`config TOUCHSCREEN_GT9XX的說明 Kconfig所在路徑:"kerneldriversinput ouchscreenKconfig" 三. 在 rockchip_defconfig中添加:CONFIG_TOUCHSCREEN_GT9XX=y
- 步驟 ② dts配置
&i2c6 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = < &i2c6m0_xfer >; clock-frequency = < 400000 >; gt9xx: gt9xx@14 { status = "okay"; compatible = "goodix,gt9xx"; reg = < 0x14 >; pinctrl-names = "default"; pinctrl-0 = < >9xx_gpio >; touch-gpio = < &gpio0 RK_PD3 IRQ_TYPE_LEVEL_HIGH >; reset-gpio = < &gpio0 RK_PC6 GPIO_ACTIVE_HIGH >; max-x = < 1200 >; max-y = < 1920 >; tp-size = < 89 >; tp-supply = < &vcc_lcd_mipi1 >; configfile-num = < 1 >; }; };
- 步驟 ③ 觸摸編譯燒寫,調(diào)試
2.3 調(diào)試問題總結(jié)
-
當(dāng)觸摸點(diǎn)與屏幕響應(yīng)點(diǎn)相反時:在gt9xx.c驅(qū)動源文件里修改:
方法一:根據(jù)觸摸反饋調(diào)整下面值:
if (val == 89) { m89or101 = TRUE; gtp_change_x2y = TRUE; //X,Y軸互換 gtp_x_reverse = TRUE; //X軸反向 gtp_y_reverse = FALSE; //Y軸反向 }
方法二:或者在事件上報函數(shù)里修改:
input_report_abs(ts- >input_dev, ABS_MT_POSITION_X, ts- >abs_x_max-x); input_report_abs(ts- >input_dev, ABS_MT_POSITION_Y, ts- >abs_y_max-y);
-
觸摸不太精準(zhǔn),位置偏下一點(diǎn)點(diǎn)。
解決辦法:更換GT9271_Config_20170526.cfg文件的配置。
系統(tǒng)自帶的cfg文件有點(diǎn)偏差,找屏幕廠商更換1200 * 1920的cfg文件
審核編輯 黃宇
-
SDK
+關(guān)注
關(guān)注
3文章
1045瀏覽量
46269 -
觸控芯片
+關(guān)注
關(guān)注
2文章
71瀏覽量
21712 -
Rockchip
+關(guān)注
關(guān)注
0文章
73瀏覽量
18653 -
電容觸控芯片
+關(guān)注
關(guān)注
0文章
7瀏覽量
798 -
RK3588
+關(guān)注
關(guān)注
7文章
342瀏覽量
4562
發(fā)布評論請先 登錄
相關(guān)推薦
評論