温馨提示:这篇文章已超过404天没有更新,请注意相关的内容是否还可用!
摘要:,,RK3568搭载Android 11系统,实现了双路I2C触摸功能,并兼容GT9xx触摸屏。通过优化系统配置和驱动支持,该设备提供了更加流畅的多点触控体验,提高了用户操作的便捷性和响应速度。这一技术革新在智能设备领域具有重要意义,为用户带来更加智能、高效的交互体验。
GT911触摸屏简介
GT911触摸屏的接口类型为I2C,供电和通讯电压均为3.3V,该电容触摸屏内置了上拉电阻,这意味着开发板上与该触摸屏的接口处不需要设置上拉电阻,关于线序,不同批次的器件有不同的线序,需要自行与厂家确认。
DTS配置
调试双I2C触摸时,两个TP(触摸屏)是同一型号(gt911),DTS文件主要配置CPU与触摸屏之间的I2C通信信息,查看硬件原理图,两路TP是挂载在不同的I2C下。
以下是TP1(i2c1)和TP2(i2c3)的DTS配置示例:
在GT911的DTS配置文件中,可以看到为每个TP配置了相应的I2C接口、兼容性质、寄存器地址等信息,还配置了复位脚和中断脚的相关信息,以及屏幕的最大X、Y坐标和尺寸等参数。
驱动文件配置
驱动相关的文件主要有三个:gt9xx.c、gt9xx.h和cfg文件。
1、gt9xx.c是入口文件,其中会读取DTS中配置的信息,如中断脚、复位脚、最大X/Y坐标等。
2、gt9xx.h头文件包含了一些宏定义,关乎调试打印的开关,打开这些打印可以帮助定位问题。
3、cfg文件是触摸屏的初始化指令,上电后由CPU通过I2C将这些指令写到触摸屏芯片中。
驱动移植的步骤包括:
a. 将原厂提供的驱动(gt9xx)拷贝到指定的文件夹。
b. 修改touchscreen目录下的Makefile和Kconfig文件,以定义要编译哪个平台的触摸屏驱动。
c. 在内核配置中添加对应的驱动选项,以加载驱动。
注:实现双I2C触摸时,可以使用相同的驱动复制一份给另一路TP使用,修改相应的字段并处理编译冲突即可。
主副屏触摸配置
1、在gt9xx.h头文件中定义GTP_I2C_NAME宏来区分主副屏的I2C设备名,主屏使用"Goodix-TS",副屏使用"Goodix-TS_extend"。
2、创建输入设备配置文件(.idc文件),用于区分主副屏的触摸设备,创建Goodix-TS.idc和Goodix-TS_extend.idc文件,分别表示主屏和副屏的配置。
3、在系统的mk文件中,将上述两个idc文件拷贝到系统/usr/idc/目录。
编译系统固件升级后,双I2C触摸即能正常操控主副屏。
调试
1、通过内核打印日志查看触摸屏的工作情况,使用adb shell dmesg | grep GTP过滤出与触摸屏相关的打印信息。
2、查看触摸屏的中断统计信息,通过cat /proc/interrupts命令查看gt9xx和gt9xx_extend的中断次数,以判断触摸屏的工作状态。
仅供参考,具体实现可能因硬件和系统的差异而有所不同,在进行调试时,建议参考相关的技术文档和厂商提供的资料。
还没有评论,来说两句吧...