GT911觸摸移植
百度網(wǎng)站
一、添加gt911庫文件
在 drivers/input/touchscreen 路徑下添加gt911.c文件
修改Makefile 添加gt911.c的文件編譯 drivers/input/touchscreen/Makefile 添加obj-y += gt911.o
二、添加設(shè)備樹文件
修改文件路徑 :arch/arm/boot/dts/suniv-f1c100s.dtsi
添加I2C屬性定義 到soc節(jié)點(diǎn)下
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節(jié)點(diǎn)下
i2c0_pins: i2c0 {
pins = "PD0", "PD12";
function = "i2c0";
};
修改LCD的引腳定義,因?yàn)橛袃蓚€(gè)腳被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設(shè)備樹配置
&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分區(qū)之后開機(jī),可看到驅(qū)動(dòng)已經(jīng)掛上。
ls /dev/input/
cat proc/interrupts
三、添加ts-lib觸摸測試軟件
觸摸驅(qū)動(dòng)移植成功后需要判斷是否可用,可以用ts-lib 這個(gè)軟件直觀的測試觸摸驅(qū)動(dòng)
buildroot配置安裝ts-lib軟件
make menuconfig
打開ts-lib功能 位置:Target packages > Libraries > Hardware handling > tslib
編譯軟件
make -j12
編譯完成 燒錄根目錄文件系統(tǒng)后啟動(dòng)開發(fā)板,在 /usr/bin 路徑下會(huì)發(fā)現(xiàn)多了很多可執(zhí)行文件
接下來要設(shè)置tslib的配置文件
打開 /etc/ts.conf 文件 查看是否有 module_raw input 如果被注解解開注解 如果沒有自己添加一句
打開/etc/profile 文件,在里面加入如下內(nèi)容:
export TSLIB_TSDEVICE=/dev/input/event0 #觸摸驅(qū)動(dòng)文件路徑
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 #軟件顯示在那個(gè)fb上
具體配置方法可參考tslib移植小問題這篇博客
保存后重啟開發(fā)板,輸入ts_test啟動(dòng)測試軟件,可以直觀的測試觸摸情況了。
文章來源:http://www.zghlxwxcb.cn/news/detail-413108.html
參考
https://blog.csdn.net/Ternence_zq/article/details/109778136
鏈接文章來源地址http://www.zghlxwxcb.cn/news/detail-413108.html
到了這里,關(guān)于全志F1C100s主線linux入坑記錄 (4)GT911觸摸移植的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!