触摸板的两种实现方式:电阻触摸和电容触摸。 我们的电阻触摸是通过cpu自带的四路ADC来采集。还有一些平台CPU没有ADC或者ADC不够用,就使用了tsc2007这个adc芯片来实现,然后通过iic和cpu通信。
这次我们主要说电容触摸的驱动如何配置
重点说一下iic接口的: 说到配置还要分两类:有设备树和没设备树 有设备树的情况下,就进行两步操作,一是添加驱动和将驱动编译进内核。 kernel/drivers/input/touchscreen一般触摸的驱动都在这个路径下,以gt911为例,我们可以在这个路径下找到一个gt9xx的文件夹 文件夹里有驱动源码
然后我们看一下编译这个文件夹需要什么条件,打开makefile 需要我们配置这个CONFIG_TOUCHSCREEN_GT9XX 然后进入对应的配置文件,
打开我们对应的defconfig,打开这个配置,这个时候再重新编译内核,即可支持这个触摸芯片。 到这里完成了第一步,第二步是在设备树中添加设备配置描述:
这个时候我们需要注意我们的芯片是挂在哪一条IIC下面,以这个和芯片为例,挂在i2c1上。 所以我们找到设备树中的i2c1节点: 我们需要配置的几个项 compatible,是驱动来识别的字符串,这个是必须的 Reg,iic总线驱动识别的设备地址,这个地址要和触摸芯片手册提供的地址一致 Touchgpio中断引脚 Resetgoio复位引脚 还有触摸范围,填写对应显示的像素点数 Tpsize是驱动中要求的一个选项,用来配置xy翻转 最后一个就是状态,是否开启。如果开启设置成okay 这些参数是驱动中要求的: 我们经常遇到触摸反向,xy调换等,就可以通过这个和参数来调整
下面说一下没有设备树的情况,以4418为 例: 思路一样的,我们先找到驱动: 看一下makefile 进行配置: 然后这个系统是没有设备树的,需要配置板级文件: 找到这部分配置,配置了挂在哪个iic下,以及要识别的驱动和设备地址 定义了一个结构体描述引脚配置
|