I have an EVAL ADV7612-7511 board and probing the I2C bus, I can see the BF542 does a repeated start when reading the registers of ADV7612. I checked the datasheet for 7612 and I did not see any requirement about this. I connected my board to the EVAL kit using the I2C (so there's two I2C master on the bus now). I made sure the BF542 is quiet so it doesn't interfere with my CPU. My CPU/i2c-tool doesn't seem to use repeated start. It always insert a stop after every command. For example, when I do a write, this is what my CPU does.
S SlaveAddr[W] RegAddr P S SlaveAddr[R] RegAddr READ P
Unfortunately I don't get an ACK after SlaveAddr[R]. The BF542 does this.
S SlaveAddr[W] RegAddr S SlaveAddr[R] RegAddr READ P
The only difference is mine has a stop bit whereas the BF542 doesn't which leads me to my question. Any clarification would be useful.