MX8-DSI-OLED1 Touch not working on Yocto

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

MX8-DSI-OLED1 Touch not working on Yocto

Jump to solution
3,262 Views
reggie
Contributor II

Hi, I am using the MCIMX8M-EVK board with the MX8-DSI-OLED1 touchscreen, on a Yocto build (4.9.88-2.0.0_ga in the rocko branch).

So far everything works fine, I have got the fsl-image-qt5 rootfs working with Qt 5.9.5 and the display is showing my app perfectly fine.

BUT: the touch part of the screen is not working!

First I noticed in the fsl-imx8mq-evk-dcss-rm67191.dts file that the synaptics section had the line status="disabled", which I changed to status="enabled". It does get applied:

root@imx8mqevk:# cat /sys/firmware/devicetree/base/i2c@30a20000/synaptics_dsx_ts@20/status

enabled

But still I don't see any other input device in /dev/input:

root@imx8mqevk:~# ls -l /dev/input
total 0
drwxr-xr-x 2 root root 60 Jul 17 18:56 by-path
crw-rw---- 1 root input 13, 64 Jul 17 18:56 event0
crw-rw---- 1 root input 13, 63 Jul 17 18:56 mice

Event0 seems to be the power key (evdev reports it that way) while mice does not seem related to the touchscreen at all.

Can anyone point me in a direction to investigate further this problem? Or has anyone been able to use the MX8-DSI-OLED1 touch controller as an input device in any OS (linux or android)?

0 Kudos
1 Solution
2,268 Views
reggie
Contributor II

Hi Igor,

Thanks for the suggestion, I will keep it in mind!

In the meantime, since I was turning to this forum to get other suggestions, let me contribute back by saying that yes you were right in both of your posts: "nxp does not support touch on this screen yet", and that goes just like you said for both morty (4.9.51) and rocko (4.9.88).

BUT: at least in rocko the build is stable, so you should start suggesting that more recent build instead of the old morty one, especially for a board that just got out. Also, on rocko, at least the DTS is properly configured, aside from being "status=disabled".

And here's the real solution: enable the synaptics dsx driver in the kernel config. Because just having a DTS that configures it doesn't help much when the driver for it is not even compiled. And that's it! Simply add to your defconfig (or .config, or use menuconfig):

CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_PROPERTIES=y
CONFIG_TOUCHSCREEN_SYNAPTICS_DSX=y
CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C=y

Regards

View solution in original post

0 Kudos
5 Replies
2,268 Views
igorpadykov
NXP Employee
NXP Employee

Hi Rejean 

attached Release Notes describes what hardware is supported on nxp official releases described on

i.MX Software|NXP 

Note for i.MX8M L4.9.51 should be used, as L4.9.88 i.MX_Linux_Release_Notes shows it as in

"Beta Quality". Table 9. Supported features shows supported boards with touch support, unfortunately

for i.MX8M L4.9.51 it is not supported.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
2,268 Views
reggie
Contributor II

Hi Igor,

I tried those other images too. Everything works perfectly fine on those SD card images, but the touch screen does not.That includes the 4.9.51 official release that you mentioned (the file name is fsl-image-qt5-validation-imx-xwayland-imx8mqevk.sdcard.bz2 from the official L4.9.51-ga_images_mx8mq.tar.gz archive downloaded from NXP).

If you look at the source code, the synaptics controller is also status="disabled" inside the DTS file for those images.

So, have you tried it? Or did you just quote it for due diligence? Did you ask your developer why they disabled the touch controller in the first place in that device tree source? I will keep looking and trying and will update this thread. If you have any suggestion, feel free to tell me!

Thanks again.

0 Kudos
2,268 Views
igorpadykov
NXP Employee
NXP Employee

Hi Rejean 

attached Release Notes are official documents from bsp team showing what were tested

and guaranteed to work. If you are having project requiring this feature one can try help with 

NXP Professional Services|NXP 

Best regards
igor

0 Kudos
2,269 Views
reggie
Contributor II

Hi Igor,

Thanks for the suggestion, I will keep it in mind!

In the meantime, since I was turning to this forum to get other suggestions, let me contribute back by saying that yes you were right in both of your posts: "nxp does not support touch on this screen yet", and that goes just like you said for both morty (4.9.51) and rocko (4.9.88).

BUT: at least in rocko the build is stable, so you should start suggesting that more recent build instead of the old morty one, especially for a board that just got out. Also, on rocko, at least the DTS is properly configured, aside from being "status=disabled".

And here's the real solution: enable the synaptics dsx driver in the kernel config. Because just having a DTS that configures it doesn't help much when the driver for it is not even compiled. And that's it! Simply add to your defconfig (or .config, or use menuconfig):

CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_PROPERTIES=y
CONFIG_TOUCHSCREEN_SYNAPTICS_DSX=y
CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C=y

Regards

0 Kudos
2,268 Views
geser_u
Contributor I

Hi Rejean,

I have the same problem with Android image O8.1.0_1.3.0_ANDROID_DEMO_8MQ_Gon i.MX8M.

How can I solve this problen on Android?

Best regards

Urs

0 Kudos