IMX6 HSD gt9xx触摸调试
在车机系统中,AIM915X和AIM916X作为车机和显示屏之间的传输芯片
一、硬件原理图
二、软件配置
1、IIC地址
GT911 的 I2C 从设备地址有两组,分别为 0xBA/0xBB 和0x28/0x29。主控在上电初始化时控制 Reset 和 INT 口状态进行设定,设定方法及时序图如下:
查看对应代码部分,确认地址为0x14
2、设备树
3、驱动代码
移植对应代码至drivers/input/touchscreen下,添加Kconfig 、Makefile
三、调试过程
出现以下错误
修改916端触摸的复位脚和中断脚状态,跟随驱动变化
在AIM915916驱动中添加代码,在触摸驱动的相应位置调用
在触摸驱动内所有对应GPIO状态处都需添加,如下:
添加之后,驱动能正常注册,但无法使用
测试时,触摸时无反应,读取AIM916X端对应寄存器值得知此时中断脚状态为输出模式
中断脚最后需配置为输入。
915端配置为远端输出模式
916端为输入模式
AIM915916中添加代码
GT9XX中最后调用,保证中断脚为输入
再次测试,触发中断INT引脚无波形,尝试修改
R48焊接5.1K电阻后,测量中断有波形变化,波形幅值为2.9V
hexdump /dev/input/event0 内核有坐标上报
移植TSLIB
在启动脚本中添加对应内容
触摸可以使用。但触摸屏角落触摸异常,卡顿现象严重
使用汇顶转接板和产测软件,导入cfg文件,测试正常
最后再点击 (开始测试),触摸正常
排除屏幕问题,怀疑是触摸驱动有差异更换驱动后还是存在卡顿
更换新的触摸驱动,未正常读取到ID
同上述第一个驱动一样,添加916端INT以及RESET状态跟随驱动变化
示波器测量916端IIC与IMX6端IIC,均有数据产生
该触摸驱动测试后,没有之前的流畅
还是使用之前的触摸驱动,测试发现触摸位置偏上一点点
修改配置
测试还是无变化
再次修改尝试,修改有效
触摸拉边了,调整stretch_R0 和 stretch_R1 等与触摸屏的拉伸(stretch)相关的参数
驱动中更新cfg数组,触摸点正常
滑动触摸条时,有迟钝现象?离手滑动正常。
是不是串行解串后由于数据传输速度不足、延迟什么引起的?
触摸飞线到IMX6 IIC进行测试?不通过AIM915916?测试对比下?
916X:
R108 R109飞线到IMX6R57 R58
IMX6:
如下:
注释AIM915916驱动中的触摸IIC地址映射
驱动正常加载
测试触摸,触摸时示波器测量中断脚
测量我们主板的触摸中断频率 97.370 HZ;
汇顶转接板的中断频率测量为:97.333HZ
对比没什么差异,但是汇顶转接板触摸比较流畅,报点率九十多,七寸的,那是足够了的,什么原因?
要看主频或响应中断的优先级
测试结果和经过AIM915916串行解串差不多,无差别,不影响正常使用,离手滑动流畅
至此,调试结束。