This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MXT1664S TouchScreen Controllers

Other Parts Discussed in Thread: TSC2007, TSC2005, TLC59108

Hi,

           We are using I2C based MXT1664 Touch screen controller in my custom board and using GLSDK_DRA7xx_EVM_7_02_00_02. I am trying to add this new driver to the kernel ,

I have done necessary changes in Makefile:

obj-$(CONFIG_TOUCHSCREEN_MXT1664S)    += mxt1664s.o

Kconfig:

config TOUCHSCREEN_MXT1664S
    bool "MXT1664S Touchscreen interface support"
    depends on I2C
    default y
    help
      Say Y here to enable support for the Samsung
      MXT1664S touchscreen controller.

But during kernel compilation i am getting like this,

drivers/input/touchscreen/mxt1664s_dev.h:152:26: fatal error: mach/cpufreq.h: No such file or directory

I have not found cpufreq.h file for DRA7xx file. Please help me in this regard.

Thanks & Regards

Ganesh

I have taken the source code from

https://searchcode.com/codesearch/view/15950658/

   

  • Hello Ganesh,

    Could you explain your issue with GLSDK_DRA7xx_EVM_7_02_00_02?

    Please refer to some reference documents for this:
    ti-glsdk_dra7xx-evm_7_01_00_03/board-support/linux/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt:
    ti-glsdk_dra7xx-evm_7_01_00_03/board-support/linux/Documentation/devicetree/bindings/input/touchscreen/tsc2007.txt:
    ti-glsdk_dra7xx-evm_7_01_00_03/board-support/linux/drivers/input/touchscreen/tsc2005.c:
    ti-glsdk_dra7xx-evm_7_01_00_03/board-support/linux/drivers/input/touchscreen/tsc2007.c:

    Refer to dra7xx_EVM.dts, from older release of GLSDK

    /* TLC chip for LCD panel power and backlight */
    tlc59108: tlc59108@40 {
    compatible = "ti,tlc59108";
    reg = <0x40>;
    gpios = <&pcf_gpio_20 13 0>; /* P15, CON_LCD_PWR_DN */
    video-source = <&dpi1>;
    data-lines = <24>;
    };

    mxt244: touchscreen@4a {
    compatible = "atmel,mXT244";
    status = "okay";
    reg = <0x4a>;
    interrupts = <0 119 0x4>;

    atmel,config = <
    /* MXT244_GEN_COMMAND(6) */
    0x00 0x00 0x00 0x00 0x00 0x00
    /* MXT244_GEN_POWER(7) */
    0x20 0xff 0x32
    /* MXT244_GEN_ACQUIRE(8) */
    0x0a 0x00 0x05 0x00 0x00 0x00 0x09 0x23
    /* MXT244_TOUCH_MULTI(9) */
    0x00 0x00 0x00 0x13 0x0b 0x00 0x00 0x00 0x02 0x00
    0x00 0x01 0x01 0x0e 0x0a 0x0a 0x0a 0x0a 0x00 0x00
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    0x00
    /* MXT244_TOUCH_KEYARRAY(15) */
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    0x00
    /* MXT244_COMMSCONFIG_T18(2) */
    0x00 0x00
    /* MXT244_SPT_GPIOPWM(19) */
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    0x00 0x00 0x00 0x00 0x00 0x00
    /* MXT244_PROCI_GRIPFACE(20) */
    0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x50 0x28 0x04
    0x0f 0x0a
    /* MXT244_PROCG_NOISE(22) */
    0x05 0x00 0x00 0x00 0x00 0x00 0x00 0x03 0x23 0x00
    0x00 0x05 0x0f 0x19 0x23 0x2d 0x03
    /* MXT244_TOUCH_PROXIMITY(23) */
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    0x00 0x00 0x00 0x00 0x00
    /* MXT244_PROCI_ONETOUCH(24) */
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    /* MXT244_SPT_SELFTEST(25) */
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    0x00 0x00 0x00 0x00
    /* MXT244_PROCI_TWOTOUCH(27) */
    0x00 0x00 0x00 0x00 0x00 0x00 0x00
    /* MXT244_SPT_CTECONFIG(28) */
    0x00 0x00 0x02 0x08 0x10 0x00
    >;

    atmel,x_line = <18>;
    atmel,y_line = <12>;
    atmel,x_size = <800>;
    atmel,y_size = <480>;
    atmel,blen = <0x01>;
    atmel,threshold = <30>;
    atmel,voltage = <2800000>;
    atmel,orient = <0x4>;
    };

    Best regards,
    Yanko
  • Hi Ganesh,
    In my understanding, the driver seems to be from old kernel which may not support DTS since I don't find keywork "compatible" and of_* etc.,
    In DTS support, no more machine defined includes "mach/cpufreq.h"

    Try to use the following driver which is also from Samsung.

    drivers/input/touchscreen/atmel_mxt_ts.c