UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 60695

Zynq-7000 AP SoC, I2C - I2C Missing Arbitration on Repeated Start

Description

I2C Missing Arbitration on Repeated Start.

Solution

When the I2C controller is used as a master on a multi-master bus, the I2C controller does not detect when another master I2C controller drives SDA Low for a repeated start. 

The I2C controller can corrupt a transaction on the bus, when all of the following conditions are met:

  • The other master starts a transaction at the same time.
     
  • The other master addresses the same slave.
     
  • The other master selects the same transaction (read or write).
    For a write, the other master drives the same data.
    For a read, the other master ACKs at the same time.
     
  • The other master reads or writes the same amount of data.
     
  • At the end of the transaction, the other master issues a repeated start.

 

 
Impact

Major.
 
Under the described conditions, the I2C controller does not detect the repeated start from the other master I2C controller and can drive SDA Low for a repeated start during the other master I2C controllers transaction, thus corrupting a  transaction on the bus.

However, the likelihood of such a condition is extremely rare.
 
Work-around:

Disable the repeated start by always clearing the HOLD bit to zero.
 
Configurations Affected:

All Zynq devices using the I2C controller as a master on a multi-master bus.
 
Device Revision(s) Affected:

All, no plan to fix. Refer to (Xilinx Answer 47916) - Zynq-7000 AP SoC Silicon Revision Differences
 
Resolution:                

This is a third-party errata; this will not be fixed.                                                                   

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
47916 Zynq-7000 AP SoC Devices - Silicon Revision Differences N/A N/A
AR# 60695
Date Created 05/16/2014
Last Updated 08/08/2014
Status Active
Type Design Advisory
Devices
  • SoC