i.MX95 LPI2C 上的动态 I2C 从机地址配置各位专家好,
我正在使用i.MX95平台,并在 Linux 下以 I2C 从模式使用 LPI2C 控制器。
目前,I2C 从机地址在设备树中是静态定义的。我的要求是根据外部 GPIO 输入(例如,板 ID 或地址选择 GPIO)动态确定从设备地址,而不是将其硬编码到设备树中。
我想知道:
- i.MX95 LPI2C 硬件是否支持在运行时动态更改 I2C 从机地址?
- Does the NXP 电路板支持包/Linux LPI2C 从设备驱动程序是否支持在启动后更新从设备地址,还是需要修改驱动程序?
- 从 SoC 或 电路板支持包 的角度来看,是否有推荐的机制在从设备注册之前或期间,根据外部 GPIO 选择从设备地址?
- 是否有任何参考实现或示例演示动态 I2C 从机地址配置?
任何指导或建议都将不胜感激。
BR,
阿伦·库马尔
Re: Dynamic I2C Slave Address Configuration on i.MX95 LPI2C你好,
1. 是的,使用 i.MX95 的 LPI2C 模块可以实现。
2. 不,需要修改驱动程序。
当前 NXP 电路板支持包 Linux 驱动程序支持主模式和从模式,但从机地址只需从设备树中读取一次。
3. 修改驱动程序以读取 GPIO 地址并在探测期间更改线路的最佳方法。
https://github.com/nxp-imx/linux-imx/blob/b096ce610e956cc2596006343df8a2a26ed6e019/drivers/i2c/busse...
4. 我们有一个使用 i2c-imx-lpi2c.c 的从属 DTS 示例。驱动程序无法在运行时使用 GPIO 更改地址。您可以点击以下链接查看:
https://github.com/nxp-imx/linux-imx/blob/74521e3f425001c27a54323ee8de4f7c59ee88dc/arch/arm64/boot/d...
顺祝商祺!