Linux上的I2C多路复用器

Linux上的I2C多路复用器,linux,i2c,Linux,I2c,我正试图了解如何在linux中解决I2C多路复用器后面的设备,比如PCA9548。 如果拓扑结构类似于 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 C

我正试图了解如何在
linux
中解决
I2C多路复用器
后面的设备,比如
PCA9548
。 如果拓扑结构类似于

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-dev
i2c-core
是否已经可用?还是还需要RTC/传感器的驱动程序

我试过阅读,但没怎么听懂

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

谢谢,
Hemant

如果驱动程序有问题,可以使用i2c工具在用户空间进行操作。 您还需要为char设备启用内核模块“i2c dev”。 类似于/dev/i2c-0

必要的驱动程序是i2c多路复用器,pca954x,我相信你已经有了i2c内核。 您还应该在设备树或其他文件中描述所有I2C设备


如果驱动程序已经准备好,您可能会在/dev下看到8个i2c适配器,它们的备用设备在/sys/bus/i2c下。

感谢您的回复。还有一种与mux驱动程序(/sys/bus/i2c)相关联的新的\u设备/delete\u设备类型的sysf/