本文主要是介绍RK3288 GT9XX驱动调试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.打开menuconfig里gt9xx驱动
-> Device Drivers
-> Input device support
-> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y])
-> Touchscreens (INPUT_TOUCHSCREEN [=y]) Goodix touch screen gt9xx support for rockchip based platform
2.设备树里添加gt9xx节点
我这里用i2c3连接触摸
&i2c3 {
status = "disabled";
touchscreen@14 {
compatible = "goodix,gt9xx";
reg = <0x14>; /*触摸IC地址,不同的芯片地址不一样 */
touch-gpio = <&gpio4 GPIO_A7 IRQ_TYPE_LEVEL_LOW>;
reset-gpio = <&gpio5 GPIO_B2 GPIO_ACTIVE_HIGH>;
max-x = <800>;
max-y = <1280>;
//tp-size = <89>;
};
};
3.在驱动源码文件里面:
gt9xx.c
下图源码用于调节触摸xy轴,val是读取设备树里的tp-size来获取的,由于我的触摸IC本身就烧写了正确的程序,所以设备树里我并没有设置tp-size值。
在这里加了个return,原因是因为执行tp_register_fb(&ts->tp);函数后会死机,具体原因还未查
关闭下放固件,使用触摸自带的固件:
gt9xx.h
下面这些宏定义全为0
这篇关于RK3288 GT9XX驱动调试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!