tsc2007 working strangely

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

tsc2007 working strangely

2,119 Views
dluberger
Contributor V

I'm using a tsc2007 touchscreen controller, and if i set status="disabled" in my device tree, i can see it with i2cdetect (shows up as address 49), however, if i enable the driver to load during boot, the kernel first hangs until i tap the touchscreen, then the OS loads, but during that time i get lots of errors that show "tsc2007 1-0049: i2c io error: -11" over and over. eventually the OS comes up but the touchscreen doesn't respond to my touches.  I was able to get it to work on the imx6ull eval board (though it was really jumpy and sensitive).  I found other posts on this site and a recommendation I saw was to copy an existing device tree.  Here's the relevant info from my device tree:

&i2c2 {
  clock_frequency = <100000>;
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_i2c2>;
  status = "okay";


  touchscreen: tsc2007@49 {
    compatible = "ti,tsc2007";
    reg = <0x49>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_tsc2007>;
    interrupt-parent = <&gpio1>;
    interrupts = <0x0 0x8>;
    gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
    ti,x-plate-ohms = <660>;
    linux,wakeup;
  };

};

&iomuxc {
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_hog_1>;

  pinctrl_hog_1: hoggrp-1 {
    fsl,pins = <
          MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x17059
    >;
  };

  pinctrl_i2c1: i2c1grp {
    fsl,pins = <
      MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
      MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0
    >;
  };

  pinctrl_tsc2007: tsc2007grp {
    fsl,pins = <
      MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0x1b0b0
    >;
  };

};

0 Kudos
4 Replies

611 Views
trevor_gta
Contributor I
Did you managed to solve this problem?
I have the same strange random "i2c io error: -11" error with TSC2007.
0 Kudos

1,676 Views
igorpadykov
NXP Employee
NXP Employee

Hi David

one can try to rebuild image anew, also if this a copy from other processor recheck

if used pins are not used for other modules. One can try to find place where processor hangs

using AN4553 Using Open Source Debugging Tools for Linux on i.MX Processors
https://www.nxp.com/docs/en/application-note/AN4553.pdf

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

0 Kudos

1,676 Views
dluberger
Contributor V

Which image do you mean to rebuild? The zImage file for the kernel?  Shouldn't modifying and rebuilding the device tree always be sufficient?  Is there nothing in the device tree settings for this device that would cause the kernel to wait for a touch input? It's interrupt-driven, so it would seem to me that there's simply something about the interrupt setup that would make it high priority enough that the kernel waits for the interrupt.

0 Kudos

1,676 Views
igorpadykov
NXP Employee
NXP Employee

one can try general touchscreen suggestions on

Why doesn't the tsc2007 touchscreen device appear? iMX6 Sabre Solox Eval Board 

Best regards
igor

0 Kudos