EDT Touch driver

  • Dear support-team,

    for testing we have a ETM0700G0EDH6 display with capacitive touch controller. The supplier is providing a patch file for drivers/input/touchscreen/edt-ft5x06.c. The patch is for a different kernel version 4.13 and does not fit out of the box for kernel 4.1.15 V3.1. So I tried to apply the changes manually but the devices still is not working (no ic2 device 0x38 detected with i2cdetec). Inside device tree I'm using CONFIG_ARMSTONEA9_CAPTOUCH_FT5x06 configuration. The edt-ft5x06.c is supporting M06 and M09 device types. The new one is a M12 type. Do you have a driver that already is supporting M12 type (single touch would be OK - no multi touch needed)?

    While testing different configurations I got the device working once (at least the /dev/input/event0 device was created but the ts_lib did not send positions). I could not repeat this (because I edited this working version while testing ;( ) but I guess the hardware configuration must be OK.

    I attached the incompatible patch file for edt-ft5x06.c

    Any idea?
    Thanks in advance

  • Hi,

    • If i2cdetect is not working then there is something wrong with the HW connection, because i2cdetect works independent from device tree entrys and drivers. So you don´t have to enable a driver and/or do a device tree entry to get the i2cdetect to work.
    • If you are enable the define CONFIG_ARMSTONEA9_CAPTOUCH_FT5x06 it doesn´t belong to the file edt-ft5x06.c. It belongs to the file ft5x06_ts.c. So if you are doing changes in the file edt-ft5x06.c it will not have an effect because this file will not be used. I also guess that the driver edt-ft5x06.c is not active in our default configuration.

    So first of all check your HW connections and try the i2cdetect command till it works.
    Hint: if you call

    1. i2cdetect 0

    it means i2c1.

    1. i2cdetect 1

    means i2c2.
    Then enable the edt-ft5x06.c driver in menuconfig and do the correct device tree entry for the edt-ft5x06 driver. After that you can test it if it works.
    In the edt-ft5x06 driver there is no support for M12 type. Only support for M06 and M09 (as you have already said). If you can´t apply the patch you can do it manually. At the moment I don´t think that we have a driver which is supporting M12 type.

    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Thanks for your answer.

    When enabling FT5x06 driver in kernel the device will be found and /dev/input/event0 will be created.
    cat /dev/input/event0 will display no results - surely because the driver does not support the M12 touch.

    When trying to use the EDT-FT50x6 driver that supports the M12 device I'm not successful. There is no /dev/input device created.
    Here my changes inside the device tree (inspired by efusa9x.dts):

    Thanks for any idea.