BMC适配SMBus用户手册

概述

本文档介绍MOFFETT AI加速卡上 SMBus规格;SMBus寄存器定义,地址,详细说明;以及获取产品信息前的相应前置操作。BMC适配可参考本文档获取到MOFFETT AI加速卡的产品信息。

SMBus 规格

接口
说明

SMBus(7 bits 地址)

0x58

下图描述了Read Byte Protocol:

下图描述了Wirte Byte Protocol:

SMBus寄存器位宽为8位,下表描述了寄存器基本读取流程(S: Slave, M: Master):

方向
位数
内容

M->S

1

Start

M->S

8

Slave Address + Write

S->M

1

ACK

M->S

8

Register Address

S->M

1

ACK

M->S

1

Start

M->S

8

Slave Address + Read

S->M

1

ACK

S->M

8

Data Byte[7:0]

M->S

1

NACK

M->S

1

Stop

SMBus 寄存器描述

下表详细描述了SMBus寄存器的定义、地址及说明:

寄存器定义
地址
权限
说明
OS下示例

芯片温度

0x4E

RO

[7:0] 芯片温度 数据类型:int8_t 单位:摄氏度

芯片温度:44 摄氏度

板卡温度

0x74

RO

[7:0] 板卡温度 数据类型:int8_t 单位:摄氏度

板卡温度:38 摄氏度

内存温度状态

0x76

RO

[7:0] 内存温度状态 数据类型:uint8_t 0x0 -25摄氏度以下 0x1 -25 ~ 85摄氏度 0x2 85摄氏度以上

内存温度状态::-25 ~ 85摄氏度

Ecc State

0x4F

RO

[7:1] Reserved [0] 标志位 0:disable 1:enable

Ecc State:enable

DDR Ecc Error Counts

0x58-0x5B

RO

数据类型:uint32_t 0x58 表示[7:0] 0x59 表示[15:8] 0x5A 表示[23:16] 0x5B 表示[31:24]

DDR Ecc Error Counts:0

PCIe Error Counts

0x70-0x73

RO

数据类型:uint32_t 0x70 表示[7:0] 0x71 表示[15:8] 0x72 表示[23:16] 0x73 表示[31:24]

PCIe Error Counts:0

Max PCIe Link Speed/Width

0x77

RO

[2:0] - Link Speed 0x0:unknown 0x1:2500MTPS PCIe Gen 1.0 0x2:5000MTPS PCIe Gen 2.0 0x3:8000MTPS PCIe Gen 3.0 0x4:16000MTPS PCIe Gen 4.0 0x5:32000MTPS PCIe Gen 5.0 [6:4] - Link Width 0x0:unknown 0x1:x1 0x2:x2 0x3:x4 0x4:x8 0x5:x16 0x6:x32

Max PCIe Link Speed/Width:PCIe Gen 3.0 x16

Current PCIe Link Speed/Width

0x78

RO

同上Max PCIe Link Speed/Width

Current PCIe Link Speed/Width:PCIe Gen 3.0 x16

Nncore Utilization

0x79

RO

[7:0] Nncore Utilization 数据类型:uint8_t,例如0x10表示16%

Nncore Utilization:0%

DDR Utilization

0x7A

RO

[7:0] DDR Utilization 数据类型:uint8_t

DDR Utilization:4%

芯片功耗

0x75

RO

[7:0] 芯片功耗 数据类型:uint8_t 单位:W

芯片功耗:24 W

芯片电压

0xCC-0xCD

RO

表示芯片电压 数据类型:uint16_t 单位:mV 0xCC 电压低8位 0xCD 电压高8位

芯片电压:980mV

内存电压

0xCC-0xCD

RO

表示内存电压 数据类型:uint16_t 单位:mV 0xCC 电压低8位 0xCD 电压高8位

内存电压:980mV

Product Name

0xCE-0xD8

RO

表示Product Name(“MOFFETT S30”字符对应的ASCII码) 0xCE 表示字符 M 对应的ASCII码 0xCF 表示字符 O 对应的ASCII码 0xD0 表示字符 F 对应的ASCII码 0xD1 表示字符 F 对应的ASCII码 0xD2 表示字符 E 对应的ASCII码 0xD3 表示字符 T 对应的ASCII码 0xD4 表示字符 T 对应的ASCII码 0xD5 表示字符 空格 对应的ASCII码 0xD6 表示字符 S 对应的ASCII码 0xD7 表示字符 3 对应的ASCII码 0xD8 表示字符 0 对应的ASCII码

Product Name:MOFFETT S30

System Bus ID

0xD9

RO

[7:0] 表示System Bus ID

System Bus ID:0x04

Subsystem Vendor ID

0xDA-0xDB

RO

表示SVID: 0x1f36 0xDA: 0x36 0xDB: 0x1f

SVID: 0x1f36

Subsystem ID

0xDC-0xDD

RO

表示SSID: 0x7000 0xDC: 0x00 0xDD: 0x70

SSID: 0x7000

Vendor ID

0xDE-0xDF

RO

表示VID: 0x1f36 0xDE: 0x36 0xDF: 0x1f

VID: 0x1f36

Device ID

0xE0-0xE1

RO

表示DID: 0x7030 0xE0: 0x30 0xE1: 0x70

DID: 0x7030

驱动版本

0xE2-0xE4

RO

0xE2 表示主版本号 0xE3 表示子版本号 0xE4 表示patch号,例如v3.2.1

驱动版本:3.3.1

固件版本

0xE5-0xE7

RO

0xE5 表示主版本号 0xE6 表示子版本号 0xE7 表示patch号,例如v1.0.13

固件版本:1.0.13

硬件版本

0xE8-0xE9

RO

0xE8 表示主版本号 0xE9 表示子版本号

硬件版本:2.0

PN

0xEA-0xF2

RO

表示PN(“00S30-00A”字符对应的ASCII码) 0xEA 表示字符 0 对应的ASCII码 0xEB 表示字符 0 对应的ASCII码 0xEC 表示字符 S 对应的ASCII码 0xED 表示字符 3 对应的ASCII码 0xEE 表示字符 0 对应的ASCII码 0xEF 表示字符 - 对应的ASCII码 0xF0 表示字符 0 对应的ASCII码 0xF1 表示字符 0 对应的ASCII码 0xF2 表示字符 A 对应的ASCII码

PN:00S30-00A

SN

0xF3-0xF9

RO

表示SN,详细说明见下方表格

SN:2023110400010

出厂时间

0xFB-0xFE

RO

0xFB 表示年份高2位 0xFC 表示年份低2位 0xFD 表示月份 0xFE 表示日期

出厂时间:20230212

报错信息状态位

0xFF

RO

[7:1] Reserved [0] 标志位 0:正常 1:异常

报错信息状态位:0

SN号详解如下:

以 SN号 2023110400010 为例

前置操作

S30 板卡内置三个设备,每次读取某个设备产品信息都需要先执行相应的前置操作后,才能读取到对应数据。

读取设备1前置操作:

  1. 0x3f 地址写入 0x01,配置设备ID

  2. 0x40 地址写入 0x01,配置读取操作

  3. 0x45 地址写入 0xb8,配置读取长度

  4. 0x46 地址写入 0x02,触发读取操作

  5. polling 0x46地址的bit0, bit0=1时表示data就绪

  6. 0x46 地址写入0x00

读取设备2前置操作:

  1. 0x3f 地址写入 0x02,配置设备ID

  2. 0x40 地址写入 0x01,配置读取操作

  3. 0x45 地址写入 0xb8,配置读取长度

  4. 0x46 地址写入 0x02,触发读取操作

  5. polling 0x46地址的bit0, bit0=1时表示data就绪

  6. 0x46 地址写入0x00

读取设备3前置操作:

  1. 0x3f 地址写入 0x03,配置设备ID

  2. 0x40 地址写入 0x01,配置读取操作

  3. 0x45 地址写入 0xb8,配置读取长度

  4. 0x46 地址写入 0x02,触发读取操作

  5. polling 0x46地址的bit0, bit0=1时表示data就绪

  6. 0x46 地址写入0x00

最后更新于

这有帮助吗?