Beagle Bone Black的I2C从设备驱动程序

8
我想在Beagle Bone Black上使用I2C总线的从模式。经过搜索,这个问题在随机文章的评论部分被问及,但从未回答是否可能。
在Linux中,使用从模式的I2C似乎并不常见,但我在一个Android版本中找到了这个例子:https://android.googlesource.com/kernel/tegra/+/android-tegra-flounder-3.10-lollipop-release/drivers/i2c/i2c-slave.c以及这个文档:https://www.kernel.org/doc/Documentation/i2c/slave-interface
我正在使用Debian Wheezy发行版,无法找到Android文件中引用的内容或Linux内核文档中引用的i2c-slave-eeprom驱动程序。是不是我使用的内核太旧了?如何生成从模式驱动程序?
1个回答

0

Beaglebone在主线内核中使用的i2c总线驱动程序(i2c-omap.c)仅支持主模式,但您可以使用this patch添加从模式支持。在打补丁后,使用CONFIG_I2C_SLAVE重新构建内核,并将其部署到您的BBB上,您应该能够跟随任何现有的关于Linux中i2c从设备的资源。

有了总线驱动程序的支持,只需要一个后端i2c驱动程序来响应主设备的读写操作。内核文档中关于i2c从设备接口(您已经找到了)描述了您需要在后端驱动程序中实现的回调接口,您还可以查看i2c-slave-eeprom.c驱动程序作为示例。


我不再使用BBB,因此无法验证建议的解决方案是否有效,但它似乎足够详尽,可以帮助某人朝着正确的方向前进。 - cstack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接