Master Write-Read Command 命令详情
更新时间:2025/06/26
在Gitcode上查看源码

修订记录

openUBMC版本号修订日期修订人修订内容
25.062025/06/26pengqiang-gs初稿,新增命令详情

基本信息

功能说明

标准命令,通过 IIC/SMBus 总线访问BMC管理的设备数据。 This command can be used for low-level I2C/SMBus write, read, or write-read accesses to the IPMB or private busses behind a management controller.

权限

BasicSetting

命令信息

请求信息

字节顺序域取值说明
1bus ID:
[7:4] channel number (Ignored when bus type = 1b)
[3:1] bus ID, 0-based (always 000b for public bus [bus type = 0b])
[0] bus type:
 0b = public (e.g. IPMB or PCI Management Bus. The channel number value is used to select the target bus.)
 1b = private bus (The bus ID value is used to select the target bus.)
2[7:1] - Slave Address
[0] - reserved. Write as 0.
3Read count.
Number of bytes to read, 1 based. 0 = no bytes to read. The maximum read count should be at least 34 bytes. This allows the command to be used for an SMBus Block Read. This is required if the command provides access to an SMBus or IPMB. Otherwise, if FRU SEEPROM devices are accessible, at least 31 bytes must be supported. Note that an implementation can support fewer bytes can be supported if none of the devices to be accessed can handle the recommended minimum.
4:NData to write.
This command should support at least 35 bytes of write data. This allows the command to be used for an SMBus Block Write with PEC. Otherwise, if FRU SEEPROM devices are accessible, at least 31 bytes must be supported. Note that an implementation is allowed to support fewer bytes if none of the devices to can handle the recommended minimum.

响应信息

字节顺序域取值说明
1Completion Code
A management controller shall return an error Completion Code if an attempt is made to access an unsupported bus.
generic, plus following command specific codes:
 81h = Lost Arbitration
 82h = Bus Error
 83h = NAK on Write
 84h = Truncated Read
(2:M)Bytes read from specified slave address.
This field will be absent if the read count is 0. The controller terminates the I2C transaction with a STOP condition after reading the requested number of bytes.

命令样例

样例1:通过 IPMB bus1 访问 BMC(IPMB 地址 0x20)

  • 请求:
  • 响应:

返回到索引