Linux内核中的I2C写确认轮询

时间:2009-07-28 17:52:21

标签: linux arm i2c

  

这里乏善可陈的回应让我怀疑this

我一直背负着设备(Analog Devices 525x)(来自数据表,第16页):

  

在内部[EEPROM]写周期内禁用I2C接口。

这似乎不公平,因为“我现在正从沙发上下来,所以不要暂时使用它,因为我让一个人坐在座垫上”。老实说,为什么这是我的问题呢?

无论如何,数据表表明确认轮询就是答案 - 进入Linux内核...... Linux GPIO位是否真的提供了这种机制?基本上发送一个地址写入位置位并继续这样做,直到出现ACK。

我在带有后端移植的GPIO位抨击驱动程序的ARM上使用2.6.14(我认为是2.6.19)。

2 个答案:

答案 0 :(得分:1)

它似乎没有现成,但

您可能需要查看具有标志I2C_M_NOSTART的协议修改标志 只有不同,在您的补丁中。 至少有一种方法可以做到这一点(诚然是一种混乱的方式)

我希望你不需要将普通的i2c设备放在同一条总线上。

老实说,硬件供应商总是这样做。只要它成为你的问题,他们就会认为问题“已经解决”了。

我看到很多破碎的I2C,你可以让其他人的生活更美好。

答案 1 :(得分:0)

听起来你需要重写I2C系统的内核驱动程序以允许这个吗?

此外,如何升级内核,看看自2.6.14以来发生了什么,这是一个非常古老的内核版本。