【问题标题】:I2C write acknowledge polling in Linux KernelLinux 内核中的 I2C 写确认轮询
【发布时间】:2009-08-29 08:17:24
【问题描述】:

这里平淡无奇的反应让我想知道this

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

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

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

无论如何,数据表表明确认轮询是答案 - 进入 Linux 内核... Linux GPIO bit bashed I2C 驱动程序是否提供了执行此操作的机制? 本质上是发送一个地址设置写入位并继续这样做,直到出现 ACK。

我在 ARM 上使用 2.6.14,带有反向移植的 GPIO bit bashing 驱动程序(我认为是 2.6.19)。

【问题讨论】:

    标签: linux arm i2c


    【解决方案1】:

    看起来不是太现成,但是

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

    为了您,我希望您不需要将普通的 i2c 设备放在同一总线上。

    老实说,硬件供应商一直在做这样的事情。只要问题属于您,他们就会认为问题“已解决”。

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

    【讨论】:

      【解决方案2】:

      听起来您需要重写 I2C 系统的内核驱动程序才能实现这一点?

      另外,如何升级内核,看看自 2.6.14 以来发生了什么,这是一个相当老的内核版本。

      【讨论】:

      • 这是平台附​​带的专有东西;转发所有离散更改将是一项相当大的努力。 2.6.14.++ 行为合理,因此除了此处发布的内容之外没有太多激励。
      猜你喜欢
      • 1970-01-01
      • 2019-07-22
      • 2016-04-23
      • 1970-01-01
      • 2017-06-06
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 2022-01-12
      相关资源
      最近更新 更多