基于imx6的gt911触摸屏驱动移植

本文介绍如何为GT911触摸屏配置Linux内核驱动,包括将goodix.c添加到内核源码中、修改Makefile及Kconfig文件、过滤无效中断等步骤,并提供了测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://blog.youkuaiyun.com/zhuyuming/article/details/52652525?locationNum=3

实验平台:TQ_iMX6Q    

其实在Linux内核官网(https://www.kernel.org/)上下载适合自己的Linux内核源码中已经有goodix的驱动(drivers\input\touchscreen\goodix.c),代码中of_device_id显示支持的触摸芯片,看来应该是支持gt911的。

 

一、将该文件添加到内核 drivers\input\touchscreen\ 文件夹下,修改Makefile和Kconfig文件:

在Makefile上添加:

在kconfig上添加:

注意:过滤touch down情况下的无效中断。

    GT911在touch down的时候会出现无效中断(也许是goodix用来上报其他信息用),如果不过滤这种类型中断,在touch down的时候会交替上报DOWN/UP事件,在UI上表现出来的想象将是点触有效滑动无效。除此之外,在上报UP事件部分加上条件判断,即本次中断的touch_num==0&&上次中断touch_num!=0。

 

代码修改主要如下(添加两行代码):

二、添加设备节点,设置对应 I2C总线接口和中断引脚

三、重新编译,将goodix.c文件编译进内核

四、确保硬件连接正常,开机后应该就可以在/dev/input/下发现设备节点

使用evtest工具测试,一般就可以实现触摸了:  evtest  /dev/input/event0 

 

附参考源码下载:https://download.youkuaiyun.com/download/hsl416604093/10397503

在imx6q平台测试通过。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MacLodge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值