Closed Zhairgling closed 6 years ago
Strip the touch part and change the gpios: https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/overlays/rpi-display-overlay.dts
Strip the touch part ?
I thought you didn't use touch since you used fbtft_device.
Since it's capacitive, maybe this can be of use: https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/overlays/pitft28-capacitive-overlay.dts
@notro yes i'm using the touchscreen. this could help me but . I don't understand how use the .dts file, it isn't compiled ? in hexa ?
ok I will see. Thank you @notro
Hi @notro ,
I definitely need help with my screen. The existence of two different overlays none of which works in my configuration makes me confused. I tried to tinker with them without success. It seems that I am doing wrong. I do not ask for a turnkey solution but if you can gag me it would be cool.
I use this screen https://www.adafruit.com/product/2090
It is handled by FT6206 for the touch, and an ili9341.
I set up with the two dts file with the good gpio, like the params of that modprobe:
sudo modprobe fbtft_device custom name=fb_ili9341 gpios=reset:25,dc:24,led:18 speed=16000000 rotate=0 bgr=1
And followed the procedure you gave me earlier.
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.24+ #993 Wed Apr 26 17:56:54 BST 2017 armv6l GNU/Linux
I'm using a clean raspian minimal on a raspberry zero
I wish you could help me
Try this in /boot/config.txt
dtoverlay=pitft28-capacitive,speed=16000000
D/C have to be wired to gpio 25. According to this reset doesn't have to be connected: https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2/spi-wiring Let LITE float high while testing since the overlay doesn't set the led gpio.
The touch controller won't work because the driver is missing in 4.9, but I see that it was added back yesterday and will be available in rpi-update in a few days.
Thank you @notro,
My screen now display my desktop :) but like you said no touch for the moment. I have by the way some error on the startx :
pi@raspberrypi:~ $ sudo startx -- -layout TFT
X.Org X Server 1.18.4
Release Date: 2016-07-19
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.26-v7+ armv7l Raspbian
Current Operating System: Linux raspberrypi 4.9.24+ #993 Wed Apr 26 17:56:54 BST 2017 armv6l
Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=1440 bcm2708_fb.fbheight=900 bcm2708_fb.fbswap=1 smsc95xx.macaddr=B8:27:EB:A8:0F:F6 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=fddb7552-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Build Date: 11 November 2016 11:59:59AM
xorg-server 2:1.18.4-2+rpi1 (https://www.debian.org/support)
Current version of pixman: 0.33.3
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu May 18 10:46:31 2017
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
modprobe: FATAL: Module g2d_23 not found.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
> Ignoring extra symbols
Errors from xkbcomp are not fatal to the X server
Hi @notro ,
I come to you again, I've solved easily the XKEYBOARD error. I've done all days rpi-update but don't have yet the touch driver, Any advices ?
The module/driver has a different name now: edt-ft5x06, but the Device Tree is the same. Verify it's presence:
$ modinfo edt-ft5x06
ok thank's dude, I will try tomorrow
Hi @notro ,
I've tried to add it in /boot/config.txt. But my screen isn't tactil yet.
However :
pi@raspberrypi:~ $ modinfo edt-ft5x06
filename: /lib/modules/4.9.30-v7+/kernel/drivers/input/touchscreen/edt-ft5x06.ko
license: GPL
description: EDT FT5x06 I2C Touchscreen Driver
author: Simon Budig <simon.budig@kernelconcepts.de>
srcversion: 69FD13E4508DBE143E8296F
alias: i2c:ft6236
alias: i2c:edt-ft5506
alias: i2c:edt-ft5x06
alias: of:N*T*Cfocaltech,ft6236C*
alias: of:N*T*Cfocaltech,ft6236
alias: of:N*T*Cedt,edt-ft5506C*
alias: of:N*T*Cedt,edt-ft5506
alias: of:N*T*Cedt,edt-ft5406C*
alias: of:N*T*Cedt,edt-ft5406
alias: of:N*T*Cedt,edt-ft5306C*
alias: of:N*T*Cedt,edt-ft5306
alias: of:N*T*Cedt,edt-ft5206C*
alias: of:N*T*Cedt,edt-ft5206
depends:
intree: Y
vermagic: 4.9.30-v7+ SMP mod_unload modversions ARMv7 p2v8
did you have an idea ?
Use evtest for testing:
$ apt-get install evtest
$ evtest
input devices will be listed, and touch should be among them.
When I use evtest,
pi@raspberrypi:~ $ evtest
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event0: USB Keyboard
/dev/input/event1: USB Keyboard
/dev/input/event2: ASUS GLADIUS
/dev/input/event3: ASUS GLADIUS
/dev/input/event4: EP0110M09
Select the device event number [0-4]: 4
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "EP0110M09"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 330 (BTN_TOUCH)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 0
Min 0
Max 239
Event code 1 (ABS_Y)
Value 0
Min 0
Max 319
Event code 47 (ABS_MT_SLOT)
Value 0
Min 0
Max 1
Event code 53 (ABS_MT_POSITION_X)
Value 0
Min 0
Max 239
Event code 54 (ABS_MT_POSITION_Y)
Value 0
Min 0
Max 319
Event code 57 (ABS_MT_TRACKING_ID)
Value 0
Min 0
Max 65535
Properties:
Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
I see that the input #4 should be my touchscreen, but when i try to test it, i don't have any return.
This means that the driver finds the touch controller at least.
Check if you get any interrupts on the gpio: cat /proc/interrupts
he is registred too .
pi@raspberrypi:~ $ cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
16: 0 0 0 0 bcm2836-timer 0 Edge ar ch_timer
17: 1797 2684 7357 4913 bcm2836-timer 1 Edge ar ch_timer
23: 56 0 0 0 ARMCTRL-level 1 Edge 3f 00b880.mailbox
24: 2 0 0 0 ARMCTRL-level 2 Edge VC HIQ doorbell
46: 0 0 0 0 ARMCTRL-level 48 Edge bc m2708_fb dma
48: 0 0 0 0 ARMCTRL-level 50 Edge DM A IRQ
50: 0 0 0 0 ARMCTRL-level 52 Edge DM A IRQ
51: 2005 0 0 0 ARMCTRL-level 53 Edge DM A IRQ
54: 0 0 0 0 ARMCTRL-level 56 Edge DM A IRQ
55: 38 0 0 0 ARMCTRL-level 57 Edge DM A IRQ
56: 38 0 0 0 ARMCTRL-level 58 Edge DM A IRQ
57: 0 0 0 0 ARMCTRL-level 59 Edge DM A IRQ, DMA IRQ
59: 0 0 0 0 ARMCTRL-level 61 Edge bc m2835-auxirq
62: 274766 0 0 0 ARMCTRL-level 64 Edge dw c_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
79: 0 0 0 0 ARMCTRL-level 81 Edge 3f 200000.gpio:bank0
80: 0 0 0 0 ARMCTRL-level 82 Edge 3f 200000.gpio:bank1
83: 905 0 0 0 ARMCTRL-level 85 Edge 3f 804000.i2c
84: 0 0 0 0 ARMCTRL-level 86 Edge 3f 204000.spi
86: 192 0 0 0 ARMCTRL-level 88 Edge mm c0
87: 4880 0 0 0 ARMCTRL-level 89 Edge ua rt-pl011
92: 8502 0 0 0 ARMCTRL-level 94 Edge mm c1
190: 0 0 0 0 pinctrl-bcm2835 24 Edge ft6236
FIQ: usb_fiq
IPI0: 0 0 0 0 CPU wakeup interrupts
IPI1: 0 0 0 0 Timer broadcast interrupts
IPI2: 2114 5940 2807 4318 Rescheduling interrupts
IPI3: 18 13 13 14 Function call interrupts
IPI4: 0 0 0 0 CPU stop interrupts
IPI5: 286 400 55 43 IRQ work interrupts
IPI6: 0 0 0 0 completion interrupts
Err: 0
We can see pi@raspberrypi:~ $ 190: 0 0 0 0 pinctrl-bcm2835 24 Edge ft6236
All zeroes, so there's has been no interrupt registered on that pin. Check wiring.
You are right. Thank you so much @notro
do you know how to swap axes ?
The overlay has several arguments: https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/overlays/README#L1031
Hi,
@Zhairgling I am also trying to do the same setup as you. However cannot get the touch working. How did you wire up the display to the raspberry?
Thanks, Marton
hi, Did you use evetest for testing the touchscreen ?
Closing issue since there has been no activity for more than 2 months. Reopen if needed.
Hi I'm using the p2090 ( https://www.adafruit.com/products/2090 ).
he is working and configured.
I'm using the manual methode for loading the module :
But I need it to start at boot so I now that in past I should load it by /etc/modules.
But now doesn't work.
Anybody can help me to write the good dtoverlay ?
thanks all