Linux上的I2C Mux

时间:2015-05-15 17:21:30

标签: linux i2c

我正在尝试了解如何在I2C Mux PCA9548中解决linux背后的设备问题。 如果拓扑类似于

CPU->I2C_A Controller->PCA9548->Channel 0->RTC
CPU->I2C_A Controller->PCA9548->Channel 1->Temp Sensor

CPU->I2C_B Controller->PCA9548->Channel 0->Voltage Sensor
CPU->I2C_B Controller->PCA9548->Channel 1->Speed Sensor

我想知道这些设备在用户空间中的表示?什么是相关的sysfs条目?

我还想知道pc9548是否是内核中唯一需要的驱动程序,而i2c-devi2c-core是否已经可用?还是需要RTC /传感器的驱动程序?

我试过阅读this,但无法遵循它。

我的要求是从用户空间读取/写入这些设备。我是否必须在启动脚本中实例化设备并为其分配地址?

谢谢, Hemant

1 个答案:

答案 0 :(得分:0)

如果驱动程序有问题,您可以使用i2c-tools在用户空间进行操作。 此外,您还需要为char设备启用内核模块“i2c-dev”。 喜欢/ dev / i2c-0 link here.

必要的驱动程序是i2c-mux,pca954x,我相信你已经拥有了i2c-core。 您还应该描述设备树或其他文件中的所有I2C设备。

如果驱动程序已准备就绪,您可能会在/ dev下看到8个i2c适配器,它们的从属设备位于/ sys / bus / i2c下。