GT911触摸移植
百度网站
一、添加gt911库文件
在 drivers/input/touchscreen 路径下添加gt911.c文件
修改Makefile 添加gt911.c的文件编译 drivers/input/touchscreen/Makefile 添加obj-y += gt911.o
二、添加设备树文件
修改文件路径 :arch/arm/boot/dts/suniv-f1c100s.dtsi
添加I2C属性定义 到soc节点下
i2c0: i2c@1C27000 {
compatible = "allwinner,sun6i-a31-i2c";
reg = <0x01C27000 0x400>;
interrupts = <7>;
clocks = <&ccu CLK_BUS_I2C0>;
resets = <&ccu RST_BUS_I2C0>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
添加I2C引脚定义 到pio节点下
i2c0_pins: i2c0 {
pins = "PD0", "PD12";
function = "i2c0";
};
修改LCD的引脚定义,因为有两个脚被I2C占用了
lcd_rgb666_pins: lcd-rgb666-pins {
pins = "PD1", "PD2", "PD3", "PD4",
"PD5", "PD6", "PD7", "PD8", "PD9",
"PD10", "PD11", "PD13", "PD14",
"PD15", "PD16", "PD17", "PD18", "PD19",
"PD20", "PD21";
function = "lcd";
};
修改文件路径 :arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts
添加头文件
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
添加gt911设备树配置
&i2c0 {
pinctrl-0 = <&i2c0_pins>;
pinctrl-names = "default";
status = "okay";
/* 触摸 */
gt911:gt911@5d {
compatible = "goodix,gt911","goodix,gt9xx";
reg = <0x5d>;
pinctrl-names = "default";
interrupt-parent = <&pio>;
interrupts = <4 12 IRQ_TYPE_EDGE_FALLING>;
irq-gpio = <&pio 4 12 GPIO_ACTIVE_HIGH>;
rst-gpio = <&pio 0 0 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
编译烧录
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j12
编译文件放到SD卡的boot分区之后开机,可看到驱动已经挂上。
ls /dev/input/
cat proc/interrupts
三、添加ts-lib触摸测试软件
触摸驱动移植成功后需要判断是否可用,可以用ts-lib 这个软件直观的测试触摸驱动
buildroot配置安装ts-lib软件
make menuconfig
打开ts-lib功能 位置:Target packages > Libraries > Hardware handling > tslib
编译软件
make -j12
编译完成 烧录根目录文件系统后启动开发板,在 /usr/bin 路径下会发现多了很多可执行文件
接下来要设置tslib的配置文件
打开 /etc/ts.conf 文件 查看是否有 module_raw input 如果被注解解开注解 如果没有自己添加一句
打开/etc/profile 文件,在里面加入如下内容:
export TSLIB_TSDEVICE=/dev/input/event0 #触摸驱动文件路径
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf #触摸配置文件路径
export TSLIB_PLUGINDIR=/usr/lib/ts #触摸库文件路径 input.so 文件的所在路径
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0 #软件显示在那个fb上
具体配置方法可参考tslib移植小问题这篇博客
保存后重启开发板,输入ts_test启动测试软件,可以直观的测试触摸情况了。
文章来源:https://www.toymoban.com/news/detail-413108.html
参考
https://blog.csdn.net/Ternence_zq/article/details/109778136
链接文章来源地址https://www.toymoban.com/news/detail-413108.html
到了这里,关于全志F1C100s主线linux入坑记录 (4)GT911触摸移植的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!