I2C is detected, but the data is invalid (Auvidea B102, TC358743)

I’m having trouble getting an Auvidea B102 board to work on the I2C bus. I know it is on the bus because when I run i2cdetect the device shows up. Also the device is bound when I install the driver. However, the data is invalid. There should be a Chip ID and Chip Rev at location 0x0000 and 0x0001. The should not be any data where there is some data. I have tried to reduce the I2C clock rate from the default 400kHz to 100kHz and 50kHz, with no effect.

$ sudo i2cdetect -y -r 2
[sudo] password for ubuntu: 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- 0f 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

$ sudo i2cdump -y 2 0x0f 
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 11 00 00 cf 00 00 ba 16 12 11    ......?..?..????
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

My modification to tegra186-quill-common.dtsi

...
	i2c@3180000 {
		status = "okay";
        clock-frequency = <50000>;
    };
...

Any idea of what could be going on? What is necessary for an i2c device to be detect? If a device is detected, does that mean the communication on the i2c bus is valid?

Thanks

Hi, since device on bus can be detected, the connections should have no problem. It seems like device problem, you’d better to ask help from vendor.

If you are trying to use B102 with TX2, I’m afraid you will have to write your own device driver. When I was looking at B102 a few months back it was not supported by Auvidea on TX2.

-albertr