iMX93 EVK and LVDS touchscreen configuration - Not detected/configured

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX93 EVK and LVDS touchscreen configuration - Not detected/configured

Jump to solution
3,064 Views
bitspirate
Contributor III

Hello everyone,

I am running on a i.MX93 EVK with an LVDS connected touchscreen (typical demo setup).

Weston is operational however we cannot get the Touchscreen to operate despite loading the exc3000 module.

We get the following errors:

Sep 14 11:27:57 imx93evk-e3ng-123456789 kernel: input: EETI EXC80H60 Touch Screen as /devices/platform/soc@0/44000000.bus/44340000.i2c/i2c-0/0-002a/input/input2
Sep 14 11:27:58 imx93evk-e3ng-123456789 kernel: exc3000 0-002a: Retry 1 get EETI EXC3000 model: -151
Sep 14 11:27:58 imx93evk-e3ng-123456789 kernel: exc3000 0-002a: Retry 2 get EETI EXC3000 model: -151
Sep 14 11:27:58 imx93evk-e3ng-123456789 kernel: exc3000 0-002a: Retry 3 get EETI EXC3000 model: -151

evtest also shows that only the pwrkey interface is detected.

We are obviously missing a configuration, however we do not understand which one. Could someone shed a light on how to achieve this?

Tags (1)
0 Kudos
Reply
1 Solution
2,757 Views
bitspirate
Contributor III

@AldoG 

Problem solved.

The i2c, rst and gnd pins are swapped in the connector!

View solution in original post

0 Kudos
Reply
11 Replies
1,709 Views
jazzybeyyz
Contributor I

I have version B2 which already removed R131 however R181 is still there.

0 Kudos
Reply
2,773 Views
sumodont
Contributor I

Are you sure this is the necessary rework to make this work?

0 Kudos
Reply
3,002 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

Could you share the kernel version that you are using for your test?
Also, which device tree are you using?

Saludos,
Aldo.

0 Kudos
Reply
2,995 Views
bitspirate
Contributor III

Hi @AldoG 

Response of uname -a:

Linux 6.1.22+g66e442bc7fdc #1 SMP PREEMPT Mon Jun 12 12:31:27 UTC 2023 aarch64 GNU/Linux

I built the imx-image-multimedia literally following the Getting Started Steps. No modification beyond choosing the following device tree: imx93-11x11-evk-boe-wxga-lvds-panel.dtb

Here is the output of ls /proc-device-tree

'#address-cells' compatible interrupt-parent regulator-adc-vref regulator-vdd sound-wm8962
'#size-cells' cpus lvds_backlight regulator-audio-pwr regulator-vdd-12v sound-xcvr
aliases display-subsystem lvds_panel regulator-avdd regulator-vddo thermal-zones
bt_sco_codec ethosu memory regulator-can2-stby reserved-memory timer
chosen firmware model regulator-dvdd serial-number usdhc3_pwrseq
clock-ext1 imx93-cm33 name regulator-dvdd_sel soc@0
clock-osc-24m imx93-lpm pmu regulator-usdhc2 sound-bt-sco
clock-osc-32k interrupt-controller@48000000 psci regulator-vaa_sel sound-micfil
root@imx93evk-123456789:/proc/device-tree

Also, lsmod shows this module which if I am not mistaken it is the right one

exc3000 16384 0

 

Seems to me the touch panel is not loaded in the device tree however I would have expected this to be already there.

0 Kudos
Reply
2,961 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

Sorry for the delayed response, seems that you're using the correct device tree, and also from the information you have kindly provided the driver for touch seems to be loaded correctly.

The touch only support low level trigger method, the original use gpio expander which do not meet this requirement. Hardware team suggest this rework: remove R131 and short R181, directlly connect to the SoC local gpio which support low level trigger. Do you have this hardware rework done on your EVK?

Saludos,
Aldo.

0 Kudos
Reply
2,922 Views
bitspirate
Contributor III

Hi @AldoG 

I have version B2 which already removed R131 however R181 is still there.

Are you sure this is the necessary rework to make this work?

In the notes they write: Install R181, DNP R131 to support CTP interrupt multi-touch

0 Kudos
Reply
2,895 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

Thank you for sharing the information, indeed B2 version of the EVK already have this change, so there is no need of the HW change. Also, please note that touch screen is indeed enabled in device tree:
https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/arch/arm64/boot/dts/freescale/imx93-11x11-evk-boe...

&lpi2c1 {
exc80h60: touch@2a {
compatible = "eeti,exc80h60";
reg = <0x2a>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ctp_int>;
/*
 * Need to do hardware rework here:
 * remove R131, short R181
 */
interrupt-parent = <&gpio2>;
interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&pcal6524 17 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};

Could you check if the device is found in the I2C port with the following command:
$ i2cdetect -y 0

Saludos,
Aldo.

0 Kudos
Reply
2,774 Views
bitspirate
Contributor III

Hi

Sorry, if I look at the device tree, it is indicating that the device is in 1 at address 0x2a. This is not shown in my setup. If I flip the cables SDA, SCL it also does not appear.

Why did you suggest i2cdetect -y 0?

0 Kudos
Reply
2,789 Views
bitspirate
Contributor III

Hi @AldoG 

Sorry for the delay. I was travelling.

Here is the output:. Do you know the address of the touch controller?

00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- 1a -- -- -- -- --
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- 4a -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- 6a -- -- -- -- --
70: -- -- -- -- -- -- -- --

0 Kudos
Reply
2,758 Views
bitspirate
Contributor III

@AldoG 

Problem solved.

The i2c, rst and gnd pins are swapped in the connector!

0 Kudos
Reply
2,783 Views
bitspirate
Contributor III

HI @AldoG 

More output

root@imx93evk:~# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- UU -- -- UU -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

root@imx93ev:~# i2cdetect -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: UU UU 52 UU -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- 71 -- 73 -- -- -- --

 

i2cdump didnt really help.

 

0 Kudos
Reply