google/veyron*: Pulse the i2c clock once if sda was low

On one particular TV the TV was holding SDA low when it came up.  It
would release the SDA when the SCL went low the first time.
Unfortunately the HDMI i2c port wouldn't transmit until the SDA was

Let's detect this case and insert a bogus clock pulse to try to get the
other side to release SDA.

It's unclear why the kernel doesn't have this problem.

TEST=Insignia TV works now

Change-Id: Ic9d27eb69bdc9c5fb11a68258e0c755cdc8b79d7
Signed-off-by: Patrick Georgi <>
Original-Commit-Id: 356ee7503f04e741a41be37ad573b588067b7114
Original-Change-Id: I4b6361877e0576cc4ea2f643f073f1aab660e434
Original-Signed-off-by: Douglas Anderson <>
Original-Reviewed-by: Agnes Cheng <>
Original-Commit-Queue: Agnes Cheng <>
Original-Trybot-Ready: Agnes Cheng <>
Original-Tested-by: Agnes Cheng <>
Original-Commit-Ready: David Hendricks <>
Original-Tested-by: David Hendricks <>
Original-Reviewed-by: David Hendricks <>
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <>
4 files changed