Hello Experts,
I am working on the i.MX95 platform and using the LPI2C controller in I2C slave mode under Linux.
Currently, the I2C slave address is defined statically in the Device Tree. My requirement is to determine the slave address dynamically based on an external GPIO input (for example, a board ID or address-select GPIO) instead of hardcoding it in the Device Tree.
I would like to know:
- Does the i.MX95 LPI2C hardware support changing the I2C slave address dynamically at runtime?
- Does the NXP BSP/Linux LPI2C slave driver support updating the slave address after boot, or would it require driver modifications?
- Is there any recommended mechanism from the SoC or BSP perspective to select the slave address based on an external GPIO before or during slave registration?
- Are there any reference implementations or examples demonstrating dynamic I2C slave address configuration?
Any guidance or recommended approach would be appreciated.
BR,
Arun Kumar