Hello, Nvidia team!
Our system consists of several Jetson Nano modules (with L4T 32.7.5). During the initial boot phase, all Jetson Nano modules (masters) connect to the same I2C bus and communicate with another device (slave), from which all Jetson Nano modules read simultaneously. Each Jetson Nano module is a I2C master, which causes I2C errors when accessing the same device (over the same I2C bus), sometimes performing incorrect reads and even incorrect writes (due to I2C collisions), causing everything to malfunction.
On the one hand, we cannot change anything about the device (slave) to which all the Jetson Nano modules are connected; we need to be able to find a solution to the problem by modifying the Jetson Nano modules (masters). On the other hand, it seems that multi-master I2C is not supported for the Jetson Nano. For all these reasons, we don’t know how to solve the problem, and the following questions arise:
- How can we solve the problem? What options do we have?
- We had considered managing the I2C on the Jetson Nano via GPIO. Would that be an option that could solve our problem?
- If using GPIO can solve our problem… what do we have to do to make it work? Would it be possible to enable GPIO use only for the initial startup phase of the device and then change it so it doesn’t use GPIO (since after that initial phase we also use the same I2C but it would then be independent of the rest of the Jetson Nano modules)?
Thank you very much!