Hi,
We have an issue which communicating fail with a device using i2c interface, after dumping the debug uart message, we found some message about i2c as below.
What’s the possible reason to cause this problem?
[ 87.432643] tegra-i2c 7000c400.i2c: --- register dump for debugging ----
[ 87.440491] tegra-i2c 7000c400.i2c: I2C_CNFG - 0x22c00
[ 87.445930] tegra-i2c 7000c400.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 87.452897] tegra-i2c 7000c400.i2c: I2C_FIFO_CONTROL - 0xe0
[ 87.458612] tegra-i2c 7000c400.i2c: I2C_FIFO_STATUS - 0x800040
[ 87.464817] tegra-i2c 7000c400.i2c: I2C_INT_MASK - 0xed
[ 87.470114] tegra-i2c 7000c400.i2c: I2C_INT_STATUS - 0x0
[ 87.476151] tegra-i2c 7000c400.i2c: msg->len - 1
[ 87.480794] tegra-i2c 7000c400.i2c: is_msg_write - 1
[ 87.485909] tegra-i2c 7000c400.i2c: next_msg->len - 2
[ 87.491106] tegra-i2c 7000c400.i2c: is_next_msg_write - 0
[ 87.496552] tegra-i2c 7000c400.i2c: buf_remaining - 2
[ 87.501859] tegra-i2c 7000c400.i2c: i2c transfer timed out, addr 0x000b, data 0x18
[ 88.503116] tegra-i2c 7000c400.i2c: --- register dump for debugging ----
[ 88.511597] tegra-i2c 7000c400.i2c: I2C_CNFG - 0x22c00
[ 88.517974] tegra-i2c 7000c400.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 88.524929] tegra-i2c 7000c400.i2c: I2C_FIFO_CONTROL - 0xe0
[ 88.530710] tegra-i2c 7000c400.i2c: I2C_FIFO_STATUS - 0x800040
[ 88.536682] tegra-i2c 7000c400.i2c: I2C_INT_MASK - 0xed
[ 88.542229] tegra-i2c 7000c400.i2c: I2C_INT_STATUS - 0x0
[ 88.547613] tegra-i2c 7000c400.i2c: msg->len - 1
[ 88.552269] tegra-i2c 7000c400.i2c: is_msg_write - 1
[ 88.557286] tegra-i2c 7000c400.i2c: next_msg->len - 2
[ 88.562483] tegra-i2c 7000c400.i2c: is_next_msg_write - 0
[ 88.568013] tegra-i2c 7000c400.i2c: buf_remaining - 2
[ 88.573119] tegra-i2c 7000c400.i2c: i2c transfer timed out, addr 0x000b, data 0x08
[ 89.572413] tegra-i2c 7000c400.i2c: --- register dump for debugging ----
[ 89.579124] tegra-i2c 7000c400.i2c: I2C_CNFG - 0x22c00
[ 89.584598] tegra-i2c 7000c400.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 89.591474] tegra-i2c 7000c400.i2c: I2C_FIFO_CONTROL - 0xe0
[ 89.597085] tegra-i2c 7000c400.i2c: I2C_FIFO_STATUS - 0x800040
[ 89.602984] tegra-i2c 7000c400.i2c: I2C_INT_MASK - 0xed
[ 89.608749] tegra-i2c 7000c400.i2c: I2C_INT_STATUS - 0x0
[ 89.614191] tegra-i2c 7000c400.i2c: msg->len - 1
[ 89.618810] tegra-i2c 7000c400.i2c: is_msg_write - 1
[ 89.623833] tegra-i2c 7000c400.i2c: next_msg->len - 2
[ 89.628884] tegra-i2c 7000c400.i2c: is_next_msg_write - 0
[ 89.634620] tegra-i2c 7000c400.i2c: buf_remaining - 2
[ 89.639751] tegra-i2c 7000c400.i2c: i2c transfer timed out, addr 0x000b, data 0x0a
[ 90.642491] tegra-i2c 7000c400.i2c: --- register dump for debugging ----
[ 90.649254] tegra-i2c 7000c400.i2c: I2C_CNFG - 0x22c00
[ 90.654499] tegra-i2c 7000c400.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 90.661424] tegra-i2c 7000c400.i2c: I2C_FIFO_CONTROL - 0xe0
[ 90.667168] tegra-i2c 7000c400.i2c: I2C_FIFO_STATUS - 0x800040
[ 90.673091] tegra-i2c 7000c400.i2c: I2C_INT_MASK - 0xed
[ 90.678377] tegra-i2c 7000c400.i2c: I2C_INT_STATUS - 0x0
[ 90.683917] tegra-i2c 7000c400.i2c: msg->len - 1
[ 90.688632] tegra-i2c 7000c400.i2c: is_msg_write - 1
[ 90.693794] tegra-i2c 7000c400.i2c: next_msg->len - 2
[ 90.698854] tegra-i2c 7000c400.i2c: is_next_msg_write - 0
[ 90.704632] tegra-i2c 7000c400.i2c: buf_remaining - 2
[ 90.710004] tegra-i2c 7000c400.i2c: i2c transfer timed out, addr 0x000b, data 0x3f
[ 91.712490] tegra-i2c 7000c400.i2c: --- register dump for debugging ----
[ 91.719268] tegra-i2c 7000c400.i2c: I2C_CNFG - 0x22c00
[ 91.724782] tegra-i2c 7000c400.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 91.731642] tegra-i2c 7000c400.i2c: I2C_FIFO_CONTROL - 0xe0
[ 91.737250] tegra-i2c 7000c400.i2c: I2C_FIFO_STATUS - 0x800040
[ 91.743116] tegra-i2c 7000c400.i2c: I2C_INT_MASK - 0xed
[ 91.748341] tegra-i2c 7000c400.i2c: I2C_INT_STATUS - 0x0
[ 91.753701] tegra-i2c 7000c400.i2c: msg->len - 1
[ 91.758324] tegra-i2c 7000c400.i2c: is_msg_write - 1
[ 91.763314] tegra-i2c 7000c400.i2c: next_msg->len - 2
[ 91.768362] tegra-i2c 7000c400.i2c: is_next_msg_write - 0
[ 91.773777] tegra-i2c 7000c400.i2c: buf_remaining - 2
[ 91.778845] tegra-i2c 7000c400.i2c: i2c transfer timed out, addr 0x000b, data 0x3e
[ 92.782410] tegra-i2c 7000c400.i2c: --- register dump for debugging ----
[ 92.789516] tegra-i2c 7000c400.i2c: I2C_CNFG - 0x22c00
[ 92.794691] tegra-i2c 7000c400.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 92.801434] tegra-i2c 7000c400.i2c: I2C_FIFO_CONTROL - 0xe0
[ 92.807122] tegra-i2c 7000c400.i2c: I2C_FIFO_STATUS - 0x800040
[ 92.813290] tegra-i2c 7000c400.i2c: I2C_INT_MASK - 0xed
[ 92.818514] tegra-i2c 7000c400.i2c: I2C_INT_STATUS - 0x0
[ 92.823843] tegra-i2c 7000c400.i2c: msg->len - 1
[ 92.828713] tegra-i2c 7000c400.i2c: is_msg_write - 1
[ 92.834147] tegra-i2c 7000c400.i2c: next_msg->len - 2
[ 92.839200] tegra-i2c 7000c400.i2c: is_next_msg_write - 0
[ 92.844618] tegra-i2c 7000c400.i2c: buf_remaining - 2
[ 92.849685] tegra-i2c 7000c400.i2c: i2c transfer timed out, addr 0x000b, data 0x3d
[ 93.852816] tegra-i2c 7000c400.i2c: --- register dump for debugging ----
[ 93.859625] tegra-i2c 7000c400.i2c: I2C_CNFG - 0x22c00
[ 93.865071] tegra-i2c 7000c400.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 93.871779] tegra-i2c 7000c400.i2c: I2C_FIFO_CONTROL - 0xe0
[ 93.877414] tegra-i2c 7000c400.i2c: I2C_FIFO_STATUS - 0x800040
[ 93.883348] tegra-i2c 7000c400.i2c: I2C_INT_MASK - 0xed
[ 93.888693] tegra-i2c 7000c400.i2c: I2C_INT_STATUS - 0x0
[ 93.894036] tegra-i2c 7000c400.i2c: msg->len - 1
[ 93.898751] tegra-i2c 7000c400.i2c: is_msg_write - 1
[ 93.903740] tegra-i2c 7000c400.i2c: next_msg->len - 2
[ 93.908902] tegra-i2c 7000c400.i2c: is_next_msg_write - 0
[ 93.914481] tegra-i2c 7000c400.i2c: buf_remaining - 2
[ 93.919552] tegra-i2c 7000c400.i2c: i2c transfer timed out, addr 0x000b, data 0x3c
[ 1.853438] tegra-i2c 7000c400.i2c: i2c transfer timed out, addr 0x0074, data 0x02