参考了网上一些关于gslX680触摸屏的源码分析,觉得写得挺好的,已经附在文章末尾。
结合自己imx6ul+3.14.38内核移植了gslX680触摸屏,之前也在TI+am335x平台Linux3.2和linux4.1移植过,大同小异,下面根据在imx6ul下移植做下简要总结:
思路:
1.配置好i2c总线地址让系统能读取到gslX680芯片
2.在设备树配置好GPIO并在gslX680.c中申请gpio,设置gpio的direction,申请gpio中断
3.使用evtest测试是否成功。
一. 配置I2c总线地址
由于gslX680是通过i2c总线+中断触发的方式跟cpu通讯,把采集到的触摸屏数据(包括坐标值,压力值等)上报给CPU,所以,先把gslX680的地址挂到i2c总线上(有些内核版本是直接在gslX680.c里面注册把i2c设备,有些需要在内核的板级配置文件里面去配置)arch/arm/boot/dts/imx6ul-14x14-evk.dts
成功找到加载gslX680驱动:
二. 添加gpio中断:
1. 在设备树添加gpio管脚配置
2. 在gslX680.c中申请gpio中断
使用evtest测试:
从evtest的打印信息来看,源码已经把上报压力值(ABS_PRESSURE)去掉,源码如下:
最后gslX680驱动源码及参考文档下载:
https://download.csdn.net/download/wxxgoodjob/10284894
参考:http://blog.csdn.net/zgkxzx/article/details/56980769