这里乏善可陈的回应让我怀疑this。
我一直背负着设备(Analog Devices 525x)(来自数据表,第16页):
在内部[EEPROM]写周期内禁用I2C接口。
这似乎不公平,因为“我现在正从沙发上下来,所以不要暂时使用它,因为我让一个人坐在座垫上”。老实说,为什么这是我的问题呢?
无论如何,数据表表明确认轮询就是答案 - 进入Linux内核...... Linux GPIO位是否真的提供了这种机制?基本上发送一个地址写入位置位并继续这样做,直到出现ACK。
我在带有后端移植的GPIO位抨击驱动程序的ARM上使用2.6.14(我认为是2.6.19)。
答案 0 :(得分:1)
它似乎没有现成,但
您可能需要查看具有标志I2C_M_NOSTART的协议修改标志 只有不同,在您的补丁中。 至少有一种方法可以做到这一点(诚然是一种混乱的方式)
我希望你不需要将普通的i2c设备放在同一条总线上。
老实说,硬件供应商总是这样做。只要它成为你的问题,他们就会认为问题“已经解决”了。
我看到很多破碎的I2C,你可以让其他人的生活更美好。
答案 1 :(得分:0)
听起来你需要重写I2C系统的内核驱动程序以允许这个吗?
此外,如何升级内核,看看自2.6.14以来发生了什么,这是一个非常古老的内核版本。