I'm trying to communicate with the ADV7180 via the I2C bus (address 0x42) and it seems like write operations are passed successfully (I get acknowledge from the device), but read operations fail (no acknowledge).
Our I2C driver performs the following sequence:
- Start condition - write operation (sub address) - Stop condition - Start condition - Read operation (data) - Stop condition
The point that it fails is after asserting the second start condition followed by the device address (with R/W LSB bit set to 1) and not getting acknowledge from the device.
Our I2C driver performs the exact sequence as in the data-sheet, with the only change of asserting stop condition before the second start condition. Can this difference cause the problem?