议题申报地址
议题评审时间
- 评审时间:双周的周一下午16点-18点
议题评审订阅
-
订阅:[请申报人订阅hardware-sig用于邮件接收会议通知]
议题基本信息
-
议题名称:通过CPLD来切换I2C通道切换,虚拟I2CMux的功能
-
申报人:王科坤 wangkekun@kunlunit.com
-
申报日期:2026/08/26
-
涉及组件名:hwproxy
-
议题背景: OpenUBMC是否有虚拟I2C通道切换的功能
当前我们在适配硬盘背板+NVME盘,硬件拓扑如下:
I2C11 –> PCA9545 ( chan2 ) –----写CPLD寄存器:值:1 切换---- > NVME0 (VPD地址0xA6)
–----写CPLD寄存器:值:2 切换---- > NVME1 (VPD地址0xA6)
... ....
–----写CPLD寄存器:值:3 切换---- > NVME7 (VPD地址0xA6)
OpenUBMC怎么配置sr文件,我当前参考这样配置不可以
"Smc_BP_Switch": {
"Buses": [
"I2cMux_SMC_PCA1",
"I2cMux_SMC_PCA2",
"I2cMux_SMC_PCA3",
"I2cMux_SMC_PCA4",
"I2cMux_SMC_PCA5",
"I2cMux_SMC_PCA6",
"I2cMux_SMC_PCA7",
"I2cMux_SMC_PCA8"
]
},
手动拼接I2C命令,可以读VPD信息
/data # ./i2ctool64
==============================================================================
i2ctool help
==============================================================================
1 read i2c e.g. i2ctool 1 busid read_len cmd_data_len slave_addr
data1 data2 ...dataN (read_len<=32,cmd_data_len<=6)
2 write i2c e.g. i2ctool 2 busid write_len slave_addr
data1 data2 ...dataN (write_len<=32)
==============================================================================
Uasge:i2ctool <option> <param...>
~ /data # ./i2ctool64 2 11 1 0xE0 0x02; ./i2ctool64 2 11 2 0x66 0x0C 0x02; ./i2ctool64 1 11 32 1 0xA6 0x00
********************************
i2c read data is
********************************
0x01 0x00 0x00 0x00
0x01 0x0f 0x00 0xef
0x01 0x0e 0x19 0xc8
0x4a 0x44 0x20 0x43
0x6c 0x6f 0x75 0x64
0xd8 0x4a 0x36 0x35
0x31 0x31 0x00 0x00
0x00 0x00 0x00 0x00
- 评审点:新增通过CPLD来切换I2C通道切换,虚拟I2CMux的功能
注意: 请在SIG例会前至少提前一周提交此模板,以便社区成员有足够的时间进行评审和准备。
