Hi Ti,
My customer has the following questions about I2C opration on AM3352.
We are currently experiencing some stability problems with the TI 3352 CPU in the field with our product. We are having frequent issues during boot which is affecting long term stability in the field. Once booted successfully it seems fine.
Our processor board uses a TPS65910AA1RSL power controller, connected to the AM3352 processor via I2C. There are no other devices fitted on the I2C bus, except a pair of pull-up resistors.
We experience unreliable I2C operation during early kernel boot, with individual I2C transactions failing (no ACK).
The effect of this depends on which particular transactions have failed, since a lot of the transactions of the power regulator driver are effective no-ops. Most of the time, there is no problem, but worst case we see that the regulator device is not recognised at all by the driver.
Our design only requires the 5V rail (SW3) to be programed to supply VBus for USB, all others are used in their default configuration. We only see an operational error if VBus is missing.
We are aware of the repeated start condition errata of the TPS65910, but as far as I can tell, this situation does not occur here.
We have added a wait-and-retry loop to the regulator driver, which has improved things a lot, but we have reason to believe that sometimes failure occurs despite that. The loop gives up after 10 retries. In most cases, the transaction succeeds after
1-2 tries.
There also seems to be a interesting correlation: using engineering silicon (XAM335x) apparently reduces the error frequency when compared to production silicon (AM335x).
There are no obvious issues with the signals when watched on an oscilloscope.
Sujeeva Wettasinghe
Avnet FAE