驱动移植step by step
3. touchscreen中driver复制及makefile Kconfig修改
(1)将原厂给的GT9XX/驱动文件拷贝至:kernel-3.18/drivers/input/touchscreen/mediatek/ 目录
kernel-3.18/drivers/input/touchscreen/mediatek/GT9XX$ ls
goodix_tool.c gt9xx_driver.c gt9xx_extents.c gt9xx_update.c include Kconfig Makefile
(2)Makefile修改kernel-3.18/drivers/input/touchscreen/mediatek/Makefile
添加:
obj-$(CONFIG_TOUCHSCREEN_MTK_GT9XX) = GT9XX/

(3)Kconfig修改kernel-3.18/drivers/input/touchscreen/mediatek/Kconfig
添加:
183 config TOUCHSCREEN_MTK_GT9XX
184 bool "GT9XXTB hotknot for Mediatek package"
185 default n
186 help
187 Say Y here if you have GT9xx touch panel.
188
189 If unsure, say N.
190
191 To compile this dirver as a module, choose M here: the
192 module will be called.
193
194 source "drivers/input/touchscreen/mediatek/GT9XX/Kconfig"
4.硬件电路及gpio配置
TP接口电路:


芯片端接口电路:

根据上图的芯片端接口电路然后依据GPIOtable,可以找到相对应的GPIO号
EINT_CTP_INT 接的是TP的中断脚,同时也是对应芯片的GPIO35,并且可以看出中断号为 EINT46,对配置dts有用
GPIO_CTP_RST 接的是TP的复位脚,同时也是对应芯片的GPIO45

GPIO口配置:
打开:\vendor\mediatek\proprietary\bootable\bootloader\preloader\tools\dct\old_dct\DrvGen.exe
选择:
\vendor\mediatek\proprietary\bootable\bootloader\preloader\custom\hiteq8163_tb_n\dct\dct\codegen.dws
配置EINT_CTP_INT(GPIO35)为中断
配置GPIO_CTP_RST(GPIO45)为复位引脚

5.dts defconfig中配置tp信息
(1)dts修改:kernel-3.18/arch/arm64/boot/dts/hiteq8163_tb_n.dts
主要修改如下两个节点:
cap_touch@5D {
compatible = "mediatek,cap_touch";
reg = <0x5D>;
interrupt-parent = <&pio>;
interrupts = <46 IRQ_TYPE_EDGE_FALLING>;
int-gpio = <&pio 35 0>;
rst-gpio = <&pio 45 0>;
};
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-51262-2.html
国际法只是美国掩饰霸权的外衣