简介
Mtk平台触摸屏 (简称TP)驱动跟原生的linux tp驱动及其它android平台的tp驱动有些差异。 驱动代码一般有tp厂家提供,自行porting移植会有一定的工作量,
代码具体路径
主要代码在Kernel/drivers/input/mediate/, 有部分参数配置文件会放在kernel/drivers/misc/mediate/mach/mt6735/project name/touchpanel里。
代码架构简介及调试方法:
触摸屏驱动本质上属于为linux 输入子系统。为了方便兼容和管理多个触屏,mtk平台增加了不少代码。初始化入口及管理的主要实现在mtk_tpd.c里。
在Kernel/drivers/input/mediate/目录下,每个触屏ic的驱动都有各自的文件夹, 在Makefile文件里把它们包含进来,同时还要修改kconfig文件。下面以驱动GT1151为例,说明增加一个新的驱动所需修改的地方:
修改kernel/drivers/input/touchscreen/kconfig,增加:
config TOUCHSCREEN_MTK_GT1151
bool "GT1151 for Mediatek package"
default n
修改kernel/drivers/input/touchscreen/mediatek/Makefile, 添加:
ifeq ($(CONFIG_TOUCHSCREEN_MTK_GT1151),y)
obj-y += GT1151/
endif
在kernel/drivers/input/touchscreen/mediatek/目录里建立文件夹GT1151,该芯片的具体驱动代码就放在里面。
修改项目的config文件 (在kernel/arch/arm64/configs/目录里),增加:
CONFIG_TOUCHSCREEN_MTK_GT1151=y
(该处修改建议也可通过menuconfig来进行)
The End