Transplantierter 5-Zoll-RGB-Touchscreen-Treiber (FT5316) basierend auf Allwinner T133-s3 (Tina Linux)

1. Hardware-Schaltung

1.1. Hardwareschaltung der Entwicklungsplatine

Fügen Sie hier eine Bildbeschreibung ein

1.2. Definition der Touchscreen-Schnittstelle

Fügen Sie hier eine Bildbeschreibung ein

1.3.Touchscreen-Adapterplatine

Hier ist eine Adapterplatine erforderlich, da diese sonst nicht verwendet werden kann. Die Platine verfügt über eine 6-Pin-Touch-Schnittstelle, das Display über eine 10-Pin-Schnittstelle.

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

2. Touch-Treiber (focaltech_touch)

2.1 Codevorbereitung

Zuerst müssen wir den Treiber besorgen, der in der Regel beim Hersteller erhältlich ist oder auf Github Gitee zu finden ist.

Fügen Sie hier eine Bildbeschreibung ein

Kopieren Sie dann die Treiberdatei in den Ordner lichee/linux-5.4/drivers/input/touchscreen, der eigentlich der Pfad unter dem Kernelverzeichnis ist.
Fügen Sie hier eine Bildbeschreibung ein

2.2. Ändern Sie das Skript

1) Bearbeiten Sie lichee/linux-5.4/drivers/input/touchescreen/Kconfig und fügen Sie einen Index hinzu

Fügen Sie hier eine Bildbeschreibung ein
2) Fügen Sie den Kompilierungsordner zu lichee/linux-5.4/drivers/input/touchescreen/Makefile hinzu

Fügen Sie hier eine Bildbeschreibung ein

2.3. Treiber hinzufügen

Nachdem die Konfiguration abgeschlossen ist, können Sie diese Option in make kernel_menuconfig finden und in den Kernel kompilieren.

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

Fügen Sie hier eine Bildbeschreibung ein

2.4. Anpassung des Gerätebaums

1) Der Kernel-Gerätebaumpfad lautet wie folgt:

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

2) Da unser Entwicklungsboard Twi2 (i2c_2) verwendet, müssen wir den entsprechenden Gerätebaum konfigurieren. Die Slave-Geräteadresse ist 0x38. Weitere Informationen finden Sie im Chip-Handbuch.

&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. Der Gerätebaum muss hier gut konfiguriert sein, andernfalls gibt es bei Verwendung von prob keine Möglichkeit zum Abgleich und es gibt keinen Geräteknoten, und der Geräteknoten ist event1

3.Touchscreen-Test

1) Der Test hier verwendet das LVGL-Testprogramm, und Sie können auch tslib zum Testen verwenden, daher werde ich hier nicht zu viel reden, Sie können es selbst ausprobieren.

Link: Link (https://live.csdn.net/v/249946?spm=1001.2014.3001.5501)

Supongo que te gusta

Origin blog.csdn.net/qq_39721016/article/details/127629996
Recomendado
Clasificación