We are using the current yocto build from the official toradex homepage.
I managed to enable included hycon hy46xx driver on the AM62 using instructions on kernel module compilation and device trees.
the device is correctly loaded and reachable via i2c but I still encounter multiple issues:
The Checksum is always wrong and when corrected it only performs a click on the upper left corner.
When performing a touch the standard driver always returns a checksum error.
after some investigation I found that it always differs exactly 0x18 (24 in decimal).
After correcting the checksum with this value no checksum errors accure anymore.
When the checksum is corrected the touches can be performed with correct X/Y values.
But there is a second issue:
When touching the screen it always performs a touch at the upper left corner (at the multimedia build it always pushes the “new terminal” button).
Does anybody encounter similar issues or has an idea on where to check for errors?
I have attached the dtbo and driver files
Example debug info: compare checksum with calculated:
[80739.422083] hycon_hy46xx 2-0038: CH_CODE: 249 - 0xf9 //read buf[1]
[80739.426917] hycon_hy46xx 2-0038: CH_BUF: 0-249-1-130-70-1-71-0-0 //read buf[i] in dec
[80739.432930] hycon_hy46xx 2-0038: CH_CALC: 17 - 0x11 //add buf[2]-buf[i]
Example output of “evtest” on touch input (when checksum is corrected):
1711452718.796787, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 444
Event: time 1711452718.796787, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 252
Event: time 1711452718.796787, type 3 (EV_ABS), code 0 (ABS_X), value 444
Event: time 1711452718.796787, type 3 (EV_ABS), code 1 (ABS_Y), value 252
Event: time 1711452718.796787, -------------- SYN_REPORT ------------
Event: time 1711452718.845007, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 418
Event: time 1711452718.845007, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 242
Event: time 1711452718.845007, type 3 (EV_ABS), code 0 (ABS_X), value 418
Event: time 1711452718.845007, type 3 (EV_ABS), code 1 (ABS_Y), value 242
Event: time 1711452718.845007, -------------- SYN_REPORT ------------
Event: time 1711452718.893179, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1711452718.893179, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1711452718.893179, -------------- SYN_REPORT ------------
verdin-am62_dtv_mezzanine_touch_lvds_overlay.dts (2.4 KB)
hycon-hy46xx.c (15.9 KB)