The I2C controller violates the I2C-bus specification 1.3 us minimum requirement on tLOW during Fast-mode when it runs above 384 kHz.
The max SCL clock frequency of the I2C Fast-mode is specified as 400 kHz..
This erratum limits the max frequency of the SCL which has a direct ratio with the tLOW to be limited to 384 kHz.
At this frequency tLOW is at its minimum specified value of 1.3 us.
This issue affects only devices that use the I2C Fast-mode.
Minor. The tLOW time of the I2C controller operating at 400 kHz is 1.25 us.
The latest I2C devices can typically recognize a tLOW time of 1.25 us.
There are 2 work-around for this issue:
- Run I2C below 384 kHz in Fast-mode
- Assume a tLOW of 1.25 us in the design instead of 1.3 us, if SCL frequency of 400 kHz is required
All Zynq devices using I2C Fast-mode.
Device Revision(s) Affected:
All, no plan to fix.
Refer to (Xilinx Answer 47916)
- Zynq-7000 SoC Silicon Revision Differences.
This is a third-party errata; this issue will not be fixed.