SPRZ436H October 2015 – July 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
I2C1 and I2C2 May Drive Low During Reset
Low
While the SoC PORz signal is asserted, one or more I2C1 and I2C2 I/Os (i2c1_scl, i2c1_sda, i2c2_clk, i2c2_sda) may drive low. The Data Manual specifies that these signals should be high-z during PORz assertion. This occurs due to an internal node floating to a random state inside of the I2C output buffer during PORz assertion.
Note that other I2C instances on the SoC are not affected by this issue since they use a different I/O buffer.
This issue has not resulted in any known issues in systems. Any workaround may be dependent on the characteristics of connected devices in a given system, and the external device(s) response in case a Start/Stop sequence occurs without an intermediate I2C handshake.
If the I2C devices connected to I2C1 or I2C2 are sensitive to a spurious Start/Stop sequence during SoC PORz assertion, then an external switch can be implemented on a PCB between the SoC SDA/SCL signals and the external I2C component(s). The switch can be controlled by a GPIO output of the SoC. The GPIO signal will be high-z during PORz and a pull-resistor should be used to cause the external switch to be open during PORz. After PORz deassertion, software can enable the GPIO to close the switch prior to using the I2C1 or I2C2 interface.
AM571x SR 2.1, 2.0, 1.0
AM570x SR 2.1, 2.0
DRA79x: 2.1, 2.0
TDA2Ex (23mm): 2.0, 1.0
TDA2Ex (17mm): 2.1, 2.0
AM571x: 2.1, 2.0, 1.0
AM570x: 2.1, 2.0
DRA72x: 2.0, 1.0
DRA71x: 2.1, 2.0