AnsweredAssumed Answered

Touch is Not Working On SabreAI Board

Question asked by nandish gurulingappa on Jun 12, 2017
Latest reply on Jun 12, 2017 by igorpadykov

Hello ALL,

 

i am working on imx6q sabre AI board, i want to interface the 3.5" LCD with touch(LCD Driver IC is ST7789S) and (touch driver ic FT6306DMB), LCD Display is bring up successfully, but i am struggling in bring up TOUCH on this LCD, i am using the 3.10.53 kernel version on target board, for this i copy the driver file from boundatydevices.i.e ft5x06_ts.c (linux-imx6/ft5x06_ts.c at boundary-imx_3.10.53_1.1.1_ga · boundarydevices/linux-imx6 · GitHub ) and modify the my kernel source code as below like this,

In imx6q-sabreauto.dts file
&i2c2 {
    status = "okay";
};

========================================

In imx6qdl-sabreauto.dtsi
&i2c2 {
    clock-frequency = <100000>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c2_3>;
    status = "okay";
       /*
    egalax_ts@04 {
        compatible = "eeti,egalax_ts";
        reg = <0x04>;
        interrupt-parent = <&gpio2>;
        interrupts = <28 2>;
        wakeup-gpios = <&gpio2 28 0>;
    };
       */

        polytouch: edt-ft5x06@38 {
                   compatible = "ft5x06,ft5x06-touch";
               reg = <0x38>;
           pinctrl-0 = <&edt_ft5x06_pins>;
           interrupt-parent = <&gpio3>;  //find int
                   interrupts = <18 2>;
                   wakeup-gpios = <&gpio3 19 0>; //find reset
                   //linux,wakeup;
    };
==================================================================================
In imx6qdl.dtsi

    ipu1 {
        pinctrl_ipu1_1: ipu1grp-1 {
            fsl,pins = <
                              //below 5 lines also comment when u use 8bitparallel line
                MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
                MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15       0x10        /*DRDY*/
                MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02        0x10        /*HSYNC*/
                MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03        0x10        /*VSYNC*/
                
                              //MX6QDL_PAD_DI0_PIN4__IPU1_DI0_PIN04        0x80000000   //i used this pad for CS
                              //MX6QDL_PAD_DISP0_DAT17__GPIO5_IO11         0x80000005 //LCD RESET NAND
                                
                //MY TOUCH CODE
                MX6QDL_PAD_EIM_D18__GPIO3_IO18   0x1b0b1  //Interrupt
                MX6QDL_PAD_EIM_D19__GPIO3_IO19   0x1b0b1 //Reset or Wakeup
                //MY TOUCH CODE END                          
                                  
                                MX6QDL_PAD_DISP0_DAT17__GPIO5_IO11        0x10 //RESET
                                MX6QDL_PAD_DI0_PIN4__GPIO4_IO20           0x10 //CS
                                MX6QDL_PAD_DISP0_DAT16__GPIO5_IO10      0x10 //SDA
                                 MX6QDL_PAD_EIM_D16__GPIO3_IO16          0x10 //CLK

 

                 MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00   0x10 //sameeroriginal:0x10
                MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01   0x10    
                MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02   0x10
                MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03   0x10
                MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04   0x10
                MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05   0x10
                MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06   0x10
                MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07   0x10
                MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08   0x10
                MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09   0x10
                MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10  0x10
                MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11  0x10
                MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12  0x10
                MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13  0x10
                MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14  0x10
                MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15  0x10                           
                               
            >;
        };

 

    i2c2 {
        pinctrl_i2c2_1: i2c2grp-1 {
            fsl,pins = <
                MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1
                //MX6QDL_PAD_EIM_D16__I2C2_SDA 0x4001b8b1
            >;
        };

        pinctrl_i2c2_2: i2c2grp-2 {
            fsl,pins = <
                MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
                MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
            >;
        };

        pinctrl_i2c2_3: i2c2grp-3 {
            fsl,pins = <
                MX6QDL_PAD_EIM_EB2__I2C2_SCL  0x4001b8b1
                MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
            >;
        };
               
               //MY TOUCH CODE:  for interrupt and reset pins
                edt_ft5x06_pins: edt-ft5x06grp {
            fsl,pins = <
            MX6QDL_PAD_EIM_D18__GPIO3_IO18   0x1b0b1  //Interrupt
            MX6QDL_PAD_EIM_D19__GPIO3_IO19   0x1b0b1 //Reset or Wakeup          
            >;
        };
               //MY TOUCH CODE END  
    };

===================================================================================

in BootLogs Touch device is detectd but touch is not working,Please find the attachment of Boot Logs FILE and LCD display video. could you please any one sugesst how to solve this issue,

your help would be very appreciate,

thank in advance

Best Regards

Nandish SG

Original Attachment has been moved to: sabretouchlogs.txt.zip

Attachments

Outcomes