1.将gt9xx.c和gt9xx.h移动到kernel/drivers/input/touchscreen/目录下;
2.修改kernel/drivers/input/touchscreen/目录下的Makefile,添加gt9xx.c的编译项,如下:

3.修改kernel/drivers/input/touchscreen/目录下的Kconfig,添加内核中gt9xx.c的配置项,如下:

4.在板级文件中配置rst引脚为输出,配置int引脚为输入(同时加上拉不知道对不对)
5.编译gt9xx.ko文件,下载到板子上;
6.用i2c-tools工具查询板子上挂载了几个设备,以及在i2c的哪条线上,UU表示板子挂载到该设备,但是该设备被占用了,确认 i2c通信通信是否正常(使用i2c总线上挂载的节点操作寄存器) i2c-tools上检测到的是板子实际挂载的文件,跟板级文件中注 册的i2c_board-info内一点关系都没有,不需要对比这个,否则会误解;
7.insmod gt9xx.ko文件后,cat /dev/input/event1(有的是eventN),串口打印乱码就表示驱动移植OK了
PS:可能出现问题:
1. i2c_transfer出现-121,表示i2c通讯不行,用i2c-tools工具调试;
2.驱动程序运行正常,点击屏幕没反应,有2种可能,1).因为点击屏幕时产生中断,int默认变成0,但是硬件上int引脚未上 拉,一直处于低电平,则不会运行中断处理函数,需外部上拉;2).点击屏幕时,INT引脚变化,屏幕还是不打印坐标(前提是 打印坐标的宏定义要打开),那要重点看中断处理函数
3.tslib只支持单点触摸,gt9xx.c是多点触摸,需要修改gt9xx.c内的数据上报部分(比如改成ABX ABY)
以上只是自己防止忘记做的记录 ---2019.01.25 18:05
PS 驱动程序下载地址:https://download.csdn.net/download/weixin_40384703/11036727
本文详细记录了GT9271触摸屏在Linux下的移植调试过程,包括驱动文件放置、Makefile和Kconfig的修改、板级文件配置、i2c通信检查以及驱动加载后的测试。在调试过程中遇到的问题如i2c_transfer错误和屏幕无响应等也进行了分析,并给出了可能的解决方案。
544

被折叠的 条评论
为什么被折叠?



