I have an I2C device which I am communicating with in burst mode. I have a driver which uses the i2c_master_send API to do that. I have tested this driver with the TK1 and it works without any issues.
The device works at 1.8v logic and it is connected to i2c-6 on the Jetson TX1. The command i2cdetect displays the device without any issues.
I am trying the same I2C burst write with the TX1 kernel, but this causes a CPU lockup and the Jetson TX1 stops responding.
BUG: soft lockup - CPU#3 stuck for 21s!
Upon debugging further, I noticed that there are two i2c drivers in the kernel. i2c-tegra.c and i2c-tegra-vi.c
The i2c-dev nodes from 0 to 5 are enumerated by i2c-tegra.c and the other i2c-6 node is enumerated by i2c-tegra-vi.c. I am sure this is intended for use with a camera connected to that bus.
But my question is , does the I2C adapter enumerated by the VI unit support burst write mode?
Normal byte or word read,writes work fine without any issues on the same node using the i2c_transfer API.