最近新开发项目,需要适配新的TP,lcd等等,因为更换了TP IC,适配需要更换驱动和节点信息等等,为了以后快速适配,写下来作为记录。
准备东西
1、找厂商拿配置文件,一般会提供xxxxx.cfg文件
2、找对应的驱动文件(一般内核都会有,在kernel/drivers/input/touchscreen/ 路径下),像我适配gt1151,找gt1xx驱动即可
3、硬件原理图(出问题后,排查需要查看)
开始适配
1、在kernel/arch/arm/configs/msm8909-1gb-perf_defconfig和kernel/arch/arm/configs/msm8909-1gb_defconfig添加CONFIG_TOUCHSCREEN_GT1X=y 目的是添加驱动到内核
2、配置好对应的TP引脚,I2C 、rst-gpio、 irq-gpio 等
在kernel/arch/arm/boot/dts/qcom/msm8909-mtp.dtsi配置
2、打开kernel/drivers/input/touchscreen/gt1x/gt1x_generic.h,添加配置参数
PS:这里需要确认参数添加到哪里,是GTP_CFG_GROUP0还是GTP_CFG_GROUP1还是其他的,这个由sensor_id来决定,这个sensor_id是读取IC内部的gt1x_version.sensor_id得到。如果不知道也没有关系,随便配置一个,设备起来后,去cat proc/gt1x_debug文件,这个文件是IC的一些数据。
3、配置完后,编译打包,线刷测试,测试TP的效果,打开设置开发选项中的指针位置开关,就可以通过划线测试了。
可能出现的问题:
1、编译线刷完,TP触摸无反应
1)加日志打印,有没有进gt1x_ts_probe
2)检查内核日志,看是否I2C通信问题,硬件测试I2C通信是否正常
2、出现方向不对问题
1)联系厂商,重新提供配置参数