I2C timeout
当 I2C 传输发生 timeout 时,一般 kernel log 会有类似如下打印:
[48.197718][xxx]i2c i2c-1: addr:0xa,transfer timeout
1、GPIO check 以下几个部分
GPIO 电流驱动能力
GPIO 工作模式是否是 I2C 模式
GPIO 是否有内部上拉电阻
GPIO 默认电平状态
2、排查 slave 顺序
log 中第一个发生 timeout 的 slave
有 power 控制和 reset 控制的 slave
other slave
复现问题后,可以手动将相应外设去掉,确认是哪个外设将 i2c bus 拉住,再与供应商沟通,debug 一下该 IC 状态,理清拉住 i2c bus原因。
全部0条评论
快来发表一下你的评论吧 !