怎样使用smbus的命令发送smc命令字

考虑一种场景若运行openbmc的BMC想监控使用了HW SMC命令的板卡,openbmc这边要怎样通过smbus命令实现发送smc命令至CPLD?
是否发送给CPLD的write_data的内容为:Function+Command+MS+RW+Param, 写入的数据长度固定5个字节?

以如下命令为例的话:

通过smbus发送给cpld的data是否为0x0(1个字节)+0x4(1个字节)+0x0(1个字节)+0x1(1个字节)+0x0(1个字节)呢?

如图为smc的命令字的组成,即Accessor的offset字段,可以参照现有的Accessor配置,使用计算后的命令字进行读写

在板卡的sr中配置类似,再关联到你自己的传感器,告警等中,这个配置周期就会自己周期扫描:
“Scanner_FanPwrSensorStatus”: {
“Chip”: “#/Smc_ExpBoardSMC”,
“Offset”: 12544,
“Size”: 2,
“Mask”: 8,
“Type”: 0,
“Period”: 2000,
“Debounce”: “#/ContBin_FanPwrSensorStatus”,
“Value”: 0
}
或者配置类似,关联到你自己的对象属性中,自己在代码里面处理,这个自己根据需要确定是都周期扫描:
“Accessor_Adc4VccVlot”: {
“Chip”: “#/Smc_ExpBoardSMC”,
“Size”: 2,
“Offset”: 4872,
“Mask”: 65535,
“Type”: 0,
“Value”: 0
}