I’m using the ADV7612/ADV7511 in a repeater configuration on a custom board. We’re currently using the Repeater demo code with the only changes being to the I2C interface between our microblaze controller and the parts. This problem doesn't occur with the demo board.
The EDID is rarely read successfully by a source. When I put a logic analyzer on the scope I see a 7612 NACKing the DDC I2C transaction. Sometimes this happens on the initial read request, sometimes this happens after part of the data is returned. If enough data is on the line I can see that it's the EDID I've written to the RAM. HPD is behaving correctly, coming up a second after +5V.
1 - Is there anything the software needs to do to ensure that the ADV7612 can return the EDID over the DDC? From the docs it looks like there should be no intervention required once it's correctly loaded and EDID_A_ENABLE is set. I know the app isn't stepping on anything because the behavior is the same if the app is killed.
2 - Has this been seen before?
3 - Look at the NAC on the right side of the plot. It looks to me like one clock was missed and the 7612 is trying to ack. Thoughts?