Hi folks,
I am working on a Verdin iMX8MP development board
, with a connected “resistive” touchscreen on the “DSI to LVDS” adapter over i2C (SX8655 controller).
I added an overlay by myself, which is compiled successfully (adapted GPIOS from the atmel mxt controller, which is supported by the board):
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
/ {
compatible = "toradex,verdin-imx8mp";
fragment@0 {
target = <&i2c4>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
sx8654: touch@49 {
compatible = "semtech,sx8655";
reg = <0x49>;
pinctrl-names = "default";
touchrate = <0x30>;
powdly = <0x06>;
filt = <0x02>;
setdly = <0x08>;
reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>;
interrupt-parent = <&gpio3>;
interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
status = "okay";
};
};
};
};
After booting the newly created “torizon-core-docker-evaluation-verdin-imx8mp-Tezi_5.5.0+build.11.container.tar” (own overlays included) :
# dmesg | grep SX
input: SX8654 I2C Touchscreen as /devices/platform/soc@0/30800000.bus/30a50000.i2c/i2c-3/3-0049/input/input2
# udevadm info /dev/input/event2
P: /devices/platform/soc@0/30800000.bus/30a50000.i2c/i2c-3/3-0049/input/input2/event2
N: input/event2
L: 0
S: input/by-path/platform-30a50000.i2c-event
E: DEVPATH=/devices/platform/soc@0/30800000.bus/30a50000.i2c/i2c-3/3-0049/input/input2/event2
E: DEVNAME=/dev/input/event2
E: MAJOR=13
E: MINOR=66
E: SUBSYSTEM=input
E: USEC_INITIALIZED=6342670
E: ID_INPUT=1
E: ID_INPUT_TOUCHSCREEN=1
E: ID_PATH=platform-30a50000.i2c
E: ID_PATH_TAG=platform-30a50000_i2c
E: UDISKS_FILESYSTEM_SHARED=1
E: DEVLINKS=/dev/input/by-path/platform-30a50000.i2c-event
Tried to run evtest
on a dedicated Debian container with
# docker run -ti --rm -e ACCEPT_FSL_EULA=1 --privileged -v /dev:/dev -v /run/udev/:/run/udev/ -v /etc/udev/rules.d:/etc/udev/rules.d debian:latest
# apt update
# apt install evtest
# evtest
Available devices:
/dev/input/event0: 30370000.snvs:snvs-powerkey
/dev/input/event1: gpio-keys
/dev/input/event2: SX8654 I2C Touchscreen
event number [0-2]: 2
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "SX8654 I2C Touchscreen"
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 4095
Event code 1 (ABS_Y)
Value 0
Min 0
Max 4095
Properties:
Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
to see, whether the touchpanel is working. No luck as i press the panel, but no events are emitted.
What am I missing guys?
Any help is greatly appreciated!