Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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/TPS65921: I2C Bus Timeout - Signals held low

Part Number: TPS65921
Other Parts Discussed in Thread: AM3703,

Tool/software: Linux

I am using the TPS65921 with an OMAP AM3703 processor. The I2C bus between the OMAP and the TPS regularly is locked out (either one or both of SCL and SDA are held low). I have not been able yet to determine whether the OMAP or the TPS is holding the bus. In either case, there is a problem. At present, when the bus fails, the board sometimes continues to function, but on a power reset, with the bus still held upon boot, the board will fail to boot because it can't read/write the TPS part. 

The linux errors are not consistent, but the last time this occurred, the kernel trace reported a warning from  /drivers/phy/phy-twl4030-usb.c:384 and looking at the trace was possible doing power management routines involving usb.

Any help greatly appreciated. 

  • Hi,

    I have assigned your request to responsible Applications Engineer and we will get back to you as soon as possible.

    Regards,

    Murthy
  • Hi Charles,

    One thing that might be worth trying in an effort to identify which device is holding the SDA/SCL down is to take an analog scope shot when it occurs with good vertical resolution (i.e. 200 mV/div or more) and seeing if you can see a difference in low between the PMIC and the processor. Generally the PMIC has a higher pull down resistance so the voltage is slightly higher. 

    It may also help to observe the last command before it gets stuck to see if it looks like there are any glitches.

    One other thing to check is your layout. In the past, I have seen an issue with this family of parts where the DGND was connected to the GND plane through the VDD1.GND which was introducing noise into DGND. Usually when I see that though it is just at low temperatures, so I wouldn't necessarily jump to this.

    I won't be much help with the kernel/driver stuff as I'm an analog power engineer but once we identify if it is PMIC or processor we can start involving the processor team more.