I tried to use one camera via CSI on Jetson NANO and I found it was not stable because there are sometimes some data missing during i2c communication.
First I found the problem is related to USB hub(RTS5411). I found that it was not stable via i2c if I didn’t connect any USB device. But If I connected one, it can work. It was a really unusual situation.
Then I check the default clock frequency of i2c was 400k for CAM_I2C and I found the USB hub and CSI used the same bus, like the below figure.
However, I found RTS5411 was connected via SMBus(SMBCL/SMBDA) not i2cbus(SCL/SDA) and the frequency of SMBus was just only supported to 100K. I didn’t know why using SMBus but i2c.
So I think that’s why the i2c data was sometimes missed when I used my cameras via I2C because there is a potential problem if the clock frequency is 400K. I should change it to 100K, and exactly it can work.
Although I hope to enable cameras via fast-speed i2c, it is the hardware limit so I think it cannot ensure the stability of i2c faster than 100k.