最近在RK3399上移植了敦泰的FT5436触摸屏驱动,分享出来供大家参考。
找敦泰厂家索取FT5436的驱动包,驱动包名称:focaltech_touch
没有什么需要特别注意的地方,按照驱动包里面的移植步骤移植即可。
1、将驱动文件打包到 focaltech_touch 文件夹, 并将 focaltech_touch 文件夹复制到 kernel/drivers/input/touchscreen 目录下。
2、修改 touchscreen 目录下的 Kconfig 文件,在这个文件的末尾增加如下一行:
source “drivers/input/touchscreen/focaltech_touch/Kconfig”
3、修改 touchscreen 目录下的 Makefile 文件,在这个文件的末尾增加如下一行:
obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_touch/
4、配置dts设备树。我编译的固件是rk3399-firefly-aiojk4-mipi,所以在该设备树下添加设备信息。下图是rk3399-firefly-aiojk4-mipi所有需要使用到的设备树。大家可以根据自己的固件名称,找到对应的dts。(其中还包括rk3399-firefly-aiojd4.dtsi,图中没有标出)
在rk3399-firefly-aiojd4-mipi.dts中,添加如下信息:(一定要找对dts配置文件,我刚开始放错了配置文件,放到了rk3399-firefly-mipi.dts里,怎么都调不出来)
根据电路图,查看是哪个I2C,在该I2C下,添加驱动节点信息,由于I2C中存在触屏驱动gsl3680,所以将其屏蔽。
修改reset-gpio引脚和irq-gpio引脚。
max-touch-number表示最多同时支持的多点触控个数。
display-coords 表示屏幕尺寸。
have-key表示是否有按键。
配置完成后,编译kernel,升级kernel.img和resource.img,如果其他正常,触屏就可以用了。
如果配置完成后,触屏不能用,应先查询使用的I2C是否正确,再查询reset-gpio和irq-gpio是否正确。用示波器测量I2C是否有数据,reset-gpio状态是否正确,基本就这些了。
链接:https://pan.baidu.com/s/1H8MS39KccSvN5QxHaDQemQ 提取码:qqgu