I2C communication failures on AN21xx

Question: Using the AN21xx family, the I2C controller fails immediately or almost immediately when trying to read from the I2DAT or I2CS registers.  Is this a known issue?



The problem you are having is an errata item for the AN21xx family.  This occurs when the stretch value is 0 and the USB bus is active.  The workaround is to set the stretch value to a non-zero value when accessing I2C bus peripherals.  The errata for the AN21xx family is located in the Cypress\USB\Doc\EZ-USB Series 2100 directory after installing the development tools.