I am trying to enable the capacitive touch feature of the 10.1" LVDS display available from Toradex here: Capacitive Touch Display 10.1 Inch Parallel
I’m working with the Apalis iMX6Q on the Apalis Evaluation board. I followed the instructions for setting up the display using device tree overlays (Setting up Displays with Torizon) and have been able to get the display working, but I am unable to get the touch inputs working. When I go to enable the appropriate dto, I find that no overlay of the desired form is available. When I use
dtconf status (before enabling the display overlays), I get the output:
Device is apalis imx6(0028)
No active overlays
Available base device trees:
Available overlays for running kernel:
Atmel MXT touchscreen for the 7inch and 10inch display orderable at Toradex.
Enable the LVDS interface on the Apalis iMX6Q. Make sure to also select a valid display
Enable the parallel RGB interface on the Apalis iMX6Q. Make sure to also select a
valid display configuration.
EDT5.7 display with a resolution of 640x480 pixel
EDT7 display with a resolution of 800x480 pixel
LT161010 display (7inch) with a resolution of 800x480 pixel. This display can be
ordered at Toradex.
LT170410 display (10inch) with a resolution of 1280x800 pixel. This display can be
ordered at Toradex.
I suspect that the problem might be that I’m working with the wrong base device tree, but I could be wrong about that. Is there a way to change device trees using dtconf? If not, what is the best way to do it?
Welcome to the Toradex community.
In order to make this display working, there are two device tree overlays that should be enabled.
The first contains all the timings to get the screen working, I believe that you already enabled this one.
The other contains the touch device tree node, it is strange that there isn’t appearing an option, can you check if this file is available in the overlays directory?
Thank you for your help.
I have not been able to activate either the first overlay you linked to (display_10.1_lvds_cap_touch.dts) or the second one (touch_cap_colibri_imx6_evb.dts). The only overlays I’ve been able to activate are display-lt170410-overlay.dts and apalis-imx6-lvds-overlay.dts, the first two on the page with instructions for setting up the display.
It seems my overlays directory does not contain either of the overlays you linked to. The contents of /device-tree-overlays/overlays on my module are:
I tried removing my existing overlays directory and cloning the github repository you linked to onto the module, and when I did that the overlays you linked to were there; however, when I ran dtconf to apply those overlays, I got an Invalid filename error. Stranger still, when I checked the directory again after running dtconf, I found that the missing overlays had again disappeared and the directory had reverted to its original state.
Does dtconf automatically “update” the overlays and pull the available overlay files from some default repository?
Sorry, I was looking into another branch version.
Looking at the version you have, the files that should be activated are the display-lt170410-overlay.dts that contains the timings, and the apalis-imx6-atmel-mxt-overlay.dts that contains the touch driver node.
Both files are listed in the log you sent.
Can you please try to activate them and see if the touch starts to work?
With those overlays enabled, the display works but the touch input does not (actually, getting the display working requires an additional overlay, apalis-imx6-lvds-overlay.dts).
If those are indeed the only overlays required, I may have a deeper problem with my connections or device tree. I checked the serial output when the board boots up, and I am getting the following errors:
[ 11.586732] atmel_mxt_ts 0-004a: __mxt_read_reg: i2c transfer failed (-6)
[ 11.662085] atmel_mxt_ts 0-004a: mxt_bootloader_read: i2c recv failed (-6)
[ 11.813685] atmel_mxt_ts 0-004a: mxt_bootloader_read: i2c recv failed (-6)
So it seems like the board is failing to establish an i2c connection with the display’s touch module. I have checked with an oscilloscope, and the board is producing an i2c clock signal and during startup several bits are transferred over the SDA line. Any idea what could be the problem?
By the way, I know that this issue is pretty far from the original topic I posted this under, so should I make a new post for this issue? I’m new to the community so I’m not sure exactly how things work around here.
Thanks for your response.
Since it’s a new issue, can you please create a new community question?
Best regards, Daniel Morais
Thanks and best regards,