MTK 触摸屏

硬件环境:MTK6735 & 触摸屏是GT9271

软件环境:Linux内核3.10 & 安卓5.1


1.reference driver文件夹中的所有文件复制到kerneldrivers/input/touchscreen/目录下 。

2.修改 Makefile:在drivers/input/touchscreen/mediatek/<project>目录下,打开Makefile文件,并在文件中增加以下条目(注意不同的(.o)文件之间用空格分开)

obj-y += gt9xx.o gt9xx_update.o goodix_tool.o
3.添加设备:找到kernel中初始化I2C总线的板级文件 

alps/kernel-3.10/arch/arm/boot/dts/<project>.dts中添加i2c信息

 I2C0@0x11007000 {
     54                         gt9xx@5d {
     55                                 compatible = "gt9xx";
     56                                 reg = <0x5d>;
     57                         };
     58 

4.修改参考代码:一般情况下,移植过程中只需修改gt9xx.h文件中的内容即可,打开该头文件,按照注释中的提示移植,重点注意 TODO part的修改即可。
(1)STEP1 替换配置信息表(REQUIRED):将对应于您正在使用TP的配置信息(一般为TP厂提供的(*cfg或*txt)文件里面的内容),替换CTP_CFG_GROUP中的内容。

//*********************PART1:ON/OFF define*************************
#define GTP_CUSTOM_CFG 1
// TODO: define your own default or for Sensor_ID == 0 config here.
#define CTP_CFG_GROUP1 { \
0x42,0xE0,0x01,0x20,0x03,0x05,0x14,0x01,0x02,0x08,\
// ...
}
// TODO: define your config for Sensor_ID == 1 here, if needed
#define CTP_CFG_GROUP2 {\
}
注意事项:
(1)如果没有设置Sensor ID(详见附录),请务必将配置信息宏定义在CTP_CFG_GROUP1,并保持其他几组为空,替换完成后,需要在每行后面增加宏定义的连接符“\”;
(2)如果实际使用的sensor ID数多于参考驱动中的6组,请参照这三组完成其他组的配置通过sensor ID来区分;
(3)如果配置宏的第一行设置了配置信息的写入寄存器GTP_REG_CONFIG_DATA,则请将配置从第二行开始替换。

(2)STEP2 修改 IO 定义和 IO 操作方式(REQUIRED):将GTP_INT_PORT和GTP_RST_PORT的定义修改为对应于
该项目的引脚定义,另外还需检查后面几个关于IO操作的语句是否适用于您正在使用的平台,如果不是,则需修改成
相应的操作方式。可以使用dct。
注意事项:中断脚和复位脚应初始化为悬浮输入态。(悬浮:既不上拉,也不下拉)。
(3)STEP3 客户自定义参数(OPTIONAL):如果您需要自己指定分辨率、中断触发方式、支持的最多TOUCH数
等参数,请在ON/OFF define中打开GTP_CUSTOM_CFG宏,并参照以下修改参数。
//*********************PART1:ON/OFF define*************************
#define GTP_CUSTOM_CFG 1
//STEP_3(optional):Custom set some config by custom,if need.
#if GTP_CUSTOM_CFG
#define GTP_MAX_WIDTH 800
#define GTP_MAX_HEIGHT 480
#define GTP_MAX_TOUCH 5
#define GTP_INT_TRIGGER 0
#else
#define GTP_MAX_WIDTH 4096
#define GTP_MAX_HEIGHT 4096
#define GTP_MAX_TOUCH 5
#define GTP_INT_TRIGGER 1
#endif 
(4)STEP4 配置触摸按键(OPTIONAL):如果您正在使用的TP 带有触摸按键,则需要配置触摸按键,先在
ON/OFF define中打开GTP_HAVE_TOUCH_KEY开关,然后再参照以下设置按键,按键的功能和顺序请在GTP_KEY_TAB中按需调整

//*********************PART1:ON/OFF define*************************
#define GTP_HAVE_TOUCH_KEY 1
//*********************PART2:TODO define****************************
……
//STEP_4(optional):If this project have touch key,Set touch key config.
#if GTP_HAVE_TOUCH_KEY
#define GTP_KEY_TAB {KEY_MENU, KEY_HOME, KEY_SEND}
#endif



注意:driver同目录下的Makefile1可以指定driver的头文件路径,并且在上层目录的Makefile2会指定编译哪个目录,在alps/kernel/arch/arm/configs/<project>_defconfig.mk文件中可以指定对应宏的开关,根据这个宏然后结合Makefile2可以找到项目具体用了什么驱动。

找不到头文件:头文件路径是在driver/misc/mediatek/Makefile.custom中定义

 MTK_PROJECT_PATH_ROOT := $(srctree)/drivers/misc/mediatek/mach/$(MTK_PLATFORM)/$(ARCH_MTK_PROJECT)
...
 -I$(MTK_PROJECT_PATH_ROOT)/touchpanel/GT9XX \


也可以在Makefile1中加入路径






 
 
 
 
 
 
 
 
 
 

                
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值