The Verdin offers some I2C interfaces. The general purpose I2C used by the Verdin and carrier board is I2C_1. So if we will add some other I2C devices used for internal use, such as GPIO expander, INA sensors or SSR we should use the I2C_1?
What about I2C_2_DSI if we don’t use the MIPI-DSI? Are this I2C bus just a generic I2C “reserved” to be used along with the DSI, but we can use it as a generic bus also? Can we connect various I2C/SMBus sensors on this bus?
What if the MIPI-DSI is used? Is this bus still useable for other sensors in parallel to the DSI?
What about I2C_4_CSI if we don’t use the MIPI-CSI? Are this I2C bus just a generic I2C “reserved” to be used along with the up to two CSI’s, but we can use it as a generic bus also? Can we connect various I2C/SMBus sensors on this bus?
What if the MIPI-CSI is used? Is this bus still useable for other sensors in parallel to the CSI?
Looking at the Verdin Carrier Board Design Guide page 12 you’ll see a table that states that the three other I2C interfaces might be used as generic I2C buses. Please note that only I2C_1 is part of the Verdin standard, meaning it is the only one that’s guaranteed to stay put in the entire lineup of Verdin modules.
To maximize your possibilities of upgrading modules in the future you should choose the interfaces that are part of the standard, but if you don’t care about compatibility with other current and future modules, or if you need more interfaces you should be able to use the others as well.
I have not confirmed this but I think you should be able to have different I2C addresses on these buses and communicate with other devices.
thanks! Using the I2C_1, how many devices (I2C and/or SMBUS) could we use? The idea of the second I2C bus is to keep the I2C_1 for the system related devices and the second for application specific devices located on the application board.
Hi @relaxibus !
By default, the I2C protocol can handle up to 128 devices (due to address limit).
Be aware that bus usage is also a concern. If you constantly request/send information to the devices, you may have a poor performance on your bus.
Yea, that’s why we like to have one bus dedicated to the system, and one dedicated for user applications.
here is also something about bus utilization.