工具/软件:
尊敬的 TI 团队:
我们面临 DRA712 I2C 总线卡滞和 I2C 控制器在基于 DRA712 的定制电路板上超时。
系统运行的是 Yocto/Linux。 内核版本 4.19.73。
Linux 内核日志=“OMAP-Li2c 48070000.i2c:控制器超时“

如上面的部分方框图所示、同一 I2C 总线上连接的其他 2 个芯片为 TI 的 DS90UB954 和 DS90UB953、即 FPDLink-MIPI_CSI SerDeses。
在正常运行期间、两个 Serdes 之间每 20ms 存在一些周期性 I2C 流量。
当 SoC 尝试访问 DS90UB954 时、会出现 SoC I2C 控制器超时。 它只是一个单字节写入操作。 该问题 发生在 SoC 访问总线的约 2%时间。
使用协议分析器、我们发现在问题期间、I2C 总线阻塞约 1 秒。

这会使两个串行器之间的周期性 I2C 通信暂停、从而导致整个系统出现问题。
- 请帮助我们了解当 SoC 尝试访问 I2C 总线时导致该问题的原因。
- 以及可以采取哪些措施来避免该问题。
- 此外、为了减少总线卡住的时间、我们正在考虑将 OMAP-LTIMEOUT 的值(在 Linux 驱动程序 i2c-OMAP-Lc 中)降低到几毫秒。
- 请务必告诉我们进行此更改是否安全。
谢谢。此致、
Anand Mistry


