Transplantierter 5-Zoll-RGB-Touchscreen-Treiber (FT5316) basierend auf Allwinner T133-s3 (Tina Linux)
1. Hardware-Schaltung
1.1. Hardwareschaltung der Entwicklungsplatine
1.2. Definition der Touchscreen-Schnittstelle
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.
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.
Kopieren Sie dann die Treiberdatei in den Ordner lichee/linux-5.4/drivers/input/touchscreen, der eigentlich der Pfad unter dem Kernelverzeichnis ist.
2.2. Ändern Sie das Skript
1) Bearbeiten Sie lichee/linux-5.4/drivers/input/touchescreen/Kconfig und fügen Sie einen Index hinzu
2) Fügen Sie den Kompilierungsordner zu lichee/linux-5.4/drivers/input/touchescreen/Makefile hinzu
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
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 = <®_pio3_3>;
focaltech,reg_avdd = <®_pio3_3>;
};
};
- 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)