6515 i2c GPIO口修改
模式是I2C0的只能是一组,不能配两组同一模式的。
我把GPIO87,88配成了nc,只用GPIO124,125那一组
可以改一下速率 还有上拉电阻试一下。
上拉电阻的话,那个板子是别人调好的,所以硬件肯定没问题。速率我从100-400K都试过,都一样。我们是TP的i2c,用的GT868的TP,读出来的TP ID都是错的
你的IIC上有没有挂其它的器件?
应该挂了,但地址不一样应该没问题吧。
我确认了一下,没挂其他器件。太奇怪的问题,而且I2C通讯应该是可以通讯的,因为我改了下I2C地址,直接就返回了ACT ERROR
哪就是你的器件地址错了,或是这个器件的IO电压与你现在的IIC的电平不匹配。
地址错了会返回ACK ERROR,我试过,电平量过都是2.8V
你的TP是不是设置成2.8V的?
最好与TP的模组厂确认一下
TP芯片厂都来看了,电压都是对的。但还是不行。
换了几个版本的15代码,2.3,4.0的,现象都一样
有用示波器看IIC的波形吗?
看过,很标准的波形,如果波形不对,ACK会出错,也会返回ACK ERR的
波形是对的,而返回ACK ERROR,说明是你的TP IC这边有问题。
而不是手机芯片端有问题,叫你们的模组厂拿夹具看看TP吧。
波形是对的,返回也是对的,拿夹具测过TP是正确的,用别人的程序试过板子也是对的。
你碰到鬼了
我也觉得是,全部都是对的,连我们的程序都是用的GT868 原来都正常工作的程序。就是数据错的。原来的板子用的是默认的GPIO做I2C的端口,现在的只是I2C的SCL,SDA换了2个口。你说GPIO不用默认的87,88,是不是只要在GPIO工具中配置一下就行了,其他的全都不用改?还有没有其他漏改的地方
你都能用示波器量到正常的波形了。
哪说明配置是没有错的。
我直接拿一块以前OK的板子,飞线i2c到以前板子的TP芯片上,完全OK 。
见鬼了,现在的TP芯片和以前的一样
将你现在好板上的IC换到你所谓有问题的板上试一下。
换一个CPU试试
这个我觉得是I2C的对应关系搞错了 我们现在也是这样 默认的是另外两个i2c接口 换了现在的这个 TP代码重启 打log发现TP对应的是I2C0,应该对应现在换的这个接口对应的i2c1,不知道什么地方修改这个对应关系
驱动能力有问题?
