记一次qcom平台i2c和uart配置问题导致的系统重启

   在msm8996平台上,需要配置一路i2c和一路uart。验证过i2c和uart都配置成功了。但整合的时候,发现系统起来复位了。

从复位的情况看,没发现异常。发现不加自己的驱动是不会引起系统复位的,那应该是驱动导致的问题(问题是驱动之前都工作

的好好的,而且这几天都没有修改)。发现单独配置i2c或者uart都不会引起系统复位。打印信息没发现异常,没办法只能一个一

个驱动去排查,最终排查到是触屏驱动引起的(i2c发送数据时崩溃)。从内核的打印信息上,触摸屏还没发完配置系统就复位了。

由于之前的触摸屏工作都正常,所以刚开始不怀疑是触摸屏的问题。那现在的情况的就是i2c和uart的配置共同导致了另一路i2c工

作异常。这种程序耦合性问题最头疼,明明没什么关系,偏偏在某种情况下有了关系,还不好弄明白。查看触摸屏i2c的dts配置,

有一个dma的配置,那会不会dma资源导致的问题呢(从之前的分析看,i2c和uart的共同作用导致的问题)?查看qcom的i2c配置

文档,发现可以配置关闭该路i2c的dma,重新烧写boot.img,系统工作正常。好高兴,因为i2c连接到了gps,uart连接的是一个蓝牙,

之前一直卡在这里(相当于能用蓝牙时,不能用gps,用gps时,不能使用蓝牙,好尴尬)。具有的原因还在提case跟qcom咨询。

 

你可能感兴趣的:(死机)