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.

Linux/AM3358: "omap_i2c 4802a000.i2c: controller timed out" causes the board hang

Part Number: AM3358


Tool/software: Linux

Hi TI Experts,

We developed AM3358 based custom board and interfaced the SSD2543 Touch screen controller in I2C1 bus.

Here is the dts code.

&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;

status = "okay";
clock-frequency = <400000>;

ssd2543: ssd2543@48 {
compatible = "solomon,ssd2543-ts";
reg = <0x48>;
pinctrl-names = "default";
interrupt-parent = <&gpio1>;
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
irq-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
};

};

Log:

[ 276.990439] sched: RT throttling activated
[ 278.000674] omap_i2c 4802a000.i2c: controller timed out
[ 278.000674] omap_i2c 4802a000.i2c: controller timed out
[ 306.560749] omap_i2c 44e0b000.i2c: controller timed out
[ 306.566605] omap_i2c 4802a000.i2c: controller timed out

Touch screen works okay and when we use QT touch test apps which are available in Matrix App, getting "omap_i2c 4802a000.i2c: controller timed out" message and board is completely hang and need to reset the board every time.

BTW, we are using the very latest TI SDK, kernel version is 4.14.

Reference driver:

https://github.com/patrickhwood/linux/blob/kk4.4.2_1.0.0-ga-uib/drivers/input/touchscreen/ssd2543.c

Can you please tell us whats the problem here.

This issue was stopped our production and marked as showstopper bug, can you please help to solve the issue asap.

  • Hello Titus,

    You are using a third party driver written for Android KitKat that has not been upstreamed into mainline Linux. I suggest you reach out to the touchscreen manufacturer directly for guidance on how to integrate their part into a Linux system. TI cannot support you in your debug process to get a third party driver working.

    I am not sure that I can do much to help you here. However, I can take a look at your console output if you attach it. Are you saying that the touchscreen works fine until a particular test application is run, and then the board hangs? Or are you observing some other buggy behavior?

    Regards,
    Nick
  • Thanks Nick.
    We have resolved the issue by adding external pull up resistors 4.7K on I2C lines (SCL, SDA)