问题1:
- 如图一所示,主CPLD挂在I2C上,BMC硬件代理看到就是一个挂在I2C下面的从设备(单个SMC芯片),硬盘的管理通过SMC命令字发到主CPLD,如果要发命令字给CPLD2,我理解要主CPLD做区分;
- 如图二所示,主CPLD与CPLD2都挂在I2C上,BMC硬件代理看到就是两个挂在I2C下面的从设备(两个SMC芯片),给不同的CPLD发命令字,可以通过不同的地址区分;
问题2:
- 可以单独升级其中的一个,通过chip index区分,可以代码看看CPLD热升级
问题3:
- 【下级组件的BOM ID】仅作为标识
- 【单板UID】vendor(00000001)+单板类型(02)+单板编码(xxxxxxxxxx)
问题4: CSR加载
加载顺序和关联方式
root.sr → EXU → BCU/SEU/CLU/PSR → IEU → PCIe
每两份SR之间一定以 Connector 相关联,故一定可以在上一级的SR中找到其连接器。
Connector
加载方式1 : 读取eeprom加载 (需要符合华为天池规范)
加载方式2:预置csr加载
"Connector_EXU_1": {
"Bom": "14100513", -
"Slot": 1, // 槽位
"Position": 1,
"Presence": 1, // 在位信号,通常关联在位寄存器
"Id": "EXU",
"AuxId": "0",
"Buses": [],
"SystemId": 1,
"ManagerId": "1",
"ChassisId": "1",
"SilkText": "",
"IdentifyMode": 2,
"Type": "ExpandBoard"
},
找下一级 Bom_Id_AuxId: 14100513_EXU_0.sr
“IdentifyMode”: 与加载方式相关,3 - - 采用天池方式(读取eeprom),2 – 预置csr加载(拼接文件名)方式加载
soft.sr表示存放软件相关的配置,最终使用是soft.sr+.sr合并之后数据
1 个赞
使用图1的方式进行升级CPLD,但是对BMC而言只是看到一个从设备,这种情况下也可以升级?
当前暂不支持,后续会规划,升级前设置透传开启,通过主CPLD将升级数据发到从CPLD
I2C使用图二的的方式进行链接,JTAG将两个CPLD串联。这种情况下升级是否可行?
可以升级,当前BCU板上面的两个CPLD都是同一个JTAG
图1的链接方式是I2C,但是图1、图2的JTAG链接方式都是一样的。是不是说BMC硬件代理没有找到CPLD2,JTAG就算是联通的也没办法升级。是这个意思吗?
关于CSR加载,我还是有一些疑问。有些 Connector的AuxID与ID是空的。这种情况下,是如何确定下一级的sr文件了
1、与Connector里面配置的“IdentifyMode”相关;
2、IdentifyMode = 3就是直接从eeprom读取uid;
3、IdentifyMode = 2是会通过bios上报的bdf信息去查询网卡的4元组,然后通过VID+DID组合为id,SVID+SDID组合为auxid,可以看看非天池组件加载方式