基于全志T133-s3(Tina Linux)移植5寸RGB触摸屏驱动(FT5316)

1.硬件电路

1.1.开发板硬件电路

在这里插入图片描述

1.2.触摸屏接口定义

在这里插入图片描述

1.3.触摸屏转接板

这里需要一个转接板,不然没办法使用,板子是6pin的触摸接口,显示屏的是10pin的接口。

在这里插入图片描述
在这里插入图片描述

2.触摸驱动(focaltech_touch)

2.1代码准备

首先,我们需要获得驱动程序,一般可以找厂家获得,也可以在 Github Gitee 上找到。

在这里插入图片描述

然后将驱动文件复制进 lichee/linux-5.4/drivers/input/touchscreen 文件夹内,其实就是内核目录下的路径。
在这里插入图片描述

2.2.修改脚本

1)编辑 lichee/linux-5.4/drivers/input/touchescreen/Kconfig ,增加引索

在这里插入图片描述
2)在 lichee/linux-5.4/drivers/input/touchescreen/Makefile 里增加编译文件夹

在这里插入图片描述

2.3.添加驱动

配置完成,就可以在 make kernel_menuconfig 里找到这个选项了,将其编译到内核。

Device Drivers --> Input device support --> Touchscreens

在这里插入图片描述

2.4.设备树适配

1)内核设备树路径如下:

Tina-Linux/device/config/chips/t113/configs/mq_r/board.dts

2)由于我们开发板用的是twi2(i2c_2),所以我们需要配置一下对应的设备树,从设备地址是0x38,具体请参考芯片手册。

&twi2 {
    
    
	clock-frequency = <400000>;
	pinctrl-0 = <&twi2_pins_a>;
	pinctrl-1 = <&twi2_pins_b>;
	pinctrl-names = "default", "sleep";
	dmas = <&dma 45>, <&dma 45>;
	dma-names = "tx", "rx";
	status = "okay";
	
	ctp@38 {
    
    
                compatible = "focaltech,fts";
                reg = <0x38>;
                status = "okay";
				interrupt-parent = <&pio>;
				interrupts = <PB 3 IRQ_TYPE_LEVEL_LOW>;
				focaltech,reset-gpio = <&pio PB 2 GPIO_ACTIVE_HIGH>;
				focaltech,irq-gpio = <&pio PB 3 IRQ_TYPE_LEVEL_LOW>;
				focaltech,max-touch-number = <2>;
				focaltech,display-coords = <0 0 800 480>;
				focaltech,reg_vdd = <&reg_pio3_3>;
				focaltech,reg_avdd = <&reg_pio3_3>;
	};
};
  1. 这里设备树一定要配置好,不然prob的时候,是没办法匹配的,也就不会有设备节点,设备节点是event1

3.触摸屏测试

1)这里测试使用了LVGL的测试程序,也可以使用tslib去进行测试,这里就不过多讲,大家可以自己尝试一下。

链接: link (https://live.csdn.net/v/249946?spm=1001.2014.3001.5501)

猜你喜欢

转载自blog.csdn.net/qq_39721016/article/details/127629996