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
本文发布于:2024-02-02 10:02:28,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170683934943061.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |