CSR配置字典之VrdPower类
更新时间: 2025/07/22
在Gitcode上查看源码📋 文档信息
| 字段 | 值 |
|---|---|
| 文档标题 | CSR配置指导之VrdPower类 |
| 创建日期 | 2024-01-XX |
| 最后更新 | 2024-01-XX |
| 文档版本 | v1.0 |
| 维护人员 | BMC开发团队 |
| 审核状态 | ✅ 已审核 |
📋 变更历史
| 版本 | 日期 | 变更内容 | 变更人 | 审核人 | 备注 |
|---|---|---|---|---|---|
| v1.0 | 2024-01-XX | 初始版本创建 | 开发团队 | 技术负责人 | 首次发布 |
🎯 类概览
VrdPower 类
| 属性 | 值 |
|---|---|
| 类名称 | VrdPower |
| 功能描述 | BMC固件中用于管理VR电源供电区域的配置类,通过继承VrdChip对象,提供详细的电源供电区域类型、CPU归属和Die区域配置,主要用于新基础板的VRD电源精细化管理 |
| 所属SIG组 | hardware |
| 所属组件 | general_hardware |
| 责任人 | 单板管理组 |
| 最后更新 | 2024-01-XX |
| 状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
@Parent | String | - | String | - | 继承VrdChip对象,指定归属哪个对象。新基础板sr需配置 | 主板VRD电源配置 | "VrdChip_U9" | CSR配置 | 软件 |
SystemId | U8 | - | U8 | - | 系统id | 主板VRD电源配置 | 1 | CSR配置 | 硬件 |
CpuId | U8 | - | U8 | - | cpu index取值范围为0 ~ n | 主板VRD电源配置 | 2 | CSR配置 | 硬件 |
Type | U8 | - | U8 | - | 电源供电区域类型, 0: Core, 1: Uncore, 2: DDr, 3: Nimbus, 4: VDDQ | 主板VRD电源配置 | 0 | CSR配置 | 硬件 |
DieId | U8 | - | U8 | - | 电源供电die区域, 0: NA, 1: TA, 2: NB, 3: TB, 255: 不涉及 | 主板VRD电源配置 | 3 | CSR配置 | 硬件 |
Voltage | Double | - | Double | - | 电源电压,单位 V | 传感器显示和告警 | 1.03 | BMC内部设置 | 软件 |
CurrentAmps | Double | - | Double | - | 电源电流,单位 A | 传感器显示和告警 | 3.25 | BMC内部设置 | 软件 |
TemperatureCelsius | Double | - | Double | - | 电源温度,单位℃ | 传感器显示和告警 | 41 | BMC内部设置 | 软件 |
🔗 动态关联机制
父对象继承
json
{
"@Parent": "VrdChip_U9"
}关联说明:
@Parent: 指定继承的VrdChip对象- 通过父对象继承获取VR芯片管理功能
- 支持多个VrdPower对象关联同一个VrdChip
供电区域类型映射
json
{
"Type": 0, // Core
"DieId": 1 // TA
}类型说明:
- Type 0 (Core): 核心供电区域
- Type 1 (Uncore): 非核心供电区域
- Type 2 (DDR): 内存供电区域
- Type 3 (Nimbus): Nimbus供电区域
- Type 4 (VDDQ): VDDQ供电区域
DieId说明:
- 0: NA(不适用)
- 1: TA(TA区域)
- 2: NB(NB区域)
- 3: TB(TB区域)
- 255: 不涉及
📂 分类标准
软件属性
- @Parent: 父对象继承关系
硬件属性
- SystemId: Host系统编号
- CpuId: CPU物理编号
- Type: 电源供电区域类型
- DieId: 电源供电Die区域
📝 配置示例
基础配置
json
{
"VrdPower_Core": {
"@Parent": "VrdChip_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 0,
"DieId": 1
}
}多供电区域配置
json
{
"VrdPower_Core": {
"@Parent": "VrdChip_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 0,
"DieId": 1
},
"VrdPower_Uncore": {
"@Parent": "VrdChip_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 1,
"DieId": 2
},
"VrdPower_DDR": {
"@Parent": "VrdChip_U10",
"SystemId": 1,
"CpuId": 1,
"Type": 2,
"DieId": 255
}
}双CPU配置
json
{
"VrdPower_CPU1_Core": {
"@Parent": "VrdChip_CPU1_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 0,
"DieId": 1
},
"VrdPower_CPU2_Core": {
"@Parent": "VrdChip_CPU2_U10",
"SystemId": 1,
"CpuId": 2,
"Type": 0,
"DieId": 1
}
}完整层级配置
json
{
"VrdMgmt_1": {
"SystemId": 1,
"CpuId": 1
},
"VrdChip_U9": {
"@Parent": "VrdMgmt_1",
"Name": "VrdChip0"
},
"VrdPower_Core": {
"@Parent": "VrdChip_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 0,
"DieId": 1
},
"VrdPower_Uncore": {
"@Parent": "VrdChip_U9",
"SystemId": 1,
"CpuId": 1,
"Type": 1,
"DieId": 2
}
}🔧 使用指南
配置步骤
- 创建VrdChip对象: 先配置父级VrdChip对象
- 设置继承关系: 配置@Parent属性指向VrdChip对象
- 配置系统信息: 设置SystemId和CpuId
- 配置供电区域: 设置Type和DieId参数
- 验证配置: 确保配置与硬件拓扑匹配
最佳实践
- 新基础板SR必须配置此类
- 按照硬件供电区域划分配置Type
- 根据Die物理位置配置DieId
- 保持配置的层次结构完整性
注意事项
- 仅适用于新基础板配置
- 必须先配置VrdChip父对象
- Type和DieId配置必须与硬件匹配
- 多CPU系统需要正确配置CpuId
故障排除
- 继承失败: 检查@Parent指向的VrdChip对象是否存在
- 供电区域识别错误: 验证Type和DieId配置正确性
- CPU归属错误: 确认CpuId配置与物理CPU匹配
- 系统识别错误: 检查SystemId配置的唯一性