Hello JerryChang
I understand that sensor IDs must be unique and sequential across the entire platform configuration, including across multiple deserializers
However, I would like to clarify whether this requirement is directly related to the I2C Virtual Address allocation issue that originally reported
Our hardware configuration consists of:
- Two physical I2C buses, each connected to two MAX96724 deserializers.
- Up to four serializers connected to each MAX96724
- Globally unique sensor IDs (0–15), as observed in our SIPL configuration.
To investigate the issue further, I added debug logging to the serializer driver to inspect the address translation table provided by Camera HAL
Specifically, I retrieved the virtual address corresponding to the serializer’s physical I2C address (0x40) from context.config.addressTranslations
The following virtual addresses were reported for nine active camera modules:
# I2C-2 Bus
GMSL Port 1: 0x0A,
GMSL Port 2: 0x0A, 0x0E,
# I2C-9 Bus
GMSL Port 3: 0x0A, 0x0E,
GMSL Port 4: 0x0A, 0x0E, 0x12, 0x16
These values are taken directly from the address translation entries provided by HAL
What concerns me is that the same virtual addresses appear to be assigned to serializers behind different deserializers, including deserializers sharing the same physical I2C bus
Based on this observation, I would appreciate clarification on the following points:
- Does the sensor ID affect the I2C Virtual Address allocation process, or is the requirement for unique sensor IDs independent of VA allocation?
- Does Camera HAL maintain a shared virtual address reservation pool for all deserializers connected to the same physical I2C adapter, or is the allocation handle independently for each deserializer?
- Is reusing the same virtual address across different deserializers on the same I2C bus expected behavior, perhaps due to link-specific I2C routing, or should these addresses be unique?
My understanding from the Virtual Address Translation documentation is that Camera HAL is responsible for assigning virtual addresses and providing the resulting translation table to the serializer driver.
Therefore, I would like to understand how HAL prevents address conflicts when multiple deserializers share the same physical I2C adapter.
I have also attached our current SIPL JSON configuration file for your reference.
Could you please review the configuration as well and let me know if there are any issues or settings that might affect the I2C Virtual Address allocation behavior?
I would greatly appreciate your assistance in reviewing both the configuration and the observed behavior
Thank you again for you continued support
thor_t5000_sipl_configuration.zip (1.6 KB)