SMC、SMBUS常用命令字总结
更新时间: 2025/12/09
在Gitcode上查看源码

查询厂商和版本号:

smc(以BCU为例):

busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_0101 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x00018500 7 其中7为read获取的长度,第一位为type(0为mcu、2为vrd),第三位是厂商(0是安陆,1是GD),五六七为版本号0.02.22

smbus(以Riser为例):

  • 获取版本号:

mdbctl call Chip_MCU1_01010103 bmc.kepler.Chip.BlockIO ComboWriteRead 0 0x20 0x0e 0x0c 0x80 0x00 0x05 0x00 0x00 0x00 0x00 0x00 0x03 0x00 0x00 0x00 0x98 0x21 32 这三位为版本号,其中0x98为crc校验吗,根据配置的adress不同需要重新计算(当前SDI为0x90,riser为0x98)

  • 获取厂商:

mdbctl call Chip_MCU1_01010103 bmc.kepler.Chip.BlockIO ComboWriteRead 0 0x20 0x0e 0x0c 0x80 0x00 0x06 0x00 0x00 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x36 0x21 14 最后一位,1是ST,2是GD

PS:CPLD芯片厂商查询

查之前需要将jtag线路切到对应的值: busctl --user set-property bmc.kepler.hwproxy /bmc/kepler/Accessor/Accessor_JtagSwitch_010101 bmc.kepler.Accessor Value t _( _ 为对应值)

切到对应路线后查询对应的cpld: busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Cpld/Cpld_1_0101 bmc.kepler.Chip.JtagTarget GetChipIdcode a{ss} 0

对应关系: